Oracle 多master Replication环境中,master site发生故障的修复方法

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]

 

修复了发生故障的master site之后,可以通过online Instantiation功能来修复。

Master定义site: ORC1.WORLD

Master site: ORC4.WORLD

Replication group:SCOTT_MG

使用备份修复master site(ORC4.WORLD)

**master定义site(ORC1.WORLD)**

终止复制。

DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY(GNAME => ‘SCOTT_MG’)

查看是否存在没有处理的事务(延迟事务、错误事务、管理事务)。

SELECT * FROM DEFERROR;

SELECT * FROM DBA_REPCATLOG;

从复制环境中分离发生故障的site

DBMS_REPCAT.REMOVE_MASTER_DATABASES(GNAME => ‘SCOTT_MG’, MASTER_LIST => ‘ORC4.WORLD’);

**master site(ORC4.WORLD)**

删除复制group

DBMS_REPCAT.DROP_MASTER_REPGROUP(GNAME => ‘SCOTT_MG’);

**master定义site(ORC1.WORLD)**

开始online的实例化

 在新建site中追加master group

DBMS_OFFLINE_OG.BEGIN_INSTANTIATION(GNAME => ‘SCOTT_MG’, NEW_SITE => ‘ORC4.WORLD’);

输出replication groupOBJECT

多个架构中包含replication object时,请从各个架构中输出object

exp user/password file=<file_name.dmp> owner=<owner_name>

重新启动没有发生故障的replication activity

 新建site中(发生了故障的site

   Replication activity被终止了。

DBMS_OFFLINE_OG.RESUME_SUBSET_OF_MASTERS(GNAME => ‘SCOTT_MG’, NEW_SITE => ‘ORC4.WORLD’)

**master(ORC4.WORLD)**

做好输入replication object的准备。

  -DBMS_OFFLINE_OG.BEGIN_LOAD执行之后到执行

   DBMS_OFFLINE_OG.END_LOAD之间

   master group object更新以及不接收来自其他mastersite的延迟事务。

DBMS_OFFLINE_OG.BEGIN_LOAD(GNAME => ‘SCOTT_MG’,NEW_SITE => ‘ORC4.WORLD’)

Truncate Replication对象的表。

truncate table <table_name>;

  

执行输入。

imp user/password full=y ignore=y file=<file_name.dmp>

执行使得由于输入造成的数据加载的进程终止的procedure

  master groupobject更新,以及可以接收来自其他master site的延迟事务

   由此可以使用新建site

DBMS_OFFLINE_OG.END_LOAD(GNAME => ‘SCOTT_MG’,NEW_SITE => ‘ORC4.WORLD’)

**master定义site**

重启replication activity

  在包含新建site的所有site中,开始replication activity

DBMS_REPCAT.RESUME_MASTER_ACTIVITY(GNAME => ‘SCOTT_MG’);

DBMS_OFFLINE_OG.END_INSTANTIATION(GNAME => ‘SCOTT_MG’, NEW_SITE => ‘ORC4.WORLD’)

————————————————————————————-

Master定义site中发生故障时

通过任意master site执行以下procedure,变更定义site

DBMS_REPCAT.RELOCATE_MASTERDEF(

GNAME => ‘SCOTT_MG’,

OLD_MASTERDEF => ‘ORC1.WORLD’,

NEW_MASTERDEF => ‘ORC4.WORLD’,

NOTIFY_MASTERS => TRUE,

INCLUDE_OLD_MASTERDEF => FALSE)

如果变更master定义site,在上述master site中依旧发生相同故障的话,修复方法相同。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *