Chinaunix首页 | 论坛 | 博客
  • 博客访问: 423456
  • 博文数量: 148
  • 博客积分: 3191
  • 博客等级: 中校
  • 技术积分: 1232
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-11 15:25
文章分类

全部博文(148)

文章存档

2011年(148)

我的朋友

分类: Oracle

2011-08-17 14:58:14

Steps to perform switchover with Physical Standby databases:

--------------------------------------------------------------

 

1.  Verify that it is possible to perform a switchover operation. On the primary

    query the switchover_status column of v$database to verify that switchover

    to standby is possible.

 

      SQL> select switchover_status from v$database;

 

      SWITCHOVER_STATUS

      ------------------

      TO STANDBY

 

    In order to perform a switchover all sessions to the database need to be

    disconnected.  In version 901 this was a manual process.  In version 9.2.0

    this process has been automated with the with session shutdown clause

    that has been added to the alter database commit to switchover command. 

    If SWITCHOVER_STATUS returns SESSIONS ACTIVE then you should either

    disconnect all sessions manually or when performing step 2 you should append

    the with session shutdown clause.  For example:

 

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

 

    Note that the clause also works with the switchover to primary command.

 

    The SWITCHOVER_STATUS column of v$database can have the following values:

 

    NOT ALLOWED - Either this is a standby database and the primary database has

    not been switched first, or this is a primary database and there are no standby databases.

 

    SESSIONS ACTIVE - Indicates that there are active SQL sessions attached to

    the primary or standby database that need to be disconnected before the

    switchover operation is permitted.

 

    SWITCHOVER PENDING - This is a standby database and the primary database

    switchover request has been received but not processed.

 

    SWITCHOVER LATENT - The switchover was in pending mode, but did not complete

    and went back to the primary database.

 

    TO PRIMARY - This is a standby database, with no active sessions, that is

    allowed to switch over to a primary database.

 

    TO STANDBY - This is a primary database, with no active sessions, that is

    allowed to switch over to a standby database.

 

    RECOVERY NEEDED - This is a standby database that has not received the

    switchover request.

 

    During normal operations it is acceptable to see the following values for

    SWITCHOVER_STATUS on the primary to be SESSIONS ACTIVE or TO STANDBY. 

    During normal operations on the standby it is acceptable to see the values

    of NOT ALLOWED or SESSIONS ACTIVE.

 

2.  Convert the primary database to the new standby:

 

      SQL> alter database commit to switchover to physical standby;

 

      Database altered.

 

3.  Shutdown the former primary and mount as a standby database:

 

      SQL> shutdown immediate

      ORA-01507: database not mounted

      ORACLE instance shut down.

      SQL> startup nomount

      ORACLE instance started.

 

      Total System Global Area   85020944 bytes

      Fixed Size                   454928 bytes

      Variable Size              71303168 bytes

      Database Buffers           12582912 bytes

      Redo Buffers                 679936 bytes

      SQL> alter database mount standby database;

 

      Database altered.

 

4.  Defer the remote archive destination on the old primary:

 

    SQL> alter system set log_archive_dest_state_2=defer;

 

5.  Verify that the physical standby can be converted to the new primary:

 

      SQL> select switchover_status from v$database;

 

      SWITCHOVER_STATUS

      ------------------

      SWITCHOVER PENDING

 

    Note that if the status returns SESSIONS ACTIVE then you should append the

    with session shutdown clause to the command in step 6.

 

 

6.  Convert the physical standby to the new primary:

 

      SQL> alter database commit to switchover to primary;

 

      Database altered.

 

    If you are on verion 9.0.1 then you should first cancel managed recovery prior

    to issuing the above command.  If you are on 9.2.0 and have started managed

    recovery with the "through all switchover" clause then you should also cancel

    managed recovery before issuing the above command.

 

7.  Shutdown and startup the new primary:

 

      SQL> shutdown immediate

      ORA-01507: database not mounted

 

 

      ORACLE instance shut down.

      SQL> startup

      ORACLE instance started.

 

      Total System Global Area   85020944 bytes

      Fixed Size                   454928 bytes

      Variable Size              71303168 bytes

      Database Buffers           12582912 bytes

      Redo Buffers                 679936 bytes

      Database mounted.

      Database opened.

      SQL>

 

8.  Enable remote archiving on the new primary to the new standby:

 

    SQL> alter system set log_archive_dest_state_2=enable;

 

9.  Start managed recover on the new standby database:

 

      SQL> recover managed standby database disconnect;

      Media recovery complete.

      SQL>

阅读(830) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~