精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 数据库技术>>Oracle产品>>Oracle8对称复制的实现(1)

主题:Oracle8对称复制的实现(1)
发信人: xiaomiao()
整理人: chedong(2000-07-31 17:17:37), 站内信件
(转载自www.oraclechina.com)
 
   要 实 现 Oracle8 的 对 称 复 制, 如 节 点 A (Master Definition S
ite) 与 节 点 B (Master site) 的 对 称 复 制, 首 先 是 要 设 置 对 称
 复 制 的 环 境: 

   1. 在 建 立 和 管 理 复 制 环 境 时, 需 要 设 定: 
   System Tablespace: 复 制 需 要 一 个 增 加 的 15MB 的 系 统 空 间
。 
   Rollback segment: 应 该 比 正 常 没 有 复 制 的 大 2 倍 
   User Tablespace
   Temporary Tablespace

   2. 如 果 你 的 数 据 库 的 安 装 是 缺 省 的 安 装, 没 有 对 复 
制 选 项 进 行 安 装, 你 应 该 在 $ORACLE-HOME/rdbms/admin 目 录 下 用
 Svrmgrl 或 sys 用 户 运 行 catrep.sql, 这 大 概 念 需 花 去 1 小 时 
左 右 的 时 间。 

   3. 在 A.B 节 点 上 的 初 始 化 参 数 文 件 init(SID).ora 必 须 有
: 
   o job_queue_processes : 最 少 为 2 
   o job_queue_interval : 应 该 小 于 通 过 数 据 链 路 PUSH 数 据 

   的 间 隔 的 时 间 
   o shared_pool_size : 最 少 为 15mb ; 建 议 用 25mb . 
   o distributed_lock_timeout : 缺 省 为 300 秒 ( 5 分 钟 ) 
   o distributed_transactions : 最 大 数 为 10 
   o global_names : 如 果 要 让 复 制 成 功 的 工 作, 这 个 参 数 

   必 须 设 为 TRUE. 
   o open_links : 最 小 数 为 5 

   4. 全 局 名 (Global Name)
   请 用 sqlplus sys/<password> 登 录, 使 用 命 令 
   SQL> alter database rename global_name to <a name>;
   这 里 A 节 点 的 全 局 名 是 A.WORLD, B 节 点 的 全 局 名 是 B.W
ORLD。 

   5.SQL*Net V2 文 件 
   tnsnames.ora
   listener.ora
   这 里 tnsnames.ora 所 给 出 的 别 名 应 该 与 两 个 节 点 上 的 全
 局 名 一 致。 
   下 面 的 Scripts 是 建 立 一 个 MASTER TO MASTER 对 称 复 制 的 例
 子, 这 里 复 制 的 表 是 DEPT,EMP, 复 制 的 用 户 是 SCOTT。 
   
   节 点 A A.WORLD (Master Definition site)
   节 点 B B.WORLD (Master site) 
   ---------------begin---------------
   rem 第 一 步: 在 节 点 A (THE MASTER DEFINITION SITE) 执 行 这 段
 SCRIPT!!! rem 在 节 点 A 上 以 system 用 户 登 录 建 立 复 制 的 管 理
 员 用 户 connect system/[email protected]; create user REPADMIN identif
ied by REPADMIN 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 对 B 节 点 以 system 用 户 建 立 数 据 库 公 共 链 路 create 
public database link B.WORLD using 'B.WORLD'; 

   rem 以 复 制 的 管 理 员 用 户 建 立 私 有 链 路 connect repadmin
/[email protected]; create database link B.WORLD connect to repadmin id
entified by repadmin; 

   rem 每 3 分 钟 间 隔 PUSH 一 次 任 务 把 A 节 点 的 事 务 推 到 B
 节 点 去 执 行 begin dbms_defer_sys.schedule_push( destination => 'B.
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 在 节 点 A 上 以 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 crea
te cluster to SCOTT; grant create database link to SCOTT; grant create
 sequence to SCOTT; grant create session to SCOTT; grant create synony
m to SCOTT; grant create table to SCOTT; grant create view to SCOTT; g
rant create procedure to SCOTT; grant create trigger to SCOTT; grant u
nlimited tablespace to SCOTT; grant create type to SCOTT; grant create
 any snapshot to SCOTT; grant alter any snapshot to SCOTT; 

   rem 在 节 点 A 上 以 SCOTT 用 户 登 录 建 立 DEPT,EMP 表 connect 
scott/[email protected]
   CREATE TABLE DEPT ( 
   DEPTNO NUMBER(2) NOT NULL, 
   DNAME CHAR(14), 
   LOC CHAR(13), 
   CONSTRAINT DEPT_PRIMARY_KEY PRIMARY KEY (DEPTNO)); 
   INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK'); 
   INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS'); 
   INSERT INTO DEPT VALUES (30,'SALES','CHICAGO'); 
   INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON'); 
   commit; 
   CREATE TABLE EMP ( 
   EMPNO NUMBER(4) NOT NULL, 
   ENAME CHAR(10), 
   JOB CHAR(9), 
   MGR NUMBER(4) CONSTRAINT EMP_SELF_KEY REFERENCES EMP (EMPNO), 
   HIREDATE DATE, 
   SAL NUMBER(7,2), 
   COMM NUMBER(7,2), 
   DEPTNO NUMBER(2) NOT NULL, 
   CONSTRAINT EMP_FOREIGN_KEY FOREIGN KEY (DEPTNO) REFERENCES DEPT (
DEPTNO), 
   CONSTRAINT EMP_PRIMARY_KEY PRIMARY KEY (EMPNO)); 
   INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'1-MAY-81',28
50,NULL,30); 
   INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'9-JUN-81',24
50,NULL,10); 
   INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'2-APR-81',29
75,NULL,20); INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'20-
FEB-81',1600,300,30); 
   INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',7698,'8-SEP-81',
1500,0,30); 
   INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'3-DEC-81',950,
NULL,30); 
   INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'22-FEB-81',1
250,500,30); 
   INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'3-DEC-81',300
0,NULL,20); 
   INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'17-DEC-80',800
,NULL,20); 
   INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'09-DEC-82',3
000,NULL,20); 
   INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'12-JAN-83',110
0,NULL,20); 
   INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'23-JAN-82',13
00,NULL,10); 
   commit; 
   ---------------cut--------------- 
下 一 页   
 
 

 
----------------------------------------------------------------------
----------
 

 
 

--
/*********************************************
低调,唯美,内省,黑色,简约,折衷,颓废,梦呓, 
糜烂,迷乱,阴郁,婉约,低吟,根源,氛围,元素, 
极端,低迷,扭曲,爆裂,失落,充斥,具象,聆听, 
压抑,气息,炼狱,冰冷,理念,郁闷,神伤,实验, 
回归,迷幻,迷离,内敛,艰涩,严肃,模糊,前卫。 

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.85.54]

[关闭][返回]