发信人: xiaomiao() 
整理人: chedong(2000-07-31 17:19:46), 站内信件
 | 
 
 
(转载自www.oraclechina.com)
 
 rem 第 二 步: 在 节 点 B (THE MASTER SITE) 执 行 这 段 SCRIPT!!! rem  在 节 点 B 上 以 system 用 户 登 录 建 立 复 制 的 管 理 员 用 户 conn ect system/[email protected]; create user repadmin identified by repadmi n default tablespace data temporary tablespace temp; 
 
    rem 对 复 制 的 管 理 员 用 户 REPADMIN 授 予 管 理 员 权 限 begi n dbms_repcat_admin.grant_admin_any_schema( username => 'REPADMIN'); e nd; / grant comment any table to repadmin; grant lock any table to rep admin; begin dbms_defer_sys.register_propagator(username => 'REPADMIN' ); end; / grant execute any procedure to REPADMIN; 
 
    rem 对 A 节 点 以 system 用 户 建 立 数 据 库 公 共 链 路 create  public database link A.WORLD using 'A.WORLD'; 
 
    rem 以 复 制 的 管 理 员 用 户 建 立 私 有 链 路 connect repadmin /[email protected]; create database link A.WORLD connect to repadmin id entified by repadmin; 
 
    rem 每 3 分 钟 间 隔 PUSH 一 次 任 务 把 B 节 点 的 事 务 推 到 A  节 点 去 执 行 begin dbms_defer_sys.schedule_push( destination => 'A. WORLD', interval => '/* 3:Mins*/ sysdate + 3/(60*24)', next_date => sy sdate, stop_on_error => FALSE, delay_seconds => 0, parallelism => 2);  end; / 
 
    rem 每 5 分 钟 间 隔 PURGE 一 次 任 务 使 已 完 成 的 事 务 退 出  队 列 begin dbms_defer_sys.schedule_purge( next_date => sysdate, inte rval => '/* 5:Mins*/ sysdate + 5/(60*24)', delay_seconds => 0, rollbac k_segment => ''); end; / 
 
    rem 在 节 点 B 上 以 system 用 户 登 录 建 立 SCOTT 用 户 connect  system/[email protected]; create user scott identified by tiger default  tablespace data temporary tablespace temp; 
 
    rem 对 SCOTT 用 户 授 权 
    grant alter session to SCOTT; 
    grant create cluster to SCOTT; 
    grant create database link to SCOTT; 
    grant create sequence to SCOTT; 
    grant create session to SCOTT; 
    grant create synonym to SCOTT; 
    grant create table to SCOTT; 
    grant create view to SCOTT; 
    grant create procedure to SCOTT; 
    grant create trigger to SCOTT; 
    grant unlimited tablespace to SCOTT; 
    grant create type to SCOTT; 
    grant create any snapshot to SCOTT; 
    grant alter any snapshot to SCOTT; 
    commit; 
    ---------------cut---------------
    rem 第 三 步: 在 节 点 A (THE MASTER DEFINITION SITE) 执 行 这 段  SCRIPT!!! rem 在 节 点 A 上 以 复 制 的 管 理 员 用 户 REPADMIN 登 录  connect repadmin/[email protected]; 
 
    rem 建 立 对 称 复 制 组 'SCOTT'… 
    begin dbms_repcat.create_master_repgroup(gname => 'SCOTT', qualif ier => '', group_comment => ''); end; /
 
    rem 把 DEPT 表 加 入 到 对 称 复 制 组 'SCOTT' 中 begin dbms_repc at.create_master_repobject( gname => '"SCOTT"', type => 'TABLE', oname  => '"DEPT"', sname => '"SCOTT"', use_existing_object => TRUE, copy_ro ws => TRUE); end; / rem 把 EMP 表 加 入 到 对 称 复 制 组 'SCOTT' 中 b egin dbms_repcat.create_master_repobject( gname => '"SCOTT"', type =>  'TABLE', oname => '"EMP"', sname => '"SCOTT"', use_existing_object =>  TRUE, copy_rows => TRUE); end; / 
 
    rem 把 主 数 据 库 'B.WORLD' 加 入 到 对 称 复 制 组 'SCOTT' 中 b egin dbms_repcat.add_master_database( gname => '"SCOTT"', master => 'B .WORLD', use_existing_objects => TRUE, copy_rows => TRUE, propagation_ mode => 'ASYNCHRONOUS'); end; / 
 
    rem 生 成 复 制 支 持 的 表 DEPTbegin dbms_repcat.generate_replic ation_support( sname => '"SCOTT"', oname => '"DEPT"', type => 'TABLE',  min_communication => TRUE); end; / 
 
    rem 生 成 复 制 支 持 的 表 EMPbegin dbms_repcat.generate_replica tion_support( sname => '"SCOTT"', oname => '"EMP"', type => 'TABLE', m in_communication => TRUE); end; /
 
    rem 启 动 对 称 复 制 组 'SCOTT', 使 复 制 的 QUIESCED 方 式 改  变 为 NORMAL 方 式 begin dbms_repcat.resume_master_activity( gname =>  '"SCOTT"'); end; / commit; 
 ---------------end---------------
    运 行 完 上 面 的 Scripts, 这 时 在 A,B 节 点 上 do_deferred_rep cat_admin 任 务 应 该 被 处 理。 可 以 看 看 视 图 sys.dba_repcatlog。  连 接 A,B 节 点 上 的 REPADMIN 用 户, 运 行 下 面 的 SQL:
    SQL> select count(*) from sys.dba_repcatlog; 如 果 A,B 节 点 上 查  寻 到 的 结 果 都 是 零 个 记 录, 则 表 明 上 面 的 Scripts 都 被 成  功 的 执 行, 复 制 数 据 的 环 境 已 经 具 备。 再 连 接 A,B 节 点 上  的 REPADMIN 用 户, 运 行 下 面 的 SQL:
    SQL> select gname, status from sys.dba_repcat; 一 旦 状 态 是 'NO RMAL', 那 么 表 明 你 可 以 进 行 DML 操 作, 例 如: A,B 节 点 的 任  何 一 方 的 DEPT,EMP 表 上 对 记 录 INSERT, UPDATE, DELETE, 其 另 一  方 会 看 到 对 应 的 变 化。
  -- /********************************************* 低调,唯美,内省,黑色,简约,折衷,颓废,梦呓,  糜烂,迷乱,阴郁,婉约,低吟,根源,氛围,元素,  极端,低迷,扭曲,爆裂,失落,充斥,具象,聆听,  压抑,气息,炼狱,冰冷,理念,郁闷,神伤,实验,  回归,迷幻,迷离,内敛,艰涩,严肃,模糊,前卫。 
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.85.54]
  | 
 
 
 |