Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Доброго "что там у вас", коллеги.

Никогда такого не было и вот, опять: надо перенести базу с Oracle 11g
+

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE 11.2.0.4.0 Production"
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

под Windows
+
Windows Server 2012 R2 Standard

на аналогичную версию Oracle
+

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE 11.2.0.4.0 Production"
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

под Linux
+

NAME="Oracle Linux Server"
VERSION="7.7"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.7"
PRETTY_NAME="Oracle Linux Server 7.7"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:7:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.7
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.7


Проблема в следующем: при выполнении в RMAN команды
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK DORECOVER SPFILE


Если просто выполнить команду из RMAN - все проходит "на ура". RMAN создаст по три канала type=DISK для TARGET и AUXILIARY и все сделает как попросили.
Но, если задаться целью урезать нагрузку на сеть, описывая каналы руками
RUN {
    ALLOCATE CHANNEL prm_1 device type=DISK RATE 100M;
    ALLOCATE CHANNEL prm_2 device type=DISK RATE 100M;
    ALLOCATE CHANNEL prm_3 device type=DISK RATE 100M;
    ALLOCATE AUXILIARY CHANNEL stb_1 device type=DISK RATE 100M;
    ALLOCATE AUXILIARY CHANNEL stb_2 device type=DISK RATE 100M;
    ALLOCATE AUXILIARY CHANNEL stb_3 device type=DISK RATE 100M;
    DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK DORECOVER SPFILE
   ...
}

то RMAN валится с ошибкой на дублировании controlfail в скрипте backup as copy current controlfile for standby auxiliary. Первый из трех controlfile's создается "где доктор прописал" в DUPLICATE, а два валятся в '?/dbs' как D:ORACLEORADATAEFIRCONTROL02.CTL и т.д, игнорируя в том числе и указанное явно в SET "DB_FILE_NAME_CONVERT".
Соответственно, база при старте в MOUNT их не находит, "жутко ругается и матерно кроет Голливуд". Поскольку ищет файлы как прописано в SET "CONTROL_FILES".
Без ALLOCATE CHANNEL (и по три, и по одному для TARGET и AUXILIARY) все ОК, конфигурация Data Guard работает, архивлоги передаются и накатываются...
DUPLICATE снимается с экземпляра STANDBY, где новый сервер описан как каскадный.

Где собака порылась?
20 мар 20, 02:20    [22102637]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
xtender
Member

Откуда: Мск
Сообщений: 5362
kva6513,

parameter_value_convert
20 мар 20, 05:09    [22102643]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
xtender
parameter_value_convert

Спасибо, попробую. Хотя и смущает
Note: If DB_FILE_NAME_CONVERT is specified on the DUPLICATE command, then its file name settings override competing settings specified by SPFILE SET.


Прямо сейчас проверить не могу, но проверю обязательно. Но, все равно, даже если поможет - вопрос-то останется. Почему без явного ALLOCATE CHANNEL все работает даже без прописывания имен контрольников в DB_FILE_NAME_CONVERT (посмотрел по сохраненным логам), хватает и кляузы SET CONTROL_FILES? А в случае явной конфигурации каналов - все валится хоть прописывай контрольники в DB_FILE_NAME_CONVERT, хоть не прописывай...
20 мар 20, 12:33    [22102877]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
xtender
Member

Откуда: Мск
Сообщений: 5362
kva6513
DB_FILE_NAME_CONVERT
не имеет отношения к контрольникам. Достаточно по идее set control_files, но ты не показал ничего.
20 мар 20, 12:42    [22102889]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
xtender
но ты не показал ничего.


Мне не жалко, сейчас покажу. Но смысл это делать? Без ALLOCATE CHANNEL оно работает, хотя и ведет себя не как в PFILE.
Там можно каждую пару DB_FILE_NAME_CONVERT прописать, для более лучшей читабельности, отдельной строкой и все будет ОК.
А в команде DUPLICATE - полный конец обеда и индейский дом (который фигвам).
Работать будет только последнее значение SET "DB_FILE_NAME_CONVERT", все предшествующие пойдут по бороде...
И без никаких сообщений об ошибках от RMAN-а.

