oracle 11g active dataguard switch over 對ogg的影響

paulyibinyi發表於2015-10-09
環境 adg+ogg  資料庫版本 11.2.0.4  ogg版本 11.2.1.0.27
1:主庫 配置有ogg,有抽取程式
2: 備庫 adg

目標:
  測試 adg switch over對ogg資料同步有沒影響

測試如下:

1:檢視ogg資料同步

主資料庫插入一條記錄

SQL> conn ggs/ggs

已連線。

SQL> select * from test;

        ID

       200

       100

Insert into test (id) values (300);

Commit;

Ogg接收庫檢視資料同步

SQL> conn ggt/ggt

已連線。

SQL> select * from test;

        ID

       100

       200

       300

可以看到300這條記錄已經同步過來,表示ogg抽取和複製正常

2.停止主資料庫和ogg接收庫的相關程式

      Stop extract exp1

      Stop replicat rep1


 主庫切換成備庫

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

TO STANDBY

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

Database altered.

備庫切換成主庫

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

TO PRIMARY

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

SQL> ALTER DATABASE OPEN;

Database altered.  


繼續處理原來的主庫變成備庫啟用日誌恢復模式 

SQL> startup mount

ORACLE instance started.

Total System Global Area 1.6034E+11 bytes

Fixed Size                  2236968 bytes

Variable Size            2.5770E+10 bytes

Database Buffers         1.3422E+11 bytes

Redo Buffers              352468992 bytes

Database mounted.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

Database altered.

在新的主庫上插入資料

SQL> conn ggs/ggs

SQL> select * from test;

        ID

       200

       300

       100

SQL> insert into test values(400);

已建立 行。

SQL> commit;

提交完成。

SQL> select * from test;

        ID

       200

       300

       100

       400

SQL> conn ggt/ggt

已連線。

SQL> select * from test;

        ID

       100

       300

       200

因為這時ogg沒起來,ogg接收庫,目前看不到新插入的400這條記錄

切換回去(即現在備庫變回原來主庫,主庫變回原來備庫)

主庫變回原來備庫

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

TO STANDBY

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

Database altered.

備庫切換成原來主庫

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

TO PRIMARY

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

SQL> ALTER DATABASE OPEN;

Database altered.  

繼續處理原來的備庫變成備庫啟用日誌恢復模式 

SQL> startup mount

ORACLE instance started.

Total System Global Area 1.6034E+11 bytes

Fixed Size                  2236968 bytes

Variable Size            2.5770E+10 bytes

Database Buffers         1.3422E+11 bytes

Redo Buffers              352468992 bytes

Database mounted.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

Database altered.

啟用ogg

Start extract ext1

Start replicat rep1


原主庫

 SQL> conn ggs/ggs

已連線。

SQL> select * from test;

 

        ID

----------

       200

       300

       100

       400

 

Ogg接收庫

SQL> conn ggt/ggt

已連線。

SQL> select * from test;

 

        ID

----------

       100

       400

       300

       200

可以看到400這條記錄已經同步過來。

所以ogg在dataguard做switch over後,對DML操作是沒有影響的,ogg可以正常接收ogg切換過程中所產生的新資料。

這個ogg版本是11.2.1.0.27,如果高於這個版本,啟抽取程式時可能要加scn相關引數。






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

相關文章