ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC环境的物理STANDBY的 SWITCHOVER切换

RAC环境的物理STANDBY的 SWITCHOVER切换

原创 Linux操作系统 作者:yangtingkun 时间:2008-01-19 01:49:17 0 删除 编辑

物理STANDBYSWITCHOVER切换会把当前的一个物理STANDBY切换为PRIMARY数据库,而PRIMARY数据库且变成物理STNADBY数据库。

这篇描述RAC环境数据库SWITCHOVER切换到一个单实例数据库。

DATA GUARD物理STANDBY SWITCHOVER切换:http://yangtingkun.itpub.net/post/468/412324

 

 

在进行DATA GUARD的物理STANDBY切换前需要注意:

确认主库和从库间网络连接通畅;

确认没有活动的会话连接在数据库中;

PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态;

确保STANDBY数据库处于ARCHIVELOG模式;

如果设置了REDO应用的延迟,那么将这个设置去掉;

确保配置了主库和从库的初始化参数,使得切换完成后,DATA GUARD机制可以顺利的运行。

而对于RAC环境的切换,还需要注意一点,RAC环境的DATA GUARD切换只能启动一个数据库实例,其他的实例需要关闭:

SQL> CONN SYS/TEST@TESTRAC2 AS SYSDBA
已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;

INSTANCE_NAME
----------------
testrac2

SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE
例程已经关闭。
SQL> CONN SYS/TEST@TESTRAC1 AS SYSDBA
已连接。
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

数据库已更改。

SQL> SHUTDOWN IMMEDIATE
ORA-01507:
未装载数据库


ORACLE
例程已经关闭。
SQL> STARTUP MOUNT
ORACLE
例程已经启动。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             956301448 bytes
Database Buffers         1174405120 bytes
Redo Buffers               14745600 bytes
数据库装载完毕。

下面连接到STANDBY数据库,并切换到为PRIMARY数据库:

SQL> CONN SYS/TEST@TESTRAC_STANDBY AS SYSDBA
已连接。
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

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

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

数据库已更改。

SQL> ALTER DATABASE OPEN;

数据库已更改。

SQL> CONN SYS/TEST@TESTRAC1 AS SYSDBA
已连接到空闲例程。
SQL> STARTUP MOUNT
ORACLE
例程已经启动。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             956301448 bytes
Database Buffers         1174405120 bytes
Redo Buffers               14745600 bytes
数据库装载完毕。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

数据库已更改。

至此,RAC环境的SWITCHOVER切换完成。下面检查一下日志是否已经从目前的主库传播到从库就可以了。

下面简单描述一下,将主库切换为RAC环境的过程:

SQL> CONN SYS/TEST@TESTRAC_STANDBY AS SYSDBA
已连接。
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

数据库已更改。

SQL> SHUTDOWN IMMEDIATE
ORA-01507:
未装载数据库


ORACLE
例程已经关闭。
SQL> STARTUP MOUNT
ORACLE
例程已经启动。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             520093832 bytes
Database Buffers         1610612736 bytes
Redo Buffers               14745600 bytes
数据库装载完毕。
SQL> CONN SYS/TEST@TESTRAC1 AS SYSDBA
已连接。
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

数据库已更改。

SQL> ALTER DATABASE OPEN;

数据库已更改。

SQL> CONN SYS/TEST@TESTRAC2 AS SYSDBA
已连接到空闲例程。
SQL> STARTUP
ORACLE
例程已经启动。

Total System Global Area 2147483648 bytes
Fixed Size                  2031480 bytes
Variable Size             520093832 bytes
Database Buffers         1610612736 bytes
Redo Buffers               14745600 bytes
数据库装载完毕。
数据库已经打开。
SQL> CONN SYS/TEST@TESTRAC_STANDBY AS SYSDBA
已连接。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

数据库已更改。

这个操作只是上面的一个反向操作,就不详细描述了。

RAC环境的切换似乎和普通环境的切换相差不大,但是这次切换花费了将近3天的时间。

只要原因是碰到了下面的几个bug

SWITCHOVER RAC数据库出现ORA-1093http://yangtingkun.itpub.net/post/468/417767

SWITCHOVER RAC数据库出现ORA-600(kcctrdf_2)错误:http://yangtingkun.itpub.net/post/468/418311

ORA-19864错误:http://yangtingkun.itpub.net/post/468/418784

三个bug中的后两个,在metalink上都找不到解决方法,只能通过自己的摸索来解决。看来越复杂的机制相应的问题就越多,而且相关的参考信息也越少。

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

下一篇: ORA-7445(prscoldrp)
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10368712