流复制手工设置SCN号
2013-12-2 v1.0
一、概述
流复制中实例化SCN号有两种方式:
1.通过expdp/impdp实例化SCN号。
2.手工设置SCN号。
这里仅讨论手工设置SCN号的方法。
二、步骤
1.在源端生成表的SCN号。
BEGIN
DBMS_CAPTURE_ADM.PREPARE_TABLE_INSTANTIATION(
table_name => 'SUPER.DM_xx',
supplemental_logging => 'all');
END;
/
--查询该表生成的SCN号
--SELECT * FROM DBA_CAPTURE_PREPARED_TABLES WHERE TABLE_NAME ='DM_Hxx';
2.生成目标端设置SCN号的语句,利用生成的语句在目标端执行SCN号设置。
SELECT 'BEGIN' || CHR(13) || CHR(10) ||
'DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN (' || CHR(13) || CHR(10) ||
'source_object_name => ''SUPER.' || TABLE_NAME ||''',' || CHR(13) || CHR(10) ||
'source_database_name => ''MXDB.xxx.xxx.CN'',' || CHR(13) || CHR(10) ||
'instantiation_scn => '''||SCN||''');' || CHR(13) || CHR(10) ||
'END;' || CHR(13) || CHR(10) ||
'/'
FROM DBA_CAPTURE_PREPARED_TABLES
3.查看SCN号是否已经设置。
SELECT * FROM DBA_APPLY_INSTANTIATED_OBJECTS;