说明

Logical standby 数据库是通过Physical standby数据库转换的。
本Logical standby是通过之前创建的Physical standby转换的。
Physical standby搭建可参考下列链接: http://www.cnblogs.com/zhenxing/p/5260693.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:Oracle 11.2.0.4
SID:siebuat


备库:

IP:172.25.21.222
Linux:RHEL6.4
DB:Oracle 11.2.0.4
SID:uatldg

具体步骤

--------------------------------主库--------------------------------

1、创建主库作为逻辑备库时的在线日志归档路径(作为备库时生效)

alter system set log_archive_dest_3='location=/oracle/ldg_archivelog valid_for=(standby_logfiles,standby_role) db_unique_name=siebuat'

--确保存在ldg_archivelog这个目录

2、执行构建LogMiner需要的数据字典生成语句

EXECUTE DBMS_LOGSTDBY.BUILD;
--------------------------------备库--------------------------------

1、停止物理备库的日志应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

2、创建作为逻辑备库时的在线日志归档路径(接受主库传送过来的归档日志)

alter system set log_archive_dest_3='location=/oracle/ldg_archivelog valid_for=(standby_logfiles,standby_role) db_unique_name=uatldg'--主库的归档日志接收路径
alter system set log_archive_dest_1='location=/oracle/archivelog valid_for=(online_logfiles,all_roles) db_unique_name=uatldg'--本地的归档存放路径

3、查看数据当前状态、角色信息

SELECT SWITCHOVER_STATUS,
DATABASE_ROLE,
OPEN_MODE,
PROTECTION_MODE,
PROTECTION_LEVEL
FROM V$DATABASE;

4、切换数据库成逻辑备库并设置新的db_name

alter database recover to logical standby uatldg; --这里我直接设定新db name为uatldg,转换前和主库一样是siebuat

5、重启数据库到mount模式

SHUTDOWN IMMEDIATE;
STARTUP MOUNT; --再次查看数据库状态,已经转换成了逻辑备库
SELECT SWITCHOVER_STATUS,
DATABASE_ROLE,
OPEN_MODE,
PROTECTION_MODE,
PROTECTION_LEVEL
FROM V$DATABASE;
 

6、以resetlogs方式打开数据库

ALTER DATABASE OPEN RESETLOGS;

7、启用实时日志应用

alter database start logical standby apply immediate;--实时
alter database start logical standby apply;--不实时

alter database stop logical standby apply;--取消日志应用

8、测试数据同步是否成功

1、主库scott用户下新建一个表或修改一条记录

2、查看备库是否同步成功,如果同步不成功,需要查看alert日志和相关视图查看是否配置有问题。

9、注意事项

/*

在测试数据是否正常同步时,不要使用数据库的内部账号
逻辑dg在默认情况下不传输系统用户下,用户自行创建的数据
如,在sys用户下创建一个test表,这个表不会同步到逻辑备库
可以使用下列语句查看哪些用户作为内部用户 */
SELECT OWNER FROM DBA_LOGSTDBY_SKIP WHERE STATEMENT_OPT = 'INTERNAL SCHEMA';

10、参考文档

http://docs.oracle.com/cd/B28359_01/server.111/b28294/create_ls.htm#g105412

http://www.cnblogs.com/zhenxing/p/5260693.html

 

Logical standby database 搭建(配置)的更多相关文章

  1. 10g 11g配置Logical Standby

    1.创建一个物理Standby数据库 详细见11g Physical Standby配置 2.Standby数据库取消managed  recovery ALTER DATABASE RECOVER ...

  2. 【原】Configuring Oracle Data Guard In Physical Standby Database

    作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...

  3. [Oracle][DATAGUARD] LOGICAL STANDBY环境里,有些SEQUENCE无法应用,导致Primary和Standby无法同期

    今天遇到了一个客户,问题是这样的,客户构筑了一个RACtoRAC的 LOGICAL STANDBY环境.并用EM在监视同期情况,发现EM页面上55115和55116这两个SEQUENCE一直在应用. ...

  4. Oracle DG故障诊断一则:alter database recover to logical standby new_logical_dbname卡住

    我们在基于物理standby的基础上搭建逻辑备库过程过程中,在运行: alter database recover to logical standby READDB; 卡住不动,而且alert也没有 ...

  5. 聊聊Oracle 11g的Snapshot Standby Database(上)

    Oracle 11g是Data Guard的重要里程碑版本.在11g中,Active DataGuard.Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域 ...

  6. Oracle_Data_Gard Create a physical standby database

    创建之前要对DG的环境有一个总体的规划和了解.                                                   规划 IP 192.168.3.161 192.16 ...

  7. oracle 10g standby database 实时应用 redo 数据

    -------physical standby database: real-time apply 须要配置 standby redo log: 启用实时应用, 日志应用服务会直接应用接收的redo ...

  8. Oracle Dataguard之物理standby的基本配置

    尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...

  9. Samba服务器搭建配置

    本次环境: 服务端-centos6.8-192.168.2.200 客户端1-centos6.8-192.168.2.201 客户端2-Windows7-192.168.2.104 假设条件如下: 使 ...

随机推荐

  1. HDU 3966 Aragorn's Story (树链剖分入门题)

    树上路径区间更新,单点查询. 线段树和树状数组都可以用于本题的维护. 线段树: #include<cstdio> #include<iostream> #include< ...

  2. HDU - 6395 Sequence (分块+快速矩阵幂)

    给定递推式: 求Fn. 分析:给出的公式可以用快速矩阵幂运算得到,但 P/n 整除对于不同的i,值是不同的. 可以根据P将3-n分成若干块,每块中P整除n的值是相同的.分块的时候要注意判断. 将每块的 ...

  3. SpringBoot RedisMQ消息队列与发布订阅

    SpringBoot简单整合RedisMQ消息队列和发布订阅 注:RedisMq消息队列使用redis数组实现,leftpush存一,rightpop取一. 1.application.propert ...

  4. HDU4635

    /* 最终添加完边的图,肯定可以分成两个部X和Y,其中只有X到Y的边没有Y到X的边, 那么要使得边数尽可能的多,则X部肯定是一个完全图,Y部也是, 同时X部中每个点到Y部的每个点都有一条边,假设X部有 ...

  5. 伸展树基础(Splay)

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3948  Solved: 1627 [Submit][St ...

  6. Python 面向对象的三大特性:封装,继承,多态

    # 面向对象的三大特性:封装,继承,多态 # 继承的影响:资源的继承,资源的使用,资源的覆盖,资源的累加 # 资源的继承,在Python中的继承是指能使用父类的资源,而不是说在子类也复制一份父类代码到 ...

  7. Java学习笔记50:JSONObject与JSONArray的使用(转)

    Java不像PHP解析和生产JSON总是一个比较痛苦的过程.但是使用JSONObject和JSONArray会让整个过程相对舒服一些. 需要依赖的包:commons-lang.jar commons- ...

  8. Oozie java.io.IOException: output.properties data exceeds its limit [2048]

    在使用oozie调用sqoop时,报了下边这个错 Launcher AM execution failed java.io.IOException: output.properties data ex ...

  9. JS 闭包应用

    1. 代替全局变量 //闭包应用1:代替全局变量的使用 //多个函数都用到一个变量,通常我们会定义一个全局变量,然后在各函数中应用它,//为了避免使用全局变量,可以通过使用立即执行函数定义临时变量,子 ...

  10. oracle 查询表名、字段名、添加注释

    --查询所有表名 SELECT T.TABLE_NAME FROM USER_TABLES T; --查询所有字段名 SELECT T.COLUMN_NAME FROM USER_COL_COMMEN ...