Oracle 11g DataGuard物理standby配置2

主从切换

分为2种切换:
 
Switchover:
   无损切换,通常是用户手动触发或者有计划的让其自动触发,不会导致数据丢失
 
Failover:
  不可预知的原因导致Primary数据库故障并且短期内不能恢复就需要failover,可能会导
  致数据的丢失.
   在执行failover之前,尽可能将原Primary数据库的可用redo都复制到standby数据库.
  如果要转换角色的standby处于maximum protection模式,需要你首先将其切换到
  Maximum Performance 模式,操作如下:
  SQL> ALTER DATABASE SET STANDBY DATABASE MAXIMUM
       PERFORMANCE;
 
Switchover 切换步骤
 
  primary数据库检查是否支持switchover操作
 
  SQL> select switchover_status from v$database;
  SWITCHOVER_STATUS
  -----------------
  TO  STANDBY
 
  如果该列值为”TO STANDBY”则表示primary数据库支持转换为STANDBY角色
  注意:如果是第一次做Switchover的话,这里应该是SESSIONS ACTIVE状态,不用理会他, 继续下面的操作.
 
  primary数据库启动switchover
 
  先把primary转换为standby的角色
  SQL> alter database commit to switchover to physical standby;
 
  primary数据库重启动到mount
 
  SQL> shutdown immediate;
  SQL> startup mount;
 
  STANDBY数据库上检查是否支持switchover操作
 
  SQL> select switchover_status from v$database;
  SWITCHOVER_STATUS
  -----------------
  TO PRIMARY
 
  值为”TO PRIMARY”,说明支持转换.
  注意:第一次转换这里可能为 not allow,不用理会,继续下面的操作.
 
  STANDBY数据库转换角色到Primary
 
  SQL> alter database commit to switchover to primary;
  SQL> alter database open;  // 如果处于read-only状态,需要先
                               shutdownstartup;
 
  验证数据是否可以同步,按照以前的测试方法进行测试
 
在新的primary数据库上执行
 
SQL> insert into wiliiwin values(4,’wiliansi’);
 
然后在新的STANDBY数据库上执行
 
SQL> select * from wiliiwin;
 
Failover 切换
 
  检查归档文件是否连续
 
  STANDBY数据库上查询V$ARCHIVE_GAP视图,看归档文件是否连续
 
 SQL> SELECT THREAD#,LOW_SEQUENCE#,HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
 
  如果返回的有记录,按照列出的记录号复制对应的归档文件到待转换的STANDBY服务器.
  必须确保所有已生成的归档文件均已存在于STANDBY服务器,不然可能会数据不一致造成
  转换时的报错.文件复制之后,将其加入数据字典
 
  SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE ‘filespecl ;
 
  检查归档文件是否完整
  
  SQL> select distinct thread#,max(sequence#)over(partition by thread#) a from
       v$archived_log;
 
  取得当前数据库各线程已归档文件最大序列,如果primarystandby最大序号不相同, 必须将多出的序号对应到归档文件复制到待转换的STANDBY服务器.要是primary完全不 可用了,此时可能会丢失一些数据.
 
  启动failover
 
  SQL> alter database recover managed standby database finish force;
 
   切换物理STANDBY角色到primary
 
  SQL> alter database commit to switchover to primar;
 
   启动新的primary数据库
 
  SQL> alter database  open;
 
  关于测试大家自己试验下,可以查询、插入、删除等操作应该就说明切换正常了.

你可能感兴趣的:(oracle,dataguard,休闲,物理,standby)