+
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK DORECOVER SPFILE
    RESET "audit_file_dest"
    RESET "background_dump_dest"
    RESET "diagnostic_dest"
    RESET "core_dump_dest"
    RESET "user_dump_dest"
    RESET "memory_target"
    SET COMPATIBLE='11.2.0'
    SET "AUDIT_TRAIL"="none"
    SET "DIAGNOSTIC_DEST"='/home/oracle'
    SET db_name='efir'
    SET db_unique_name='efir_dr'
    SET disk_asynch_io='TRUE'
    SET filesystemio_options='setall'
    SET SGA_TARGET='64G'
    SET PGA_AGGREGATE_TARGET='32G'
    SET FAL_SERVER='efir'
    SET FAL_CLIENT='efir_dr'
    SET dg_broker_start='TRUE'
    SET log_archive_config='dg_config=(efir,efir_dr)'
    SET log_archive_dest_1='location="/opt/oracle/oradata/EFIR/archivelogs" MANDATORY LGWR SYNC VALID_FOR=(ALL_LOGFILES,ALL_ROLES)'
    SET log_archive_dest_state_1='ENABLE'
    SET "STANDBY_FILE_MANAGEMENT"='AUTO'
    SET "CONTROL_FILES"='/opt/oracle/oradata/EFIR/data01/control01.ctl','/opt/oracle/oradata/EFIR/data02/control02.ctl','/opt/oracle/oradata/EFIR/data03/control03.ctl'
    SET "DB_FILE_NAME_CONVERT"='C:\ORACLE\ORADATA\EFIR\CONTROL01.CTL','/opt/oracle/oradata/EFIR/data01/control01.ctl','D:\ORACLE\ORADATA\EFIR\CONTROL02.CTL','/opt/oracle/oradata/EFIR/data02/control02.ctl','E:\ORACLE\ORADATA\EFIR\CONTROL03.CTL','/opt/oracle/oradata/EFIR/data03/control03.ctl','D:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data01/','F:\ORACLE\ORADATA\EFIR\EFIR_INDX.ORA','/opt/oracle/oradata/EFIR/idx01/EFIR_INDX.ORA','E:\ORACLE\ORADATA\EFIR\MICEX_INDX.ORA','/opt/oracle/oradata/EFIR/idx01/MICEX_INDX.ORA','E:\ORACLE\ORADATA\EFIR\NEWS','/opt/oracle/oradata/EFIR/data02/NEWS','C:\ORACLE\ORADATA\EFIR\TEMP01.DBF','/home/oracle/oradata/EFIR/TEMP01.DBF','C:\ORACLE\ORADATA\EFIR\TEMP02.DBF','/home/oracle/oradata/EFIR/TEMP02.DBF','F:\ORACLE\ORADATA\EFIR\TEMP03.ORA','/home/oracle/oradata/EFIR/TEMP03.ORA','E:\ORACLE\UNDOTBS1.DBF','/opt/oracle/oradata/EFIR/idx01/UNDOTBS1.DBF','F:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data02/','C:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data03/','C:\APP\SQLADMIN\PRODUCT\11.2.0\DBHOME_2\DATABASE\','/opt/oracle/oradata/EFIR/data03/','E:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data03/'
    SET "LOG_FILE_NAME_CONVERT"='E:\ORACLE\','/opt/oracle/oradata/EFIR/idx01/'
;


Сообщение было отредактировано: 23 мар 20, 00:44
20 мар 20, 12:56    [22102893]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Помогло примерно никак. Валится на том же месте, на скрипте
contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/opt/oracle/oradata/EFIR/data01/control01.ctl';
   restore clone controlfile to  '/opt/oracle/oradata/EFIR/data02/control02.ctl' from
 '/opt/oracle/oradata/EFIR/data01/control01.ctl';
   restore clone controlfile to  '/opt/oracle/oradata/EFIR/data03/control03.ctl' from
 '/opt/oracle/oradata/EFIR/data01/control01.ctl';
}

В $ORACLE_HOME/dbs

-rw-r----- 1 oracle oinstall 38M Mar 22 02:51 C:OPTORACLEORADATAEFIRDATA02CONTROL02.CTL
-rw-r----- 1 oracle oinstall 38M Mar 22 02:51 C:OPTORACLEORADATAEFIRDATA03CONTROL03.CTL

