创建单源流复制数据库Word文件下载.docx
- 文档编号:902320
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:13
- 大小:16.89KB
创建单源流复制数据库Word文件下载.docx
《创建单源流复制数据库Word文件下载.docx》由会员分享,可在线阅读,更多相关《创建单源流复制数据库Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。
queue_table=>
'
"
."
TEST$CAPQT"
'
storage_clause=>
NULL,
queue_name=>
TEST$CAPQ"
queue_user=>
);
对要复制的表实例化准备
对所有要复制的表执行
DBMS_CAPTURE_ADM.PREPARE_TABLE_INSTANTIATION(
table_name=>
rep.a'
supplemental_logging=>
keys'
--默认值为key,如果不指定,将采在所有相约束上启用附加日志
添加附加日志
ALTERTABLE"
REP"
C"
ADDSUPPLEMENTALLOGDATA(PRIMARYKEY,FOREIGNKEY,UNIQUEINDEX)COLUMNS;
创建传送进程及传输规则
对所有的表执行
dbms_streams_adm.add_table_propagation_rules(--加入传送规则(自动创建传送进程)
A"
--传送表rep.A
streams_name=>
--
source_queue_name=>
--捕捉队列(源)
destination_queue_name=>
TEST$APPQ"
@DEST'
--应用队列(目的)
include_dml=>
TRUE,--捕捉dml
include_ddl=>
include_tagged_lcr=>
TRUE,--传输带标签的LCR?
?
source_database=>
SOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM'
--源数据库
inclusion_rule=>
TRUE,--加入正规则集
and_condition=>
NULL,--
queue_to_queue=>
TURE);
--10.2以后为TURE
新目标数据库
创建应用队列
TEST$APPQT"
--队列表?
?
--队列名
--
创建应用进程及应用规则
dbms_streams_adm.add_table_rules(--创建应用规则(自动创建应用进程)
--要应用的表
streams_type=>
APPLY'
--类型
--应用队列名
TRUE,--包括dml
TRUE--包括ddl
TRUE,--标签不为空也行
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM'
TRUE);
--加入正规则集
从源数据库导入数据并实例化scn
使用imp数据时加入参数STREAMS_INSTANTIATION=Y
或者得到源数据库的当前scn
selectdbms_flashback.get_system_change_numberfromdual;
DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN(
source_object_name=>
source_database_name=>
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM'
instantiation_scn=>
1234567);
--scn号
设置标签(多个应用时,结构复杂时需要)
dbms_apply_adm.alter_apply(
apply_name=>
apply_nm_dqt,--应用名称,在dba_apply_progress中查看
apply_tag=>
hextoraw(00));
--00为本机应用标签
添加一个新的目标节点
加入数据库链接
TRUE,--
--创建并应用正规则集?
其他:
设置标签–多个应用时,结构复杂时需要
apply_nm_dqt,--?
添加一个新的复制表
实例化准备
rep.c'
添加捕捉规则
dbms_streams_adm.add_table_rules(
CAPTURE'
TEST$CAP"
TRUE,
添加传送规则
dbms_streams_adm.add_table_propagation_rules(
destination_queue_name=>
@RMAN.REGRESS.RDBMS.DEV.US.ORACLE.COM'
TRUE,
NULL,
目标数据库
导入对象并实例化
使用imp数据时加入参数STREAMS_INSTANTIATION=Y(生效)
添加应用规则
其他
搭建表级流复制系统代码
DECLARE
tablesDBMS_UTILITY.UNCL_ARRAY;
BEGIN
tables
(1):
='
;
--要复制的表名
tables
(2):
rep.b'
DBMS_STREAMS_ADM.MAINTAIN_TABLES(
table_names=>
tables,--要复制的表对象集
source_directory_object=>
destination_directory_object=>
TEST'
destination_database=>
RMAN'
--目标数据库
perform_actions=>
false,--立即执行还是生成脚本
script_name=>
configure_rep.sql'
--生成脚本的名称
script_directory_object=>
SCRIPT_DIRECTORY'
--生成脚本的目录(由createdirectory..as..创建)
bi_directional=>
false,--是否使用多源复制
false,--是否包括DDL语句
instantiation=>
DBMS_STREAMS_ADM.INSTANTIATION_TABLE_NETWORK);
END;
/
启用/禁用捕捉进程
dbms_capture_adm.start_capture(
capture_name=>
dbms_capture_adm.stop_capture(
启用/禁用传输
dbms_aqadm.enable_propagation_schedule(
RMAN$CAPQ"
destination=>
destination_queue=>
RMAN$APPQ"
dbms_aqadm.disable_propagation_schedule(
CHARGE.REGRESS.RDBMS.DEV.US.ORACLE.COM'
destn_q);
启用/禁用应用进程
dbms_apply_adm.start_apply(
apply_nm_dqt);
dbms_apply_adm.stop_apply(
加入负规则集
(不传送本机应用标签的LCR)
FALSE,
FALSE,
:
lcr.get_tag()=HEXTORAW("
00"
)'
--00为本机应用进程的标签
true);
加入update冲突解决
colsDBMS_UTILITY.NAME_ARRAY;
cols
(1):
c1'
--列名
cols
(2):
c2'
DBMS_APPLY_ADM.SET_UPDATE_CONFLICT_HANDLER(
object_name=>
hr.jobs'
--表名
method_name=>
OVERWRITE'
--overwrite,discard,maximum,minmum,null
resolution_column=>
job_title'
column_list=>
cols);
--列集合
自定义冲突解决
DBMS_APPLY_ADM.SET_DML_HANDLER(
hr.locations'
object_type=>
TABLE'
operation_name=>
UPDATE'
--升级冲突
error_handler=>
false,
user_procedure=>
strmadmin.history_dml'
--自定义存储过程Null取消
apply_database_link=>
NULL);
自定义存储过程
CREATEORREPLACEPROCEDUREhistory_dml(in_anyINANYDATA)
IS
lcrSYS.LCR$_ROW_RECORD;
rcPLS_INTEGER;
--AccesstheLCR
rc:
=in_any.GETOBJECT(lcr);
--InsertinformationabouttheLCRintothehistory_row_lcrstable
INSERTINTOstrmadmin.history_row_lcrsVALUES
(SYSDATE,lcr.GET_SOURCE_DATABASE_NAME(),lcr.GET_COMMAND_TYPE(),
lcr.GET_OBJECT_OWNER(),lcr.GET_OBJECT_NAME(),lcr.GET_TAG(),
lcr.GET_TRANSACTION_ID(),lcr.GET_SCN(),lcr.GET_COMMIT_SCN,
lcr.GET_VALUES('
old'
),lcr.GET_VALUES('
new'
'
n'
));
--ApplyrowLCR
lcr.EXECUTE(true);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创建 源流 复制 数据库