oracle 高级复制同步表数据
至此,这个复制过程实施完毕。可以进行相关的数据操作进行测试 开始测试:用wcms登陆机器A数据库
插入表test中数据
SQL> insert into test values(4,'aaaaaaaa');
察看结果
SQL> select * from test;
> ---------- --------------------
4 aaaaaaaa
用wcms登陆机器B数据库
察看表test中数据,因为我以上只对表test作了数据同步工作
SQL> select * from test;
> ---------- --------------------
4 aaaaaaaa
如果没有看到同步的数据,那就多等会,再看。
由于以上只同步一张表,在现有组中再次插入同步的表,
以wcms 登陆数据库,在机器A中创建表
SQL> create table aa(id number,name varchar2(20),constraint aa_id_pk primary key(id));
接着插入数据
SQL> insert into aa values(1,'abc');
以repadmin登陆数据库
接下来添加新表然后执行同步操作
SQL> execute dbms_repcat.suspend_master_activity('rep_anymusic');
取消抑制。停止主体组
SQL> execute dbms_repcat.create_master_repobject(sname=>'wcms',oname=>'aa',type=>'TABLE',use_existing_object=>true,gname=>'REP_anymusic',copy_rows=>true);
为组增加新表。
SQL>execute dbms_repcat.generate_replication_support('wcms','aa','TABLE')
增加支持。
SQL>execute dbms_repcat.resume_master_activity('REP_anymusic',true);
启动进程
用wcms帐户登陆机器B,
SQL> select * from aa;
> ---------- --------------------
1 abc
登陆机器A
创建复制数据库的时间表,作用是将俩个数据库添加到主体组的表同步,包括,添加,删除,创建 新表及表中数据。以上作用说明我是个人认为。如果你清楚以下push任务具体作用,请告诉我。。http://blog.51cto.com/editor/icons/etc_14.gif
添加PUSH任务
SQL> begin
2 dbms_defer_sys.schedule_push(
3 destination=>'SALSE.ANYMUSIC.COM',
4 interval=>'sysdate + 10/1440', 一天每10分钟运行一次
5 next_date=>sysdate, 下一次运行时间为当前时间
6 delay_seconds=>50, 延迟秒数50
7 parallelism=>1);
8 end;
9 /
如果出现以下类似错误,那就注意仔细看看语法是否正确,我出现这个错误是,第3行,第4行 没有加单引号出的错。哈哈
ERROR at line 3:
ORA-06550: line 3, column 16:
PLS-00201:> ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
页:
[1]