ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC环境STANDBY的FAILOVER切换

RAC环境STANDBY的FAILOVER切换

原创 Linux操作系统 作者:season0891 时间:2010-07-16 15:08:26 0 删除 编辑

RAC环境STANDBY的FAILOVER切换

介绍一下RAC环境下STANDBY数据库的FAILOVER切换。

 


 

PRIMARY数据库和STANDBY数据库采用的都是RAC 11.1.0.6 for Solaris10 sparc,共享存储PRIMARY数据库采用VOLUMN CLUSTER MANAGER,而STANDBY数 据库使用ASM。

STANDBY数据库环境已经建立完成,下面 准备实施FAILOVER切换。

FAILOVER切换一般是PRIMARY数据库发生故障后的切换,这种情况是STANDBY数 据库发挥其作用的情况。这种切换发生后,可能会造成数据的丢失。而且这个过程不是可逆的,DATA GUARD环 境会被破坏。

由于PRIMARY数据库已经无法启动,所以FAILOVER切 换所需的条件并不多,只要检查STANDBY是否运行在最大保护模式下,如果是的话,需要将其置为 最大性能模式,否则切换到PRIMARY角色也无法启动。

为了模拟FAILOVER的特点主库的两个实例都通过SHUTDOWN ABORT方式关闭。

SQL> shutdown abort
ORACLE
例程已经关闭。

另外一个实例也关闭:

SQL> shutdown abort
ORACLE
例程已经关闭。

下面登陆STANDBY数据库,检查是否有ARCHIVE GAP存 在:

SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;

未选定行

如果GAP存在,应该到主服务器上尽可能寻找到,这样切换的时候可以少丢失数据。

确认实例2已经关闭,将实例1需求日志恢复操作:

SQL> alter database recover managed standby database cancel;

数据库已更改。

SQL> alter database recover managed standby database finish;

数据库已更改。

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
TO PRIMARY

下面就可以指向切换了:

SQL> alter database commit to switchover to primary;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> select name,
2 open_mode,
3 database_role,
4 guard_status,
5 db_unique_name,
6 primary_db_unique_name
7 from v$database;

NAME OPEN_MODE DATABASE_ROLE GUARD_S DB_UNIQUE_NAME PRIMARY_DB_UNIQUE_NAME
--------- ---------- ---------------- ------- -------------------- -------------------------
RAC11G READ WRITE PRIMARY NONE rac11g_s rac11g

至此切换已经完成,两个 数据库的STANDBY关系已经失去,即使源数据库重新启动,两个数据库也不能恢复STANDBY

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/90618/viewspace-668191/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    790
  • 访问量
    2098102