1. 程式人生 > 實用技巧 >Duplicate搭建physical dataguard實施文件

Duplicate搭建physical dataguard實施文件

該文件是hunter生產環境實施成功版本,按該文件搭建物理DG高可用環境,沒有任何問題!原創文件,禁止轉載!

DG架構圖:

dH*2So0pEgAA&bo=LgIGAQAAAAABAAw!&su=0138

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、配置listenertns:

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_convertlog_file_name_convertstandby_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,使primarystandby能相互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;

}

過程省略,然後把備份檔案SCPstandby相同的目錄下,如果不同會出現ORA-19505

5Rmanduplicate資料庫,恢復備庫

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