Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Evitando a queda de tabela no esquema de destino no Oracle Streams

Um exemplo é fornecido abaixo para interromper a execução de um determinado Comando DDL no Oracle Streams. Neste exemplo, você aprenderá a ignorar o comando Drop Table no esquema de destino no Oracle Streams.1. Conecte-se ao banco de dados de destino com as credenciais de administrador de fluxos.conn STRMADMIN/STREAM@TARGET
2. Crie um procedimento para manipular a instrução drop table.
criar ou substituir procedimento
IGNORE_DROP_TABLE (in_any IN SYS.ANYDATA
)

é
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. Altere o processo de aplicação.
begin
dbms_apply_adm.alter_apply(
apply_name => 'STREAMS_APPLY',
ddl_handler => 'IGNORE_DROP_TABLE');
end;
/
Agora, todas as instruções DDL, exceto "Drop Table", serão executadas no banco de dados de destino.