oracle 之dataguard standby 切換

liqilin0429發表於2010-12-07

Dataguard 主庫切換到物理備庫上的步驟
在主庫上檢查是否支援switchover的操作
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
如果該列值為 "TO STANDBY" 或是” SESSIONS ACTIVE” 則表示 primary 資料庫支援轉換為 standby 角色,
在主庫上啟動 switchover
SQL> alter database commit to switchover to physical standby;
或SQL> alter database commit to switchover to physical standby  with session shutown;
資料庫已更改。
在主庫上先關閉。在啟動到MOUNT狀態
SQL> shutdown immediate;
ORA-01507: 未裝載資料庫
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             213912500 bytes
Database Buffers          381681664 bytes
Redo Buffers                7135232 bytes
SQL> alter database mount standby database;
資料庫已更改。
在主庫上啟動接受備庫的資訊
SQL> alter database recover managed standby database disconnect from session;
資料庫已更改。
*************************************************************************
以上所有的操作都是在primary 資料庫
*************************************************************************
在備庫上檢查是否支援 switchover 操作
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
在備庫上檢查是不是 open read only 模式(待轉換的物理 standby 可以處於 mount 模式或 open read only 模式,但不能處於 open read write模式)

SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
轉換角色到primary
SQL> alter database commit to switchover to primary;(切換到主庫的命令)
資料庫已更改。
   以下的操作都是在切換後變成備庫後,然後再備庫上做轉換到主庫的操作。
  SQL> alter database recover managed standby database disconnect from session;(是到管理模式,開啟REDO應用)
  資料庫已更改。
  SQL> select switchover_status from v$database;
  SWITCHOVER_STATUS
  --------------------
  TO PRIMARY
  SQL> alter database commit to switchover to primary;
  資料庫已更改。
  SQL> shutdown immediate
  ORA-01507: 未裝載資料庫
  ORACLE 例程已經關閉。
  SQL> startup
  ORACLE 例程已經啟動。
  Total System Global Area  603979776 bytes
  Fixed Size                  1250380 bytes
  Variable Size             218106804 bytes
  Database Buffers          377487360 bytes
  Redo Buffers                7135232 bytes
  資料庫裝載完畢。
  資料庫已經開啟。

完成轉換,開啟資料庫
SQL> alter database open;
資料庫已更改。
轉換後的主庫關閉資料庫,再次啟動
SQL> shutdown  immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             167775156 bytes
Database Buffers          427819008 bytes
Redo Buffers                7135232 bytes
資料庫裝載完畢。
在轉換好的主庫上手工切換並檢視日誌資訊
SQL> alter system switch logfile;
系統已更改。

SQL> archive log list
資料庫日誌模式            存檔模式
自動存檔             啟用
存檔終點            E:\oracle\product\archive\archive_1
最早的聯機日誌序列     31
下一個存檔日誌序列   33
當前日誌序列           33
*************************************************************************
以上所有的操作都是在standby 資料庫
*************************************************************************

在舊的主庫轉換為備庫上檢視日誌資訊
SQL> archive log list;
資料庫日誌模式            存檔模式
自動存檔             啟用
存檔終點            D:\oracle\product\archive\archive_1
最早的聯機日誌序列     31
下一個存檔日誌序列   0
當前日誌序列           33

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

相關文章