说明

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. js刷新页面 location.reload()

    在javascript编程中,多使用location.reload实现页面刷新. 例子: 代码示例: window.location.href=window.location.href; window ...

  2. 从Redux源码探索最佳实践

    前言 Redux 已经历了几个年头,很多 React 技术栈开发者选用它,我也是其中一员.期间看过数次源码,从最开始为了弄清楚某一部分运行方式来解决一些 Bug,到后来看源码解答我的一些假设性疑问,到 ...

  3. Python3.x:百分比数转小数

    Python3.x:百分比数转小数 def change_percent(num): zfflag = "" if "+" in num: num = num. ...

  4. springmvc 整合微信

    springmvc 整合微信 方式一: ① 配置验证 @RequestMapping(value = "/into", method = RequestMethod.GET, pr ...

  5. 20145235李涛《网络对抗》Exp5 MSF基础应用

    基础问答 用自己的话解释什么是exploit,payload,encode? exploit:相当于搬运工,把攻击代码传送到靶机中. payload:相当于shellcode. encode:相当于包 ...

  6. Ubuntu gcc错误:对'log'等函数未定义的引用

    Ubuntu gcc错误:对'log'等函数未定义的引用 a.c #include <stdio.h>#include <math.h>int main(){    float ...

  7. Mybatis中接口和对应的mapper文件位置配置深入剖析

    首先要说明的问题是,Mybatis中接口和对应的mapper文件不一定要放在同一个包下,放在一起的目的是为了Mybatis进行自动扫描,并且要注意此时java接口的名称和mapper文件的名称要相同, ...

  8. Spring mvc和Servlet

    总结: Servlet:性能最好,处理Http请求的标准. SpringMVC:开发效率高(好多共性的东西都封装好了,是对Servlet的封装,核心的DispatcherServlet最终继承自Htt ...

  9. BZOJ-5424: 烧桥计划(单调队列)

    BZOJ-5424: 烧桥计划(单调队列) 题目链接 题解: 先考虑最暴力的\(dp\):设\(f[k][i]\)表示搞掉第\(1\sim i\)段,烧了\(k\)段的最小花费,设\(calc(x,y ...

  10. CodeChef FORESTGA 二分

    Forest Gathering   Problem code: FORESTGA Tweet     ALL SUBMISSIONS All submissions for this problem ...