网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  如何在高级的复制中切换主体定义站点     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:134次  录入:管理员--2008-03-26  
 

【赛迪网-it技术报道】下面的这个示例是一个同步的复制环境,在同步复制中,任何一个站点down掉都将会导致数据库服务的中断。

◆1.首先停掉主体的定义站点(conner.hurray.com.cn)

[oracle@jumper oracle]$ sqlplus "/ as sysdba"

sql*plus: release 9.2.0.4.0 - production on thu feb 17 16:07:26 2005

copyright (c) 1982, 2002, oracle corporation.  all rights reserved.


connected to:
oracle9i enterprise edition release 9.2.0.4.0 - production
with the partitioning option
jserver release 9.2.0.4.0 - production

sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.

◆2.登陆的主体站点(testora9.hurray.com.cn)

sql> select * from dept;

    deptno dname          loc
---------- -------------- -------------
        10 accounting     new york
        20 research       dallas
        30 sales          chicago
        40 operations     boston
        60 oracle         beijing
        70 oracle         beijing

6 rows selected.

注意:此时主体站点上对于扶植对象的任何dml操作都不能进行了。

sql> insert into dept values(80,'oracle','beijing');
insert into dept values(80,'oracle','beijing')
*
error at line 1:
ora-02068: following severe error from conner
ora-03113: end-of-file on communication channel
ora-02068: following severe error from conner
ora-03113: end-of-file on communication channel

◆3.然后大家可以使用复制管理员登陆主体站点

假如此时尝试删除复制对象,打破复制关系都会收到错误。

ora-23312说明这不是主体定义站点。

sql> connect repadmin/repadmin                                                                
connected.
sql> exec dbms_repcat.drop_master_repobject(sname => 'scott',oname => 'dept',type => 'table');
begin dbms_repcat.drop_master_repobject(sname => 'scott',oname => 'dept',type => 'table'); end;

*
error at line 1:
ora-23312: not the masterdef according to testora9.hurray.com.cn
ora-06512: at "sys.dbms_sys_error", line 86
ora-06512: at "sys.dbms_repcat_utl4", line 2928
ora-06512: at "sys.dbms_repcat_utl4", line 2720
ora-06512: at "sys.dbms_repcat", line 643
ora-06512: at line 1

◆4.此处需要使用dbms_repcat.relocate_masterdef切换主体定义站点

sql> begin
  2  dbms_repcat.relocate_masterdef (
  3        gname => 'rep_tt',
  4        old_masterdef => 'conner.hurray.com.cn',
  5        new_masterdef => 'testora9.hurray.com.cn',
  6        notify_masters => true,
  7        include_old_masterdef => false);
  8  end;
  9  /

pl/sql procedure successfully completed.

◆5.然后把原主体定义站点(conner.hurray.com.cn)从主体库中删除

sql> execute dbms_repcat.remove_master_databases

(gname=>'rep_tt',master_list=>'conner.hurray.com.cn');

pl/sql procedure successfully completed.

◆6.复制关系被打破以后,dml操作得以继续使用

sql> connect scott/tiger
connected.
sql> select * from dept;

    deptno dname          loc
---------- -------------- -------------
        10 accounting     new york
        20 research       dallas
        30 sales          chicago
        40 operations     boston
        60 oracle         beijing
        70 oracle         beijing

6 rows selected.

sql> insert into dept values (80,'oracle','beijing');

1 row created.

sql> commit;

commit complete.

sql>

◆7.假如原站点恢复正常后,大家可以再次添加至复制组中。

 
 
上一篇: 如何使用ref cursor处理oracle的结果集    下一篇: 通过db查询的两个数据库间scn会被同步
  相关文档
两个不容易理解的概念──user和schema 03-05
数据变更日志记录表及触发器的自动生成脚本 03-04
oracle数据库中的表连接方式及使用场合 04-07
巧用"rman"的tspitr技术找回删除的表 01-31
使用多线索服务器的Oracle的运行 09-29
Oracle 9i 的增强型内存使用率查看表 04-11
如何使用改变跟踪技术加速Oracle递增备份 05-27
Oracle Text 的体系结构及其使用 09-29
oracle数据库无法加载_oramts_的解决办法 05-28
讲解jython访问oracle数据库的具体步骤 03-19
轻松掌握oracle数据库开发中序列的使用 08-05
sql语句格式化数字(前面补0)的参考示例 07-01
通过幸存的oracle文件修复oracle9i数据 03-17
一个修改oracle数据库用户密码的小诀窍 07-30
深入讲解如何才能杀掉带锁的oracle进程 02-01
Oracle数据库中单行字符串函数简介 04-11
要求例程恢复,无法设置archivelog模式 03-03
在oracle数据库中处理数据的高并发响应 07-30
详细讲解oracle数据库10g rman的备份过程 05-07
详细讲解各种数据库使用jdbc连接的方式 03-28
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息