Oracle 11G 搭建ADG 简化版Lite(笔记整理)

注意事项:
standby监听器必须是静态监听
[oracle@dg2 admin]$ cat listener.ora     #静态监听
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
     (GLOBAL_DBNAME = db11)
     (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db1)
     (SID_NAME = db11)
    )
   )
LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.213)(PORT = 1521))
  )
[oracle@dg1 admin]$ cat tnsnames.ora 
DB11_DT =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.213)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db11)
    )
  )
DB11_DS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.212)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db11)
    )
  )
主库:
alter database add standby logfile group 4   '/u01/oracle/oradata/db11/standby04.log' size 50M;  
*.DB_UNIQUE_NAME='db11_ds'
*.log_archive_dest_1='location=/u01/arch'
*.log_archive_dest_2='SERVICE=db11_dt  compression=enable' ---采用gzip1 压缩日志,解决带宽小问题
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.standby_file_management='AUTO'
*.standby_archive_dest='/u01/rec_arch' 
*.FAL_SERVER='db11_dt'
*.FAL_CLIENT='db11_ds'
/*
log_archive_config='dg_config=(db11_ds,db11_dt)'
log_archive_dest_2='location=/u01/arch VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db11_ds'
log_archive_dest_1='service=db11_dt VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db11_dt'
log_archive_format='%t_%s_%r.arc' 
log_archive_max_processes=2 
db_unique_name=db11_ds
*/
从库:
*.DB_UNIQUE_NAME='db11_dt'
*.log_archive_dest_1='location=/u01/arch'
*.log_archive_dest_2='SERVICE=db11_ds  compression=enable'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='db11_ds'
*.FAL_CLIENT='db11_dt'
*.standby_file_management='AUTO'
*.standby_archive_dest='/u01/rec_arch' 
/*
*.db_unique_name='db11_dt'
*.standby_file_management='AUTO'
*.log_archive_config='dg_config=(db11_ds,db11_dt)'
*.log_archive_dest_2='location=/u01/arch VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db11_dt'
*/
#如果主备库目录不同,还需要添加: 
#*.log_file_name_convert='/u02/oradata/orcl/','/u03/oradata/orcl/' 
#*.db_file_name_convert='/u02/oradata/orcl/','/u03/oradata/orcl/'
**Error 1031 received logging on to the standby 主库 备库密码不一致
rman target /
crosscheck archivelog all;
delete noprompt expired archivelog all;
rman target sys/dsg@db11_ds auxiliary sys/dsg@db11_dt
duplicate target database for standby nofilenamecheck from active database;
sqlplus / as sysdba
alter database open;
  alter database recover managed standby database using current logfile disconnect from session;  
若报错ORA-38500: USING CURRENT LOGFILE option not available without stand
http://liusnowc.blog.163.com/blog/static/35787089201271310111044/
alter database add standby logfile group 4 '/u01/app/oracle/oradata/db11/stredo04.log' size 50m;
注意:
PING[ARC2]: Heartbeat failed to connect to standby 'db11_ds'. Error is 16009.
报上述错误采用dg_config 方式,但其实不影响dg使用
切换:
主库
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
SHUTDOWN IMMEDIATE ;
======
startup ;
alter database recover managed standby database using current logfile disconnect from session;   
备库
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
ALTER DATABASE COMMIT TO SWITCHOVER TO  PHYSICAL  PRIMARY with session shutdown  ; 
  shutdown immediate;
startup;
 
failover:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
alter database recover managed standby database finish force; 
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH SKIP STANDBY LOGFILE;
接下来执行ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
alter database open;

你可能感兴趣的:(Oracle 11G 搭建ADG 简化版Lite(笔记整理))