使用Active database duplicate建立dataguard(一)

2014-11-24 15:21:32 · 作者: · 浏览: 5
使用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