Duplicate搭建physical dataguard實施文件
該文件是hunter生產環境實施成功版本,按該文件搭建物理DG高可用環境,沒有任何問題!原創文件,禁止轉載!
DG架構圖:
Standby端:
1、建立相應目錄:
mkdir/opt/oracle/oradata/qg_st-p
mkdir/opt/oracle/admin/qg_st–p
mkdir{a,b,c,u,dp}dump
mkdirpfile
mkdir/opt/oracle/flash_recovery_area/QG_ST–p
2、備庫端的密碼檔案:
拷貝主庫端的密碼檔案,修改SID。
scp[email protected]:/opt/oracle/product/10g/dbs
3、配置listener和tns:
listener
(SID_DESC=
(GLOBAL_DBNAME=qg_st)
(ORACLE_HOME=/opt/oracle/product/10g)
(SID_NAME=qg_st)
)
tns配置(主備庫兩端都要配):
qgresearch=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.102)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=research.country)
)
)
qg_st=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.182)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=qg_st)
)
)
4、準備備庫端引數檔案(由於目錄不一致,需要指定db_file_name_convert、log_file_name_convert和standby_file_management三個初始化引數):
qg_st.__db_cache_size=1509949440
qg_st.__java_pool_size=33554432
qg_st.__large_pool_size=16777216
qg_st.__shared_pool_size=536870912
qg_st.__streams_pool_size=33554432
*.audit_file_dest='/opt/oracle/admin/qg_st/adump'
*.background_dump_dest='/opt/oracle/admin/qg_st/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/opt/oracle/oradata/qg_st/control01.ctl','/opt/oracle/oradata/qg_st/control02.ctl','/opt/oracle/oradata/qg_st/control03.ctl'#RestoreControlfile
*.core_dump_dest='/opt/oracle/admin/qg_st/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_file_name_convert='/u01/oracle/oradata/research/','/opt/oracle/oradata/qg_st/'
*.db_name='research'
*.db_recovery_file_dest='/opt/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=21474836480
*.DB_UNIQUE_NAME='qg_st'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=qg_stXDB)'
*.fal_client='qg_st'
*.fal_server='qgresearch'
*.job_queue_processes=10
*.log_archive_config='DG_CONFIG=(qg_st,research)'
*.log_archive_dest_1='LOCATION=/rman/arch/qg_st/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=qg_st'
*.log_archive_dest_2='SERVICE=qgresearchLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=reserach'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='DEFER'
*.log_file_name_convert='/u01/oracle/oradata/research/','/opt/oracle/oradata/qg_st/'
*.open_cursors=300
*.pga_aggregate_target=1671430144
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=2147483648
*.standby_file_management='AUTO'
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/opt/oracle/admin/qg_st/udump'
5、將備庫端啟動到nomount狀態:
startupnomount
Primary端:
1、檢查主庫開啟歸檔和forcelogging
2、配置主庫端的引數檔案
altersystemsetLOG_ARCHIVE_CONFIG='DG_CONFIG=(research,qg_st)';
altersystemsetLOG_ARCHIVE_DEST_1='LOCATION=/rman/archivelog/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=research';
altersystemsetLOG_ARCHIVE_DEST_2='SERVICE=qg_stLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=qg_st';
altersystemsetLOG_ARCHIVE_DEST_STATE_1=ENABLE;
altersystemsetLOG_ARCHIVE_DEST_STATE_2=defer;
altersystemsetFAL_SERVER='qg_st';
altersystemsetFAL_CLIENT='qgresearch';
altersystemsetSTANDBY_FILE_MANAGEMENT='AUTO';
3、配置主庫的TNS,使primary和standby能相互ping通
qgresearch=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.102)(PORT=1521))
)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=research.country)
)
)
qg_st=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.182)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=qg_st)
)
)
4、主庫進行全庫的備份,將備份集拷貝到備庫相同的目錄下
RUN{
allocatechannelc1typedisk;
allocatechannelc2typedisk;
sql'altersystemarchivelogcurrent';
backupcurrentcontrolfileforstandbyformat='/rman/backup/dgbackup_control_%U';
BACKUPFORMAT'/rman/backup/dgbackup_%U_%T'skipinaccessiblefilesperset5DATABASE;
sql'altersystemarchivelogcurrent';
BACKUPFORMAT'/rman/backup/dgbackup_arch_%U_%T'skipinaccessiblefilesperset5ARCHIVELOGALL;
releasechannelc2;
releasechannelc1;
}
過程省略,然後把備份檔案SCP到standby相同的目錄下,如果不同會出現ORA-19505
5、Rman下duplicate資料庫,恢復備庫
rmantarget/auxiliarysys/[email protected]_st
duplicatetargetdatabaseforstandbynofilenamecheckdorecover;
selectopen_mode,database_rolefromv$database;
6、建立standbyredo,開啟主庫的日誌傳輸,備庫端接收應用redo.
ALTERDATABASEADDSTANDBYLOGFILEGROUP4('/opt/oracle/oradata/qg_st/redo04.log')size50M;
ALTERDATABASEADDSTANDBYLOGFILEGROUP5('/opt/oracle/oradata/qg_st/redo05.log')size50M;
ALTERDATABASEADDSTANDBYLOGFILEGROUP6('/opt/oracle/oradata/qg_st/redo06.log')size50M;
ALTERDATABASEADDSTANDBYLOGFILEGROUP7('/opt/oracle/oradata/qg_st/redo07.log')size50M;
altersystemsetlog_archive_dest_state_2=enable;
alterdatabaserecovermanagedstandbydatabasedisconnectfromsession;
7、檢查DG搭建成功後的狀態
selectmax(sequence#),APPLIEDfromv$archived_log;
注:我們的192.168.1.182上面已經部署了133協議庫的物理備庫,ORACLE_SID也是research,所以在全國庫和協議庫主庫上增加資料檔案時,如果standby_file_management設定為自動,並且沒有配置db_file_name_convert時,則都將備庫端在與主庫相同的目錄/u01/oracle/oradata/research下增加資料檔案,這將產生資料檔名重名的衝突。
轉載於:https://blog.51cto.com/hunter8888/1381418