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);
已创建 1 行。
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7199859/viewspace-1813599/