2.ドロップテーブルステートメントを処理するプロシージャを作成します。
プロシージャの作成または置換IGNORE_DROP_TABLE(in_any IN SYS.ANYDATA
)
is
lcr SYS.LCR $ _DDL_RECORD;
rc PLS_INTEGER;
begin
rc:=in_any.GETOBJECT(lcr);
if lcr.GET_COMMAND_TYPE!='DROP TABLE'
then
lcr.execute();
end if;
END;
/
3.適用プロセスを変更します。
begindbms_apply_adm.alter_apply(
apply_name =>'STREAMS_APPLY'、
ddl_handler =>'IGNORE_DROP_TABLE');
end;
/
これで、「DropTable」を除くすべてのDDLステートメントがターゲットデータベースで実行されます。