После переноса controlfile-ов из DB_FILE_NAME_CONVERT в parameter_value_convert RMAN-скрипт выглядит так
+
RUN {
    ALLOCATE CHANNEL prm_1 device type=DISK RATE 100M;
    ALLOCATE CHANNEL prm_2 device type=DISK RATE 100M;
    ALLOCATE CHANNEL prm_3 device type=DISK RATE 100M;
    ALLOCATE AUXILIARY CHANNEL stb_1 device type=DISK RATE 100M;
    ALLOCATE AUXILIARY CHANNEL stb_2 device type=DISK RATE 100M;
    ALLOCATE AUXILIARY CHANNEL stb_3 device type=DISK RATE 100M;
    DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK DORECOVER SPFILE
        parameter_value_convert (
            'C:\ORACLE\ORADATA\EFIR\CONTROL01.CTL','/opt/oracle/oradata/EFIR/data01/control01.ctl','D:\ORACLE\ORADATA\EFIR\CONTROL02.CTL','/opt/oracle/oradata/EFIR/data02/control02.ctl','E:\ORACLE\ORADATA\EFIR\CONTROL03.CTL','/opt/oracle/oradata/EFIR/data03/control03.ctl'
        )
        RESET "audit_file_dest"
        RESET "background_dump_dest"
        RESET "diagnostic_dest"
        RESET "core_dump_dest"
        RESET "user_dump_dest"
        RESET "memory_target"
        SET COMPATIBLE='11.2.0'
        SET "AUDIT_TRAIL"="none"
        SET "DIAGNOSTIC_DEST"='/home/oracle'
        SET db_name='efir'
        SET db_unique_name='efir_dr'
        SET disk_asynch_io='TRUE'
        SET filesystemio_options='setall'
        SET SGA_TARGET='64G'
        SET PGA_AGGREGATE_TARGET='32G'
        SET FAL_SERVER='efir'
        SET FAL_CLIENT='efir_dr'
        SET dg_broker_start='TRUE'
        SET log_archive_config='dg_config=(efir,efir_stb,efir_dr)'
        SET log_archive_dest_1='location="/opt/oracle/oradata/EFIR/archivelogs" MANDATORY LGWR SYNC VALID_FOR=(ALL_LOGFILES,ALL_ROLES)'
        SET log_archive_dest_state_1='ENABLE'
        SET "STANDBY_FILE_MANAGEMENT"='AUTO'
        SET "CONTROL_FILES"='/opt/oracle/oradata/EFIR/data01/control01.ctl','/opt/oracle/oradata/EFIR/data02/control02.ctl','/opt/oracle/oradata/EFIR/data03/control03.ctl'
        SET "DB_FILE_NAME_CONVERT"='D:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data01/','F:\ORACLE\ORADATA\EFIR\EFIR_INDX.ORA','/opt/oracle/oradata/EFIR/idx01/EFIR_INDX.ORA','E:\ORACLE\ORADATA\EFIR\MICEX_INDX.ORA','/opt/oracle/oradata/EFIR/idx01/MICEX_INDX.ORA','E:\ORACLE\ORADATA\EFIR\NEWS','/opt/oracle/oradata/EFIR/data02/NEWS','C:\ORACLE\ORADATA\EFIR\TEMP01.DBF','/home/oracle/oradata/EFIR/TEMP01.DBF','C:\ORACLE\ORADATA\EFIR\TEMP02.DBF','/home/oracle/oradata/EFIR/TEMP02.DBF','F:\ORACLE\ORADATA\EFIR\TEMP03.ORA','/home/oracle/oradata/EFIR/TEMP03.ORA','E:\ORACLE\UNDOTBS1.DBF','/opt/oracle/oradata/EFIR/idx01/UNDOTBS1.DBF','F:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data02/','C:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data03/','C:\APP\SQLADMIN\PRODUCT\11.2.0\DBHOME_2\DATABASE\','/opt/oracle/oradata/EFIR/data03/','E:\ORACLE\ORADATA\EFIR\','/opt/oracle/oradata/EFIR/data03/'
        SET "LOG_FILE_NAME_CONVERT"='E:\ORACLE\','/opt/oracle/oradata/EFIR/idx01/'
    ;
}


Сообщение было отредактировано: 23 мар 20, 00:43
22 мар 20, 10:17    [22103863]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
xtender
Member

Откуда: Мск
Сообщений: 5362
kva6513
В $ORACLE_HOME/dbs

-rw-r----- 1 oracle oinstall 38M Mar 22 02:51 C:OPTORACLEORADATAEFIRDATA02CONTROL02.CTL
-rw-r----- 1 oracle oinstall 38M Mar 22 02:51 C:OPTORACLEORADATAEFIRDATA03CONTROL03.CTL


нигде ошибок со слешами нет? рман на какой стороне запущен? на линуксе или винде?
22 мар 20, 13:40    [22103927]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
xtender
нигде ошибок со слешами нет?

Зуб не дам (мало осталось), но без ALLOCATE CHANNEL работает. Дублирует базу и дальше синхронно катит логи через каскад.

xtender
рман на какой стороне запущен? на линуксе или винде?

