8分钟
实验验证
5. 实验验证
1.查看同步状态
- 使用SELECT命令检查主库和备库日志文件的SEQUENCE#序号是否一致,如果一致,说明日志已正确传送到备库。检查applied状态是否为YES,如果是,说明归档日志已在备库中应用。NO为日志没有应用,IN-MEMORY说明在实时应用。
su - oracle
sqlplus / as sysdba
SELECT thread#, sequence#, first_time, next_time, applied FROM v$archived_log ORDER BY first_time;2.创建测试数据
- 在主库创建测试数据,然后在备库执行查询以验证数据是否同步。
CREATE TABLE testtb(id INT);
INSERT INTO testtb VALUES(13579);
COMMIT;- 在备库执行查询。
SELECT * FROM testtb;3.执行主备切换
- 首先配置当前的主库,将当前主库角色改为STANDBY,作为新的备库。
alter database commit to switchover to physical standby;- 将角色改为STANDBY后会关闭数据库实例,使用命令将数据库启动到MOUNT STANDBY的状态。
startup nomount;
alter database mount standby database;- 切换到原来的备库,先将主备之间的同步取消。
alter database recover managed standby database cancel;- 将原来备库的角色更改为PRIMARY,作为新的主库。
alter database commit to switchover to primary;- 将新的主库重启,使用读写模式启动到OPEN状态。
shutdown immediate;
startup;- 切换到新的备库上,使用只读模式将数据库启动到OPEN状态。
alter database open read only;- 在新备库上重新开启主备之间的同步。
alter database recover managed standby database using current logfile disconnect from session;- 主备切换后需要验证同步关系是否成功建立,参考上面验证1和验证2,查看同步状态和插入测试数据进行测试。
学员评价