[oracle]Oracle 11g 逻辑DG搭建

本文详细介绍了如何在Oracle 11g中搭建逻辑数据守护(Logical Data Guard)。首先检查主库上的不支持表和没有唯一标识符的表,然后在主库和备库上执行一系列SQL命令进行配置,包括设置归档目标,将物理备库转换为逻辑备库,启动逻辑应用等。最后,通过查询状态确认逻辑备库已成功建立并开始同步。
摘要由CSDN通过智能技术生成

前提:

主库执行:

1. 放在Oracle内部schema下的用户表将不会被复制到备库,并且DBA_LOGSTDBY_UNSUPPORTED这里也查询不到

--查询Oracle内部的schema
SELECT OWNER FROM DBA_LOGSTDBY_SKIP WHERE STATEMENT_OPT = 'INTERNAL SCHEMA';


2. 

--查询SQL Apply不支持的表
SELECT DISTINCT OWNER,TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED ORDER BY OWNER,TABLE_NAME;


3.  为了确保SQL Apply能有效应用update的redo数据到备库,建议主库的表都有主键或非空唯一索引

--查询没有唯一逻辑标识符的表
SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_NOT_UNIQUE
   WHERE (OWNER, TABLE_NAME) NOT IN 
   (SELECT DISTINCT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED) 
   AND BAD_COLUMN = 'Y';
如果上面的语句非常慢,建议直接执行:
SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_NOT_UNIQUE
   WHERE  BAD_COLUMN = 'Y';



步骤:

一 、 首先创建好物理备库

参考上一篇Blog:  http://blog.csdn.net/edcvf3/article/details/54288336 

 

二、原物理备库上停止日志应用

SQL>  ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


三、主库上设置支持逻辑备库的操作

1.  更改LOG_ARCHIVE_DEST_1,只归档在线日志,而不归档standby redo

SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/bak2/archivelog/
  VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=r5'  scope=both;


2.  设置LOG_ARCHIVE_DEST_3,此参数仅当主库转换为逻辑备库角色时使用

SQL> alter system set LOG_ARCHIVE_DEST_3='LOCATION=/bak2/arch2/
  VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE)
  DB_UNIQUE_NAME=r5'    scope=both;

SQL> alter system set LOG_ARCHIVE_DEST_STATE_3=ENABLE scope=both;

 

注: 不能共用/bak2/archivelog/这个归档日志目录,应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值