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

Preventing Drop Table At Target Schema in Oracle Streams

Di seguito viene fornito un esempio per interrompere l'esecuzione di un particolare Comando DDL in Oracle Streams. In questo esempio imparerai come ignorare il comando Drop Table nello schema di destinazione in Oracle Streams.1. Connettiti al database di destinazione con le credenziali di amministratore degli stream.conn STRMADMIN/STREAM@TARGET

2. Creare una procedura per gestire l'istruzione della tabella di rilascio.

crea o sostituisci procedura
IGNORE_DROP_TABLE (in_any IN SYS.ANYDATA
)

è
lcr SYS.LCR$_DDL_RECORD;
rc PLS_INTEGER;

inizio
rc :=in_any.GETOBJECT(lcr);

if lcr.GET_COMMAND_TYPE !='DROP TABLE'
then
lcr.execute();
end if;
END;
/

3. Modifica la procedura di richiesta.

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

Ora tutte le istruzioni DDL eccetto "Drop Table" verranno eseguite nel database di destinazione.