На линуксе. Поскольку злые сетевые админы рубят неактивные коннекты, запускается в бэкраунд

nohup rman target sys/******@efir_stb auxiliary sys/******@efir_dr log duplicate_efir.log cmdfile duplicate_efir.rman &

А в duplicate_efir.rman и лежит собственно либо блок RUN{} c ALLOCATE (когда DUPLICATE валится), либо просто DUPLICATE. Впрочем, когда запускал в FOREGROUND - результат был одинаковый. Да, без RUN{} тоже пробовал.

Сообщение было отредактировано: 22 мар 20, 19:46
22 мар 20, 19:43    [22104071]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
xtender
Member

Откуда: Мск
Сообщений: 5362
kva6513,

Ну запусти с debug trace
22 мар 20, 20:36    [22104084]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
xtender
Member

Откуда: Мск
Сообщений: 5362
Но opt oradata наводят на мысли о неправильных слешах
22 мар 20, 20:37    [22104086]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
xtender
Но opt oradata наводят на мысли о неправильных слешах


И кто их (неправильные слэши) правит без ALLOCATE? Сам исходник, во всех вариантах запуска, лежит в локальном файле, где редактируется и копипаститься в запускаемый без редактирования скрипт.

xtender
Ну запусти с debug trace

Мысль интересная. Но не факт, что найду время: с меня жеж работающий сервер хотят. Скорей всего, как те космонавты из анекдота, полетим на Солнце ночью. :) Я то думал, когда тему открывал, что совсем уже отупел и не вижу чего-то совсем явного - благо сценариев DUPLICATE в сети вертеп едучий. И у всех работает...

BTW: Версия Linux (7.7) не может быть причиной? Какая там либа... Все-таки, когда 11g писали, семерки еще не было...
22 мар 20, 23:26    [22104142]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
xtender
Member

Откуда: Мск
Сообщений: 5362
kva6513,

а если сделать
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;

вместо allocate и убрать вообще все convert для контролов и оставить только set control_files= с новыми путями?
23 мар 20, 01:30    [22104174]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Уже

rman target /

RMAN> show all;
...
CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO COMPRESSED BACKUPSET;
23 мар 20, 02:01    [22104181]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Давайте, я попробую еще раз объяснить суть проблемы. Я явно плохо, негодно объясняю. Когда я перестал путаться в сопляхсинтаксисе команды DUPLICATE (что произошло не сразу - раньше обходился CREATE STANDBY CONTROLFILE AS + RMAN бэкапы). Как только RMAN перестал ругаться на синтаксис DUPLICATE - без явного ALLOCATE все поехало. Но отъедало выделенный серверу гиг "полосы" под завязку. На что мне предложили, на всякий случай, урезать RMAN, пока нам не настучали по голове "злые сетевые админы". :) Явно урезать параллелизм через определение по одному каналу для target/auxiliary я пробовал - падает с описанными выше симптомами.
Правда, можно попробовать ALLOCATE CHANNEL без явного указания RATE? Или наоборот, выставить PARALLELISM 1 и забить на RATE?
Как говорил один мой бывший шеф и просто хороший человек:
- Это не программирование, это какое-то шаманство уже...

:)
23 мар 20, 02:29    [22104183]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18271
Я как-то не очень понял
Если не задавать в команде DUPLICATE вообще ничего, относящегося к параметрам, а прописать все это в [s]pfile, тоже не работает?
23 мар 20, 03:03    [22104186]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Вячеслав Любомудров
Если не задавать в команде DUPLICATE вообще ничего

Так - не пробовал. Если не задавать - он потянет весь spfile с исходного сервера, что не нужно. Исходный сервер под Windows, а новый под Linux и там не только разница в путях файловой системы.
23 мар 20, 11:05    [22104289]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
xtender
убрать вообще все convert для контролов и оставить только set control_files= с новыми путями?

Все убирать не пробовал. Сейчас пошарил, какие логи у меня сохранены: из неудавшихся только тот, про который написано в сообщении 22103863. Там ведь какая последовательность (если RMAN не ругнулся на синтаксисе):
- выделяются (явные или дефолтные) дисковые каналы;
- копируется (backup as copy reuse) PWD-файл;
- выполняется alter system set spfile и выполняются команды сперва alter system reset потом alter system set;
- shutdown и startup auxiliary database;
- снова выделяются каналы;
- backup as copy current controlfile for standby auxiliary format и restore clone controlfile to.

Вот на этом месте оно всегда и валится, если задаю явно

ALLOCATE CHANNEL prm_1 device type=DISK RATE 100M;
ALLOCATE CHANNEL prm_2 device type=DISK RATE 100M;
ALLOCATE CHANNEL prm_3 device type=DISK RATE 100M;
ALLOCATE AUXILIARY CHANNEL stb_1 device type=DISK RATE 100M;
ALLOCATE AUXILIARY CHANNEL stb_2 device type=DISK RATE 100M;
ALLOCATE AUXILIARY CHANNEL stb_3 device type=DISK RATE 100M;

Пробовал и по одному каналу назначать и по три, каждый раз картина одинаковая - первый контрольник создается как прописано в SET CONTROL_FILES, а два других отправляются в $ORACLE_HOME/dbs в виде

-rw-r----- 1 oracle oinstall 38M Mar 22 02:51 C:OPTORACLEORADATAEFIRDATA02CONTROL02.CTL
-rw-r----- 1 oracle oinstall 38M Mar 22 02:51 C:OPTORACLEORADATAEFIRDATA03CONTROL03.CTL

и на этом месте RMAN валится с ошибкой

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 03/22/2020 02:51:25
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of sql command on clone_default channel at 03/22/2020 02:51:25
RMAN-11003: failure during parse/execution of SQL statement: alter database mount standby database
ORA-00205: error in identifying control file, check alert log for more info

т.е. до создания файлов тейблспейсов и логов REDO дело просто не дойдет и что там будет с SET DB_FILE_NAME_CONVERT и SET LOG_FILE_NAME_CONVERT - неизвестно.
Кляузы RESET в команду DUPLICATE прописал не сразу, только после того, как увидел, что в созданный на auxiliary SPFILE приехали установки с исходной базы.
23 мар 20, 11:54    [22104351]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18271
kva6513
Вячеслав Любомудров
Если не задавать в команде DUPLICATE вообще ничего

Так - не пробовал. Если не задавать - он потянет весь spfile с исходного сервера, что не нужно. Исходный сервер под Windows, а новый под Linux и там не только разница в путях файловой системы.
Ничего он никуда не потянет
Заранее формируешь [s]pfile и файл паролей и выполняешь просто DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK DORECOVER
24 мар 20, 03:58    [22104851]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18271
Просто есть подозрение, что ручные AUXILIARY каналы открываются раньше, чем реально необходимо и считывают значения до того, как файл параметров сформировался
24 мар 20, 04:01    [22104853]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Вячеслав Любомудров
Заранее формируешь [s]pfile и файл паролей


Так пошлет жеж rman, если auxiliary будет запущено с spfile, ошибку выдаст. Файл паролей - да лежал готовый в ?/dbs. Но rman вот что сделал (после ALLOCATE):

contents of Memory Script:
{
backup as copy reuse
targetfile 'C:\app\sqladmin\product\11.2.0\dbhome_3\DATABASE\PWDefir.ORA' auxiliary format
'/home/oracle/product/11.2.0/dbhome_1/dbs/orapwefir' targetfile
'C:\APP\SQLADMIN\PRODUCT\11.2.0\DBHOME_3\DATABASE\SPFILEEFIR.ORA' auxiliary format
'/home/oracle/product/11.2.0/dbhome_1/dbs/spfileefir.ora' ;
sql clone "alter system set spfile= ''/home/oracle/product/11.2.0/dbhome_1/dbs/spfileefir.ora''";
}
executing Memory Script

Starting backup at 22-MAR-20
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=580 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=5 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=193 device type=DISK
Finished backup at 22-MAR-20

sql statement: alter system set spfile= ''/home/oracle/product/11.2.0/dbhome_1/dbs/spfileefir.ora''
24 мар 20, 13:12    [22105043]     Ответить | Цитировать Сообщить модератору
 Re: rman, allocate channel и duplicate в 11g  [new]
kva6513
Member

Откуда:
Сообщений: 433
Экземпляр auxiliary запускался командой

startup nomount pfile=?/dbs/initefir.ora

В initefir.ora

db_name=efir
db_unique_name=efir_dr
db_file_multiblock_read_count=128
db_writer_processes=2
AUDIT_TRAIL=none
DIAGNOSTIC_DEST=/home/oracle
COMPATIBLE='11.2.0'
SGA_TARGET=64G
PGA_AGGREGATE_TARGET=32G
LOG_BUFFER=104857600
db_cache_size=0
shared_pool_size=0
java_pool_size=0
large_pool_size=0
lock_sga=true
use_large_pages=ONLY
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
UNDO_MANAGEMENT=AUTO
24 мар 20, 13:26    [22105050]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить