- 浏览: 110917 次
- 性别:
- 来自: 北京
文章分类
最新评论
以下的文章主要讲述的是Oracle高级复制的同步复制,如果你需要在全国的几个相关地方来架设相关服务器(Oracle),其要求是各个相关的DB数据的一致,以下就是具体方案的描述,希望在你今后的学习中会有所帮助。
以下是测试方案中的一种:同步复制
Oracle 高级复制同步复制配置步骤详细说明
[Oracle] Oracle高级复制同步复制配置步骤
首先,数据库要具备Oracle高级复制功能(用system身份登录数据库,查看v$option视图,如果其中Advanced replication为TRUE,则支持高级复制功能;否则不支持)
一.数据库基本情况
数据库A 版本Oracle 10.2.0.1 数据库名sid:eread
数据库B 版本Oracle 10.1.0.3 数据库名sid:test
主体定义站点:A eread
主体站点:B test
注:主体定义站点指配置复制工作的站点
本例涉及的用户.
复制管理员:repadmin
应用用户:cqm
本例Oracle高级复制的对象:reptest 数据表
本例的先决条件:你需要设置好相应的参数,job_queue_processes需要大于0,global_name=true,并且建立相应的db link.
- altersystemsetglobal_names=truescope=both;
二.在两个数据库上分别创建应用用户CQM
- CREATEUSERCQMIDENTIFIEDBYCQMDEFAULTTABLESPACECQMTEMPORARYTABLESPACETEMP;
- GRANTDBATOCQM;
三.在两个数据库上分别创建复制管事员用户REPADMIN
创建repadmin用户管理复制环境
- CREATEUSERREPADMINIDENTIFIEDBYREPADMIN;
- ALTERUSERREPADMINDEFAULTTABLESPACEUSERS;
- ALTERUSERREPADMINTEMPORARYTABLESPACETEMP;
- GRANTconnect,resourceTOREPADMIN;
授予repadmin用户权限可以管理当前站点中任何主体组
- EXECUTEdbms_repcat_admin.grant_admin_any_schema('REPADMIN');
授予repadmin用户权限可以为任何表创建snapshot logs
- GRANTcommentanytableTOREPADMIN;
- GRANTlockanytableTOREPADMIN;
指定repadmin用户为propagator,并授予执行任何procedure的权限
- EXECUTEdbms_defer_sys.register_propagator('REPADMIN');
- GRANTexecuteanyprocedureTOREPADMIN;
四.更改两个数据库的全局名称
- alterdatabaserenameglobal_nametoA.TEST.COM.CN;
- alterdatabaserenameglobal_nametoB.TEST.COM.CN;
A:eread.im.com.cn
B:test.im.com.cn
五.在两个数据库上建立数据库链接
- createpublicdatabaselinktest.im.com.cnconnecttoREPADMINidentifiedbyREPADMINusing'test';
- createpublicdatabaselinkeread.im.com.cnconnecttoREPADMINidentifiedbyREPADMINusing'eread';
六.在两个数据库的应用用户CQM下创建表
在数据库EREAD上用户CQM下:注意,要进行Oracle高级复制的表必须有主键
- CREATETABLETEST(IDNUMBER(10),TIMESTAMPDATEDEFAULTsysdate);
- ALTERTABLETESTADD(CONSTRAINTTEST_PKPRIMARYKEY(ID));
在数据库EREAD上用户CQM下:
- CREATETABLETEST(IDNUMBER(10),TIMESTAMPDATEDEFAULTsysdate);
- ALTERTABLETESTADD(CONSTRAINTTEST_PKPRIMARYKEY(ID));
七.在主体定义站点开始操作(数据库A:eread)
以REPADMIN登录数据库eread
创建复制组:
- executedbms_repcat.create_master_repgroup('rep_hh');
- executedbms_repcat.create_master_repgroup('repg');
在复制组里加入复制对象:
- executedbms_repcat.create_master_repobject (sname=>'cqm',oname=>'test',type=>'table', use_existing_object=>true,gname=>'repg');,copy_rows=>false);
对复制对象产生复制支持:
- executedbms_repcat.generate_replication_support('cqm','test','table');
添加主体复制节点:
- executedbms_repcat.add_master_database(gname=>'repg',master=>' test.im.com.cn',use_existing_objects=>true, copy_rows=>false,propagation_mode=>'synchronous');
在主体定义站点启动Oracle高级复制:
- executedbms_repcat.resume_master_activity('repg',true);
八.至此配置完成
测试:
1)模拟小数据量测试:OK
2)模拟大数据量测试:
- CREATEORREPLACEprocedureinsert_into_test
- as
- inumber;
- mNUMBER;
- nNUMBER;
- BEGIN
- n:=0;
- FORiIN1..10000LOOP
- m:=i;
- INSERTINTOtest(id)VALUES(m);
- nn:=n+1;
- IFn=1000THEN
- COMMIT;
- n:=0;
- ENDIF;
- ENDLOOP;
- COMMIT;
- END;
- /
以上的相关内容就是对Oracle高级复制之同步复制的介绍,望你能有所收获。
发表评论
-
Google公开Megastore论文——解决NoSQL、SQL融合难题
2011-03-02 14:44 635实际上,作为一个建 ... -
开源数据库Sharding技术
2011-03-02 16:14 680内容摘要:Sharding 不是一个某个特定数据库软件附 ... -
Java 开发 2.0: 使用 Hibernate Shards 进行切分
2011-03-02 16:26 612当关系数据库试图在 ... -
可扩展的分布式数据库架构
2011-03-03 14:44 657本文发表在《程序员 ... -
OLTP系统与DSS系统对比
2011-03-03 15:35 611在进行数据库系统的设计时,一个不可忽视的问题是弄清你所 ... -
Oracle高级复制机制
2011-03-10 15:48 631Oracle高级复制即可支 ... -
linux oracle中文乱码问题解决方法
2011-04-11 15:18 669connect system/oracle9i ... -
ubuntu下安装ocfs2
2011-07-12 14:20 933简介 一个集群文件系统能使运行在集群中所有节点并发的通过 ... -
asm下载地址
2011-07-12 16:50 791asm rpm包下载地址http://www.oracle.c ... -
oracle重要初始参数
2011-09-28 17:15 839OPEN_CURSORS session可以打开的游标最大数, ... -
SQLJ是什么?优点?
2011-10-11 09:56 875SQLJ是一种允许把静态的SQL语句以文本形式嵌入Java程序 ... -
共享池的调整与优化(Shared pool Tuning)
2011-10-11 10:53 706共享池(Shared pool)是SGA中最关键的内存片段,共 ... -
使用DBMS_SHARED_POOL包将PL/SQL大对象保存到Shared Pool
2011-10-11 16:32 694当系统在加载PL/SQL大对象时,有可能遭遇由于SharedP ... -
oracle sga相关
2011-10-12 17:08 806oracle主要影响性能的内存: Shared ... -
oracle内存调整相关
2011-10-14 15:52 856db_cache_size与sga_target关系 db_ ... -
oracle索引分类
2011-10-17 13:31 814B-TREE INDEX,B树索引:在创建索引时他是 ... -
修改oracle redo log的大小
2011-10-17 15:53 10481.查看现在的REDO GRO ... -
本地管理表空间
2011-10-18 13:29 727本地管理表空间的好处: 1:快速,并发空间操作 ... -
Oracle表空间命令
2011-10-19 16:55 765创建立表空间 CREATE TABLESPACE ... -
Oracle 索引组织表(IOT)
2011-10-28 09:16 750索引组织表(IOT)有一种类B树的存储组织方法。普通的堆组织表 ...
相关推荐
说到复制数据,你可能会想到oracle的其它一些同样实现数据复制功能的特性,比如说高级复制(Advanced Replication),Dataguard等等。 在9iR2之前高级复制应用比较广泛,高级复制也分两种:多主复制和基于物化视图...
§9.9 Oracle配置 110 §9.9.1 分布式系统 110 §9.9.2 多层系统 110 §9.9.3 Oracle并行服务器 110 §9.10 Oracle数据库增长的规划 111 §9.10.1 不同增长表的配置 111 §9.10.2 对增长表进行规划和分析 112 第10章...
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...
通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到...
TOAD 的高级编辑窗口包括众多的特性来提高开发人员编写SQL语句的产品化程度。例如,简单地生成代码模板,在编写SQL前自动发现包的内容和列的名字等等。 SQL编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在...
笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此...
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...