oracle 10g 高级复制练习
2014-02-27 15:18
375 查看
一直没有尝试过高级复制技术,闲来无聊。1 配置:主体定义数据库:test.com主体数据库:back.com 高级复制过程:1.处理数据库参数:(两台数据库都要配置)1.1设置global_name为true。(global_name 由两部分组成。<sid> +<db_domain>.)SQL> show parameter global_nameNAMETYPEVALUE------------------------------------ ----------- --------global_namesbooleanTRUE如果为false 请更改alter system set global_name=true scope=spfile; (写在spfile文件中。)-----------------------------------------------------1.2重新命名global_namealter database rename global_name to <sid>.<domain_name>.如:alter database global_name to test.com;更该完毕。重起两台数据库。(两台数据都需要修改)参数修改完毕。2.开始用户配置:(两台数据库都要相同的配置)2.1先配置复制数据测试用户。用system用户操作:create user test identified by test default tablespace users;grant connect,resource to test;2.2切换到test用户conntest/testcreate table test(id number,name varchar2(20),constraint test_id_pk primary key(id));(主键一定是要的);2.3插入一些测试数据insert into test values(1,’tttttttttt’);insert into test values(2,’wwwwwwwww’);insert into test values(3,’sssss’);commit;2.4用system用户创建public link;在test上创建create public database link “back.com” using ‘backdb’;测试连通性:select * from global_name@ back.comGLOBAL_NAME---------BACK.COM如果不通请检查tnsname.一定要通.不然后面就不用做了.在back上创建create public database link “back.com” using ‘backdb’;测试连通性:select * from global_name@ test.comGLOBAL_NAME---------TEST.COM如果不通请检查tnsname.一定要通.不然后面就不用做了.3.配置复制管理用户.(两台数据库都要相同的配置)3.1conn system/tanfufaSQL>create user repadmin identified by repadmin default tablespace users temporary tablespace temp;User created.SQL>execute dbms_defer_sys.register_propagator('repadmin');PL/SQL procedure successfully completed.SQL>grant execute any procedure to repadmin;Grant succeeded.SQL>execute dbms_repcat_admin.grant_admin_any_repgroup('repadmin');PL/SQL procedure successfully completed.SQL>execute dbms_repcat_admin.grant_admin_any_schema(username => 'repadmin');PL/SQL procedure successfully completed.SQL>grant comment any table to repadmin;Grant succeeded.SQL>grant lock any table to repadmin;Grant succeeded.SQL>grant select any dictionary to repadmin;Grant succeeded.4. 用repadmin用户创建database link. (两台数据库都要相同的配置)在testdb上创建:create database link “back.com” connect to repadmin identified by repadmin.测试连通性:select * from global_name@ back.comGLOBAL_NAME---------BACK.COM如果不通请检查tnsname.一定要通.不然后面就不用做了.在backdb上创建:create database link “back.com” connect to repadmin identified by repadmin.测试连通性:select * from global_name@ test.comGLOBAL_NAME---------TEST.COM如果不通请检查tnsname.一定要通.不然后面就不用做了.5.准备工作全部做完了.现在去喝咖啡.6..复制实施进程:(特别注意以下在testdb数据库上操作)6.1 conn repadmin/repadminSQL> execute dbms_repcat.create_master_repgroup('REP_MYTEST');PL/SQL procedure successfully completed.察看复制主体组相关信息:SQL> select gname,master,status from dba_repgroup where gname='REP_MYTEST';GNAMEMASTERSTATUS--------------------------- ----------------------------------------------------REP_MYTESTYQUIESCED为主体组添加复制对象:SQL> execute dbms_repcat.create_master_repobject (sname=>'test',oname=>'test', type=>'TABLE',use_existing_object=>true,gname=>'REP_MYTEST',copy_rows=>true);PL/SQL procedure successfully completed.察看复制主体组中复制对象的相关信息:SQL>select sname,oname,status,gname from dba_repobject where gname='REP_MYTEST';SNAMEONAMESTATUSGNAME----------------------------- ------------------------------ ------------- ------------------------------SCOTTDEPTVALIDREP_MYTEST为复制对象生成复制支持:SQL> execute dbms_repcat.generate_replication_support('test','test','TABLE');PL/SQL procedure successfully completed.再次察看复制主体组和对应的复制对象的相关信息:SQL> select gname,master,status from dba_repgroup where gname='REP_MYTEST';GNAMEMASTERSTATUS--------------------------- ----------------------------------------------------REP_MYTESTYQUIESCEDSQL> select sname,oname,status,gname from dba_repobject where gname='REP_MYTEST';SNAMEONAMESTATUSGNAME----------------------------- ------------------------------ ------------- ------------------------------SCOTTDEPTVALIDREP_MYTESTSCOTTDEPT$RPVALIDREP_MYTESTSCOTTDEPT$RPVALIDREP_MYTEST为复制主体组添加数据库主站点:SQL>execute dbms_repcat.add_master_database(gname=>'REP_MYTEST',master=>'backdb.geong.com',use_existing_objects=>true,copy_rows=>true, propagation_mode => 'synchronous');PL/SQL procedure successfully completed.察看复制站点信息:SQL> select gname,dblink,masterdef,master from dba_repsites where gname='REP_MYTEST';GNAMEDBLINKMASTERDEFMASTER------------ -------------------------------------------------- --------------REP_MYTESTtestdb.geong.comYYREP_MYTESTbackdb.geong.com NY启动复制进程:SQL> execute dbms_repcat.resume_master_activity('REP_MYTEST',true);PL/SQL procedure successfully completed.再次察看复制主体组相关信息:SQL> select gname,master,status from dba_repgroup where gname='REP_MYTEST';GNAMEMASTERSTATUS--------------------------- ----------------------------------------------------REP_MYTESTYNORMAL注意:复制主体组的状态由QUIESCED变为NORMAL。至此,这个复制过程实施完毕。可以进行相关的数据操作进行测试。7.测试:1.在test上删除修改插入数据,查看backdb变化.2.在back上删除修改插入数据,查看testdb变化.8.如果你需要添加表到组里面来请按照入下操作.配置好后。如果需要添加表。执行下命令:exec dbms_repcat.suspend_master_activity('rep_mytest');取消抑制。 execute dbms_repcat.create_master_repobject(sname=>'reptest',oname=>'test1',type=>'TABLE',use_existing_object=>true,gname=>'REP_MYTEST',copy_rows=>true);为组增加新表。execute dbms_repcat.generate_replication_support('reptest','test1','TABLE')增加支持。 execute dbms_repcat.resume_master_activity('REP_MYTEST',true);启动进程
相关文章推荐
- 『安装配置』Oracle 10g高级复制实例(多主体复制)
- Oracle 10g Replication -------多主体复制站点的配置步骤
- oracle 高级复制同步数据
- 利用oracle高级复制功能实现数据同步
- Oracle高级复制的同步复制的配置步骤说明
- oracle三种高级复制技术特点
- oracle 高级复制
- ORA-02143: invalid STORAGE option --DSG oracle 11g 复制数据到oracle 10g
- Oracle高级复制
- oracle高级复制之一—三种复制技术特点
- Oracle DBA数据库高级工程师(下部)SQL语言+性能优化+数据复制
- forall oracle 10g 高级特性
- oracle 高级复制同步表数据
- 用ORACLE的高级复制实现内外网数据同步
- 【ORACLE 高可用】 高级复制的两个配置实例 - 使用高级复制和物化视图
- oracle 9i高级复制
- Oracle的高级复制、流复制、备库的区别
- oracle 高级复制同步数据
- oracle高级复制
- Oracle高级复制机制