DATA GUARD物理STANDBY的 SWITCHOVER切換[zt]

xsb發表於2007-11-13

Ref:DATA GUARD物理STANDBY的 SWITCHOVER切換

一般SWITCHOVER切換都是計劃中的切換,特點是在切換後,不會丟失任何的資料,而且這個過程是可逆的,整個DATA GUARD環境不會被破壞,原來DATA GUARD環境中的所有物理和邏輯STANDBY都可以繼續工作。

在進行DATA GUARD的物理STANDBY切換前需要注意

[@more@]

物理STANDBYSWITCHOVER切換會把當前的一個物理STANDBY切換為PRIMARY資料庫,而PRIMARY資料庫且變成物理STNADBY資料庫。

一般SWITCHOVER切換都是計劃中的切換,特點是在切換後,不會丟失任何的資料,而且這個過程是可逆的,整個DATA GUARD環境不會被破壞,原來DATA GUARD環境中的所有物理和邏輯STANDBY都可以繼續工作。

在進行DATA GUARD的物理STANDBY切換前需要注意:

確認主庫和從庫間網路連線通暢;

確認沒有活動的會話連線在資料庫中;

PRIMARY資料庫處於開啟的狀態,STANDBY資料庫處於MOUNT狀態;

確保STANDBY資料庫處於ARCHIVELOG模式;

如果設定了REDO應用的延遲,那麼將這個設定去掉;

確保配置了主庫和從庫的初始化引數,使得切換完成後,DATA GUARD機制可以順利的執行。

登陸PRIMARY資料庫:

[oracle@yangtk2 ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Nov 8 02:20:13 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SET PAGES 100 LINES 120
SQL> SET SQLP 'PRI_SQL> '
PRI_SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

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

PRI_SQL> SELECT COUNT(*) FROM V$SESSION WHERE USERNAME IS NOT NULL;

COUNT(*)
----------
1

雖然當前資料庫的狀態是SESSIONS ACTIVE而不是TO STANDBY,但是查詢V$SESSION會話,確認除了當前會話外,其他都是系統會話,那麼就可以在主庫進行SWITCHOVER切換了:

PRI_SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

Database altered.

PRI_SQL> SHUTDOWN IMMEDIATE
ORA-01507: database not mounted


ORACLE instance shut down.
PRI_SQL> STARTUP MOUNT
ORACLE instance started.

Total System Global Area 267825152 bytes
Fixed Size 1299316 bytes
Variable Size 159386764 bytes
Database Buffers 104857600 bytes
Redo Buffers 2281472 bytes
Database mounted.

重啟資料庫,啟動到MOUNT狀態,注意,9i及以前版本需要START NOMOUNT,然後ALTER DATABASE MOUNT STANDBY DATABASE

下面登陸STANDBY資料庫:

[oracle@yangtk ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Sat Oct 20 12:16:01 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SET PAGES 100 LINES 120
SQL> SET SQLP 'STB_SQL> '
STB_SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

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

下面就可以將STANDBY資料庫切換到PRIMARY資料庫:

STB_SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

Database altered.

STB_SQL> ALTER DATABASE OPEN;

Database altered.

STANDBY資料庫已經切換為PRIMARY資料庫,下面只需要啟動將STANDBY開始接收並恢復主庫的日誌就可以了。回到切換前的主庫現在的從庫:

PRI_SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Database altered.

SWITCHOVER切換完成,最後檢查一下歸檔是否可以正常傳遞到STANDBY資料庫即可。

REF: 同一臺伺服器上建立10g DATA GUARD http://yangtingkun.itpub.net/post/468/511708

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12402/viewspace-982310/,如需轉載,請註明出處,否則將追究法律責任。

相關文章