`
liubin2010
  • 浏览: 302870 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Oracle高级复制的同步复制的配置步骤说

阅读更多
以下的文章主要讲述的是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.

    alter system set global_names=true scope=both;

二.在两个数据库上分别创建应用用户CQM

    CREATE USER CQM IDENTIFIED BY CQM DEFAULT TABLESPACE CQM TEMPORARY TABLESPACE TEMP; 
    GRANT DBA TO CQM; 

三.在两个数据库上分别创建复制管事员用户REPADMIN

创建repadmin用户管理复制环境

    CREATE USER REPADMIN IDENTIFIED BY REPADMIN;  
    ALTER USER REPADMIN DEFAULT TABLESPACE USERS;  
    ALTER USER REPADMIN TEMPORARY TABLESPACE TEMP;  
    GRANT connect, resource TO REPADMIN;  

授予repadmin用户权限可以管理当前站点中任何主体组

    EXECUTE dbms_repcat_admin.grant_admin_any_schema('REPADMIN'); 

授予repadmin用户权限可以为任何表创建snapshot logs

    GRANT comment any table TO REPADMIN;  
    GRANT lock any table TO REPADMIN;  

指定repadmin用户为propagator,并授予执行任何procedure的权限

    EXECUTE dbms_defer_sys.register_propagator('REPADMIN');  
    GRANT execute any procedure TO REPADMIN;  

四.更改两个数据库的全局名称

    alter database rename global_name to A.TEST.COM.CN; 
    alter database rename global_name to B.TEST.COM.CN; 

A:eread.im.com.cn

B:test.im.com.cn

五.在两个数据库上建立数据库链接

    create public database link test.im.com.cn connect to REPADMIN identified by REPADMIN using 'test'; 
    create public database link eread.im.com.cn connect to REPADMIN identified by REPADMIN using 'eread'; 

六.在两个数据库的应用用户CQM下创建表

在数据库EREAD上用户CQM下:注意,要进行Oracle高级复制的表必须有主键

    CREATE TABLE TEST(ID NUMBER(10),TIMESTAMP DATE DEFAULT sysdate); 
    ALTER TABLE TEST ADD(CONSTRAINT TEST_PK PRIMARY KEY(ID));

在数据库EREAD上用户CQM下:

    CREATE TABLE TEST(ID NUMBER(10),TIMESTAMP DATE DEFAULT sysdate); 
    ALTER TABLE TEST ADD(CONSTRAINT TEST_PK PRIMARY KEY(ID));

七.在主体定义站点开始操作(数据库A:eread)

以REPADMIN登录数据库eread

创建复制组:

    execute dbms_repcat.create_master_repgroup('rep_hh');  
    execute dbms_repcat.create_master_repgroup('repg'); 

在复制组里加入复制对象:

    execute dbms_repcat.create_master_repobject
    (sname=>'cqm',oname=>'test',type=>'table',
    use_existing_object=>true,gname=>'repg');,copy_rows=>false);

对复制对象产生复制支持:

    execute dbms_repcat.generate_replication_support('cqm','test','table');

添加主体复制节点:

    execute dbms_repcat.add_master_database(gname=>'repg',master=>'
    test.im.com.cn',use_existing_objects=>true,
    copy_rows=>false, propagation_mode => 'synchronous'); 

在主体定义站点启动Oracle高级复制:

    execute dbms_repcat.resume_master_activity('repg',true);

八.至此配置完成

测试:

1)模拟小数据量测试:OK

2)模拟大数据量测试:

    CREATE OR REPLACE procedure insert_into_test 
    as 
    i number; 
    m NUMBER; 
    n NUMBER; 
    BEGIN 
    n:=0; 
    FOR i IN 1..10000 LOOP 
    m:=i; 
    INSERT INTO test(id)VALUES (m); 
    nn:=n+1; 
    IF n=1000 THEN 
    COMMIT; 
    n:=0; 
    END IF; 
    END LOOP; 
    COMMIT; 
    END; 
    / 

以上的相关内容就是对Oracle高级复制之同步复制的介绍,望你能有所收获。
分享到:
评论

相关推荐

    Oracle Stream-安装配置

    说到复制数据,你可能会想到oracle的其它一些同样实现数据复制功能的特性,比如说高级复制(Advanced Replication),Dataguard等等。  在9iR2之前高级复制应用比较广泛,高级复制也分两种:多主复制和基于物化视图...

    ORACLE9i_优化设计与系统调整

    §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章...

    经典SQL语句大全

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...

    数据库操作语句大全(sql)

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...

    sql经典语句一部分

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:...

    Toad 使用快速入门

    TOAD 的高级编辑窗口包括众多的特性来提高开发人员编写SQL语句的产品化程度。例如,简单地生成代码模板,在编写SQL前自动发现包的内容和列的名字等等。 SQL编辑器包括一个编辑窗口和运行结果窗口,允许开发人员在...

    asp.net知识库

    通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到...

    JAVA上百实例源码以及开源项目

    笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此...

    JAVA上百实例源码以及开源项目源代码

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

Global site tag (gtag.js) - Google Analytics