Logical standby database 搭建(配置)
2016-03-15 17:23
405 查看
说明
Logicalstandby数据库是通过Physicalstandby数据库转换的。 本Logicalstandby是通过之前创建的Physicalstandby转换的。
Physicalstandby搭建可参考下列链接:/article/5802336.html
逻辑DG支持的数据类型
在从物理DG转换为逻辑DG前,先需要确定逻辑DG支持的数据类型和支持哪些DDL操作,可参考下列链接:http://docs.oracle.com/cd/B28359_01/server.111/b28294/data_support.htm#CHDDCCIG
转换主要需要进行的操作
主库 创建主库作为逻辑备库时的在线日志归档路径(作为备库时生效) 执行构建LogMiner需要的数据字典生成语句 备库: 停止逻辑备库的日志应用 创建作为逻辑备库时的在线日志归档路径(接受主库传送过来的归档日志) 切换数据库成逻辑备库并设置新的db_name 重启数据库到mount模式 以resetlogs方式打开数据库 启用实时日志应用
系统说明
主库:
IP:172.25.21.111 Linux:RHEL6.4 DB:Oracle11.2.0.4 SID:siebuat
备库:
IP:172.25.21.222 Linux:RHEL6.4 DB:Oracle11.2.0.4 SID:uatldg
具体步骤
--------------------------------主库--------------------------------
1、创建主库作为逻辑备库时的在线日志归档路径(作为备库时生效)
altersystemsetlog_archive_dest_3='location=/oracle/ldg_archivelogvalid_for=(standby_logfiles,standby_role)db_unique_name=siebuat' --确保存在ldg_archivelog这个目录
2、执行构建LogMiner需要的数据字典生成语句
EXECUTEDBMS_LOGSTDBY.BUILD;
--------------------------------备库--------------------------------
1、停止物理备库的日志应用
ALTERDATABASERECOVERMANAGEDSTANDBYDATABASECANCEL;
2、创建作为逻辑备库时的在线日志归档路径(接受主库传送过来的归档日志)
altersystemsetlog_archive_dest_3='location=/oracle/ldg_archivelogvalid_for=(standby_logfiles,standby_role)db_unique_name=uatldg'--主库的归档日志接收路径 altersystemsetlog_archive_dest_1='location=/oracle/archivelogvalid_for=(online_logfiles,all_roles)db_unique_name=uatldg'--本地的归档存放路径
3、查看数据当前状态、角色信息
SELECTSWITCHOVER_STATUS, DATABASE_ROLE, OPEN_MODE, PROTECTION_MODE, PROTECTION_LEVEL FROMV$DATABASE;
4、切换数据库成逻辑备库并设置新的db_name
alterdatabaserecovertologicalstandbyuatldg;--这里我直接设定新dbname为uatldg,转换前和主库一样是siebuat
5、重启数据库到mount模式
SHUTDOWNIMMEDIATE; STARTUPMOUNT; --再次查看数据库状态,已经转换成了逻辑备库
SELECTSWITCHOVER_STATUS, DATABASE_ROLE, OPEN_MODE, PROTECTION_MODE, PROTECTION_LEVEL FROMV$DATABASE;
6、以resetlogs方式打开数据库
ALTERDATABASEOPENRESETLOGS;
7、启用实时日志应用
alterdatabasestartlogicalstandbyapplyimmediate;--实时
alterdatabasestartlogicalstandbyapply;--不实时
alterdatabasestoplogicalstandbyapply;--取消日志应用
8、测试数据同步是否成功
1、主库scott用户下新建一个表或修改一条记录 2、查看备库是否同步成功,如果同步不成功,需要查看alert日志和相关视图查看是否配置有问题。
9、注意事项
/*
在测试数据是否正常同步时,不要使用数据库的内部账号
逻辑dg在默认情况下不传输系统用户下,用户自行创建的数据
如,在sys用户下创建一个test表,这个表不会同步到逻辑备库
可以使用下列语句查看哪些用户作为内部用户
*/
SELECTOWNERFROMDBA_LOGSTDBY_SKIPWHERESTATEMENT_OPT='INTERNALSCHEMA';
10、参考文档
相关文章推荐
- jQuery 增加 删除 修改select option
- 移动web页面支持弹性滚动的3个方案
- Android中解析XML
- AngularJS入门(一)
- 磁盘空间被占满
- redhat6 yum
- Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
- 杭电1716排列2
- ThinkPHP之add、save无法添加、修改的解决方案
- 招聘
- iOS 工程中 Other Linker Flags
- ABP源码分析二:ABP中配置的注册和初始化
- 一个Trie树的简单实现
- java与tomcat类加载机制
- [Java代码] 算法练习08:Sunday算法
- Activity launchMode
- 为什么打的项目中cookie要加前缀
- Android-UI层的三种框架模式-MVC、MVP、MVVM
- Android高效加载大图、多图解决方案,有效避免程序OOM
- javascript中in语句的使用