OracleOracle Dataguard之failover

                  recover database;

       SQL> select switchover_status,database_role from v$database;

壹 、 主库挂掉 

      SQL> select to_char(standby_became_primary_scn) from
v$database;

failover

在failover之后,要是原主库故障解决,能够重复上线,我们可以见见,在startup未来,它的剧中人物依然是Primary,很显明,3个dataguard配置中,是不容许有多少个主库
 
 的。那时,我们得以将这些原主库转换为新主库的备库。首要有二种方法:壹 、依据原先的章程,利用新主库的备份,将以此原主库重新配置为备库。② 、利用flashback。
 三 、利用rman备份。

      SQL> select to_char(standby_became_primary_scn) from
v$database;

Converting a Failed Primary into a
Standby Database Using RMAN Backups

二、 Flash back原主库
 –>> 即node2

贰 、 备库上结束Redo Apply  
–>> node1 为备库

       SQL> select switchover_status,database_role from v$database;

       RMAN > run

      SQL> shutdown immediate

                  restore database;            

                    

       –>> 注意:在举行完上个命令后,switchover_status从not
allowed变为to primary了,即能够切换为主库了。

④ 、 备库发轫switchover

④ 、 现备库上启用Redo Apply

在此处,大家第壹商讨第二种和第两种方法。

Flashing Back a Failed Primary Database
into a Physical Standby Database

      –>> 注意,前提是flashback_on的风味必须开启,alter database
flashback on;

       SWITCHOVER_STATUS DATABASE_ROLE
       ——————– —————-
       TO PRIMARY PHYSICAL STANDBY

               { set until scn <standby_became_primary_scn+1>;
 

       [oracle@node2 ~]$ ps -ef | grep lgwr   –>>
注意:在这些案例中,node2是主库

       SQL> startup mount

       SQL> shutdown immediate

一 、查询原备库转换到主库时的SCN   –>> node1 上操作

       oracle 1375 1 0 14:07 ? 00:00:21 ora_lgwr_victor
       oracle 1668 1654 0 16:08 pts/0 00:00:00 grep lgwr

叁 、 将原主库转换为备库
 –>> node2 上操作

       SQL> alter database open read only;

       SQL> alter database recover managed standby database finish;

三 、 将原主库转换为备库

      SQL> startup mount

       SQL> alter database recover managed standby database using
current logfile disconnect from session;

       SQL> shutdown immediate

那会儿,备库剧中人物早已成功切换为Primary了,failover成功。

 

       SWITCHOVER_STATUS DATABASE_ROLE
       ——————– —————-
       NOT ALLOWED PHYSICAL STANDBY

三、 备库上finish applying all received
redo data
 –>> node1 为备库

一 、查询原备库转换来主库时的SCN

                }

基本OK!

       SQL> alter database recover managed standby database using
current logfile disconnect from session;

       SQL> alter database recover managed standby database cancel;

基本OK!

      SQL> flashback database to scn 901719;  

       SQL> startup

肆 、 现备库上启用Redo Apply
 –>> node2 上操作

Oracle
Dataguard中,剧中人物转换包含两类:Switchover和Failover。上文《Oracle
Dataguard之switchover
》中,大家曾经谈过了switchover,本文将谈谈failover以及如何将failed
primary database转换为physical standby database。

       SQL> alter database convert to physical standby;

      TO_CHAR(STANDBY_BECAME_PRIMARY_SCN)
      —————————————-
      901719

       SQL> alter database convert to physical standby;

       SQL> alter database commit to switchover to primary with
session shutdown;

       [oracle@node2 ~]$ kill -9 1375   –>>
杀掉lgwr过程,实例崩溃,不能够访问

       在这边我们杀掉lgwr进程模拟实例崩溃。

       SQL> alter database open;

贰 、 恢复生机原主库

                                   

       SWITCHOVER_STATUS DATABASE_ROLE
       ——————– —————-
       RESOLVABLE GAP PRIMARY

       SQL> select switchover_status,database_role from v$database;

相关文章