使用Active database duplicate建立dataguard
使用Active database duplicate 建立dataguard
环境:
hostname IP Database DB_UNIQUE_NAME Oracle tns name RAC1 192.168.2.101/3.101 Primary ogg ogg RAC2 192.168.2.201/3.201 Physical standby tgg tgg
1.确认主库为归档模式 ARCHIVELOG LIST 2.开启FORCELOGGING ALTERDATABASE FORCE LOGGING; 3.配置日志传输的认证 本例使用oraclepassword file认证 确保remote_login_passwordfile为EXCLUSIVE后者 SHARED 在主库生成oracle密码文件 orapwdfile=orapwogg password=oracle entries=5 scporapwogg oracle@192.168.2.201:@ORACLE_HOME/dbs/ 在备库更改密码文件名字,注意这个文件名更改步骤跟10G有区别了 mvorapwogg orapwtgg
4.设置主库初始化参数
altersystem set LOG_ARCHIVE_CONFIG='DG_CONFIG=(ogg,tgg)'; altersystem set LOG_ARCHIVE_DEST_1='LOCATION=/u01/arch/ogg/VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ogg'; altersystem set LOG_ARCHIVE_DEST_2='SERVICE=tgg LGWR SYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tgg'; altersystem set LOG_ARCHIVE_DEST_STATE_1=ENABLE; altersystem set FAL_SERVER=ogg; altersystem set DB_FILE_NAME_CONVERT='/u01/oradata/ogg','/u01/oradata/tgg'scope=spfile; altersystem setLOG_FILE_NAME_CONVERT='/u01/oradata/ogg','/u01/oradata/tgg'scope=spfile; 5.添加standby日志 alterdatabase add standby logfile '/u01/oradata/ogg/redostb1.rdo' size50m; alterdatabase add standby logfile '/u01/oradata/ogg/redostb2.rdo' size50m; 6.备库准备目录 mkdir-p /u01/oradata/tgg mkdir-p /u01/arch/tgg mkdir-p /u01/oracle/admin/tgg/adump 7.建立备库临时初始化参数文件 在建立备库时,rman会自动创建spfile vi initcc.ora DB_NAME=ogg /*必须和主库DB_NAME一样*/ DB_UNIQUE_NAME=tgg /*必须不同于主库*/ DB_BLOCK_SIZE=8192 /*同主库*/ 8.设置备库ORACLE_SID环境变量 exportORACLE_SID=tgg 9.设置TNS tnsnames.ora 主备一样 ogg= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521)) ) (CONNECT_DATA= (SERVICE_NAME= ogg) ) ) tgg= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521)) ) (CONNECT_DATA= (SERVICE_NAME= tgg) ) ) 10.设置启动监听 主: SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME= ogg) (ORACLE_HOME= /u01/oracle/product/11.2/db_1) (SID_NAME= ogg) ) ) LISTENER= (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521)) ) (DESCRIPTION= (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.3.101)(PORT = 1521)) ) ) ADR_BASE_LISTENER= /u01/oracle 备: SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME= tgg) (ORACLE_HOME= /u01/oracle/product/11.2/db_1) (SID_NAME= tgg) ) ) LISTENER= (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521)) ) (DESCRIPTION= (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.3.201)(PORT = 1521)) ) ) ADR_BASE_LISTENER= /u01/oracle 11.验证 SQL>conn sys/oracle@tgg as sysdba Connected. SQL>conn sys/oracle@ogg as sysdba Connected. 12.开始duplicateactive dataguard 启动备库到nomount状态 startupnomount pfile=$ORACLE_HOME/dbs/initcc.ora rmantarget sys/oracle@ogg auxiliary sys/oracle@tgg rman脚本 run{ allocatechannel prmy1 type disk; allocatechannel prmy2 type disk; allocateauxiliary channel stby type disk; duplicatetarget database for standby from active database spfile p