DBAtlas · Атлас эксплуатации баз данных

Создать физический standby из активной базы данных через RMAN DUPLICATE

OracleRMAN

Команда

# Prerequisites: standby instance in NOMOUNT with a pfile containing only db_name,
# primary password file copied, static listener entries and tnsnames on both sides.
rman target sys@<primary_tns> auxiliary sys@<standby_tns>
RUN {
  ALLOCATE CHANNEL p1 DEVICE TYPE DISK;
  ALLOCATE CHANNEL p2 DEVICE TYPE DISK;
  ALLOCATE AUXILIARY CHANNEL s1 DEVICE TYPE DISK;
  ALLOCATE AUXILIARY CHANNEL s2 DEVICE TYPE DISK;
  DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE
    USING COMPRESSED BACKUPSET SECTION SIZE 32G
    DORECOVER
    SPFILE
      SET db_unique_name='<standby_db_unique_name>'
      SET control_files='+DATA','+FRA'
      SET db_create_file_dest='+DATA'
      SET db_recovery_file_dest='+FRA'
      SET fal_server='<primary_tns>'
      SET log_archive_dest_2=''
      SET dg_broker_start='FALSE'
    NOFILENAMECHECK;
}

Что делает

Копирует datafile primary по сети на сервер standby (без промежуточных файлов бэкапа), создаёт spfile, адаптированный для standby, и применяет доступные archivelog с помощью DORECOVER.

Когда использовать

При создании нового standby Data Guard или пересоздании standby, для которого невозможен reinstate.

Внимание

Создаёт сетевую нагрузку и нагрузку I/O на primary; не запускайте в часы пик или ограничьте число каналов. NOFILENAMECHECK безопасен, только если standby находится на ОТДЕЛЬНОМ сервере; на том же сервере он может перезаписать файлы primary. Добавьте standby redo log (того же размера, что online redo primary, на одну группу больше на каждый thread) до или после, затем настройте брокер.

Открыть в DBAtlas →

Связанные материалы