sql >> Database teknologi >  >> RDS >> Oracle

Forebyggelse af Drop Table At Target Schema i Oracle Streams

Et eksempel er givet nedenfor for at stoppe udførelsen af ​​en bestemt DDL-kommando i Oracle Streams. I dette eksempel vil du lære, hvordan du ignorerer Drop Table-kommandoen ved målskemaet i Oracle Streams.1. Opret forbindelse til måldatabasen med streams admin legitimationsoplysninger.conn STRMADMIN/STREAM@TARGET

2. Opret en procedure til at håndtere drop table-sætningen.

opret eller erstat procedure
IGNORE_DROP_TABLE (i_any IN SYS.ANYDATA
)

er
lcr SYS.LCR$_DDL_RECORD;
rc PLS_INTEGER;

start
rc :=in_any.GETOBJECT(lcr);

hvis lcr.GET_COMMAND_TYPE !='DROP TABLE'

lcr.execute();
end if;
END;
/

3. Rediger ansøgningsprocessen.

begin
dbms_apply_adm.alter_apply(
application_name => 'STREAMS_APPLY',
ddl_handler => 'IGNORE_DROP_TABLE');
end;
/

Nu vil alle DDL-sætninger undtagen "Drop Table" udføres i måldatabasen.

  1. SQL SERVER 2016 – Sammenligning af eksekveringsplaner

  2. Relation eksisterer ikke

  3. 3 måder at få serversorteringen i MariaDB på

  4. Hvordan YEAR() virker i MariaDB