使用dbms_rectifier_diff解决高级复制中的数据冲突问题
来源:互联网 发布:日本陆海军矛盾知乎 编辑:程序博客网 时间:2024/05/22 10:22
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
«基于时间点的恢复|Blog首页|关于Oracle的冲突解决机制的研究»
很多时候在高级复制中可能存在数据冲突和不一致现象。
Oracle提供的dbms_rectifier_diff包可以用于解决该冲突。
以下通过实例来说明一下该Package的用法。
1.创建复制组及复制对象
SQL>executedbms_repcat.create_master_repgroup('rep_tt');
PL/SQLproceduresuccessfullycompleted
SQL>selectgname,master,statusfromdba_repgroup;
GNAMEMASTERSTATUS
---------------------------------------------
REP_TTYQUIESCED
SQL>executedbms_repcat.create_master_repobject(sname=>'hawa',oname=>'test',type=>'table',use_existing_object=>true,gname=>'rep_tt',copy_rows=>false);
PL/SQLproceduresuccessfullycompleted
SQL>
SQL>executedbms_repcat.generate_replication_support('hawa','test','table');
PL/SQLproceduresuccessfullycompleted
SQL>selectgname,master,statusfromdba_repgroup;
GNAMEMASTERSTATUS
---------------------------------------------
REP_TTYQUIESCED
SQL>select*fromdba_repobject;
SNAMEONAMETYPESTATUSGENERATION_STATUSIDOBJECT_COMMENTGNAMEMIN_COMMUNICATIONREPLICATION_TRIGGER_EXISTSINTERNAL_PACKAGE_EXISTSGROUP_OWNERNESTED_TABLE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HAWATESTTABLEVALIDGENERATED8620REP_TTYYYPUBLICN
HAWATEST$RPPACKAGEVALID8641SYSTEM-GENERATED:REPLICATIONREP_TTPUBLIC
HAWATEST$RPPACKAGEBODYVALID8677SYSTEM-GENERATED:REPLICATIONREP_TTPUBLIC
3rowsselected
SQL>
SQL>executedbms_repcat.add_master_database(gname=>'rep_tt',master=>'AUTHAA.COOLYOUNG.COM.CN',use_existing_objects=>true,copy_rows=>false,propagation_mode=>'synchronous');
PL/SQLproceduresuccessfullycompleted
SQL>executedbms_repcat.resume_master_activity('rep_tt',true);
PL/SQLproceduresuccessfullycompleted
SQL>select*fromdba_repgroup;
SNAMEMASTERSTATUSSCHEMA_COMMENTGNAMEFNAMERPC_PROCESSING_DISABLEDOWNER
-------------------------------------------------------------------------------------------
REP_TTYNORMALREP_TTNPUBLIC
2.创建保存冲突数据的数据表
a.missing_rows表用以保存冲突行
SQL>createtablehawa.missing_rows_test
2as
3select*fromhawa.testwhere1=0;
Tablecreated
b.用于保存缺失行位置及rowid
SQL>createtablehawa.MISSING_LOCATION_TEST(
2presentVARCHAR2(128),
3absentVARCHAR2(128),
4r_idROWID);
Tablecreated
3.使用dbms_rectifier_diff.diffERENCES查找缺失记录
SQL>begindbms_rectifier_diff.diffERENCES(
2SNAME1=>'HAWA',
3ONAME1=>'TEST',
4REFERENCE_SITE=>'AVATAR.COOLYOUNG.COM.CN',
5SNAME2=>'HAWA',
6ONAME2=>'TEST',
7COMPARISON_SITE=>'AUTHAA.COOLYOUNG.COM.CN',
8WHERE_CLAUSE=>NULL,
9COLUMN_LIST=>NULL,
10MISSING_ROWS_SNAME=>'HAWA',
11MISSING_ROWS_ONAME1=>'MISSING_ROWS_TEST',
12MISSING_ROWS_ONAME2=>'MISSING_LOCATION_TEST',
13MISSING_ROWS_SITE=>'AVATAR.COOLYOUNG.COM.CN',
14MAX_MISSING=>500,1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
使用dbms_rectifier_diff解决高级复制中的数据冲突问题作者:eygle出处:http://blog.eygle.com日期:January19,2005«基于时间点的恢复|Blog首页|关于Oracle的冲突解决机制的研究»
很多时候在高级复制中可能存在数据冲突和不一致现象。
Oracle提供的dbms_rectifier_diff包可以用于解决该冲突。
以下通过实例来说明一下该Package的用法。
1.创建复制组及复制对象
SQL>executedbms_repcat.create_master_repgroup('rep_tt');
PL/SQLproceduresuccessfullycompleted
SQL>selectgname,master,statusfromdba_repgroup;
GNAMEMASTERSTATUS
---------------------------------------------
REP_TTYQUIESCED
SQL>executedbms_repcat.create_master_repobject(sname=>'hawa',oname=>'test',type=>'table',use_existing_object=>true,gname=>'rep_tt',copy_rows=>false);
PL/SQLproceduresuccessfullycompleted
SQL>
SQL>executedbms_repcat.generate_replication_support('hawa','test','table');
PL/SQLproceduresuccessfullycompleted
SQL>selectgname,master,statusfromdba_repgroup;
GNAMEMASTERSTATUS
---------------------------------------------
REP_TTYQUIESCED
SQL>select*fromdba_repobject;
SNAMEONAMETYPESTATUSGENERATION_STATUSIDOBJECT_COMMENTGNAMEMIN_COMMUNICATIONREPLICATION_TRIGGER_EXISTSINTERNAL_PACKAGE_EXISTSGROUP_OWNERNESTED_TABLE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HAWATESTTABLEVALIDGENERATED8620REP_TTYYYPUBLICN
HAWATEST$RPPACKAGEVALID8641SYSTEM-GENERATED:REPLICATIONREP_TTPUBLIC
HAWATEST$RPPACKAGEBODYVALID8677SYSTEM-GENERATED:REPLICATIONREP_TTPUBLIC
3rowsselected
SQL>
SQL>executedbms_repcat.add_master_database(gname=>'rep_tt',master=>'AUTHAA.COOLYOUNG.COM.CN',use_existing_objects=>true,copy_rows=>false,propagation_mode=>'synchronous');
PL/SQLproceduresuccessfullycompleted
SQL>executedbms_repcat.resume_master_activity('rep_tt',true);
PL/SQLproceduresuccessfullycompleted
SQL>select*fromdba_repgroup;
SNAMEMASTERSTATUSSCHEMA_COMMENTGNAMEFNAMERPC_PROCESSING_DISABLEDOWNER
-------------------------------------------------------------------------------------------
REP_TTYNORMALREP_TTNPUBLIC
2.创建保存冲突数据的数据表
a.missing_rows表用以保存冲突行
SQL>createtablehawa.missing_rows_test
2as
3select*fromhawa.testwhere1=0;
Tablecreated
b.用于保存缺失行位置及rowid
SQL>createtablehawa.MISSING_LOCATION_TEST(
2presentVARCHAR2(128),
3absentVARCHAR2(128),
4r_idROWID);
Tablecreated
3.使用dbms_rectifier_diff.diffERENCES查找缺失记录
SQL>begindbms_rectifier_diff.diffERENCES(
2SNAME1=>'HAWA',
3ONAME1=>'TEST',
4REFERENCE_SITE=>'AVATAR.COOLYOUNG.COM.CN',
5SNAME2=>'HAWA',
6ONAME2=>'TEST',
7COMPARISON_SITE=>'AUTHAA.COOLYOUNG.COM.CN',
8WHERE_CLAUSE=>NULL,
9COLUMN_LIST=>NULL,
10MISSING_ROWS_SNAME=>'HAWA',
11MISSING_ROWS_ONAME1=>'MISSING_ROWS_TEST',
12MISSING_ROWS_ONAME2=>'MISSING_LOCATION_TEST',
13MISSING_ROWS_SITE=>'AVATAR.COOLYOUNG.COM.CN',
14MAX_MISSING=>500,1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 使用dbms_rectifier_diff解决高级复制中的数据冲突问题
- 使用dbms_rectifier_diff解决高级复制中的数据冲突问题
- 复制中数据冲突解决
- 解决服务器复制中SID冲突问题
- 解决SQL Server复制数据冲突造成复制失败
- 使用TableDiff实用工具解决事务复制中的问题
- 转:邹建--使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- 使用TableDiff实用工具解决事务复制中的问题
- Oracle高级复制同步数据问题
- MasterPage控件的用法
- 日期计算(收藏)
- sqlserver定时自动备份
- 如何才能快速知道中每个表的大小?
- SQL以日期动态更新维护的数据,一周排程时间日期
- 使用dbms_rectifier_diff解决高级复制中的数据冲突问题
- 一次TempDB损毁的处理过程
- 云计算近期资讯
- 数据量过大时操作的处理
- 读取bmp文件
- SQL函数的详细用法
- 经典语录:每个人都是企业家,自己本身就是一家企业!
- 单搞定ASA备份/恢复程序
- 人的改变还是很快的