开始搭建逻辑备库
逻辑备库是在物理备库上进行配置
停止备库的apply,这个必须先停止,不然build的时候会有问题
在standby库上执行
alter database recover managed standby database cancel;
在primary库服务器上创建在线日志归档路径
mkdir -p lgarchive
修改log_archive_dest_3参数
alter system set log_archive_dest_3='location=/u01/app/oracle/oradata/primary/lgarchive valid_for=(standby_logfiles,standby_role) db_unique_name=primary';
alter system setlog_archive_dest_state_3=enable;
执行build过程
execute dbms_logstdby.build;
在standby库服务器上创建在线日志归档路径
修改log_archive_dest_3参数
alter system set log_archive_dest_3='location=/u01/app/oracle/oradata/standby/lgarchive valid_for=(standby_logfiles,standby_role) db_unique_name=standby';
alter system setlog_archive_dest_state_3=enable;
查看standby库的临时表空间
如果没有必须添加
select * from v$tempfile;
查看一下数据库状态和数据库角色
startup mount force;
将备库转换成逻辑备库,后一个standby是备库名
alter database recover to logical standby standby;
查看数据库状态,mount数据库,查看数据库角色,resetlogs打开数据库
select status from v$instance;
startup mount force;
select database_role from v$database;
alter database open resetlogs;
在查看一下数据库db_name
show parameter db_name
现在备库已经变成一个逻辑备库了,现在我们测试检查一下
在primary库上执行
alter system switch logfile;
查看standby库上归档日志传输是否正常
传输正常,启用实时日志应用
alter database start logical standby apply immediate;
测试数据同步是否正常
在primary上执行,用scott用户
在standby库上执行
数据同步正常!
现在测试切换逻辑备库
先设置primary和standby库的undo_retention参数3600
在primary库上执行
select switchover_status from v$database;
alter database prepare to switchover to logical standby;
select switchover_status from v$database;
在standby库上执行
select switchover_status from v$database;
alter database prepare to switchover to primary;
select switchover_status from v$database;
在看primary库上switchover_status状态
select switchover_status from v$database;
在primary执行
进行主备库切换
alter database commit to switchover to logical standby;
在看standby库switchover_status状态
select switchover_status from v$database;
alter database commit to switchover to primary;
在primary库上执行
alter database start logical standby apply immediate;
切换完毕,测试一下同步数据
在standby库上执行
在primary库上查看
数据同步成功!
在测试一下切换回来
在standby库上执行
select switchover_status from v$database;
alter database prepare to switchover to logical standby;
select switchover_status from v$database;
在primary库上执行
select switchover_status from v$database;
alter database prepare to switchover to primary;
select switchover_status from v$database;
在standby库上执行
select switchover_status from v$database;
alter database commit to switchover to logical standby;
select switchover_status from v$database;
在primary库上执行
select switchover_status from v$database;
alter database commit to switchover to primary;
select switchover_status from v$database;
在standby库上执行,开始实时应用日志
alter database start logical standby apply immediate;
测试一下数据同步
在primary库上执行
在standby库上查看
数据同步成功!
逻辑备库又切换回来,primary库为主库,standby库为备库。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24626757/viewspace-2121289/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24626757/viewspace-2121289/