Dicionario de dados

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Pessoal, onde eu posso consultar qualquer alteração feita em objetos do banco.
exeplo: quero saber quando a coluna de uma tabela foi alterada.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Olá cleberz,

Por default, acho que você não conseguirá identificar pelo dicionário alterações nos objetos de banco de dados.

Mas creio que você pode ativar a auditoria de banco de dados para monitorar as alterações no ambiente.

Eu costumo - por outro lado - criar TRIGGERs de schema, para monitorar todas as operações DDL realizadas contra um schema.

Pesquise um pouco sobre triggers do tipo:
CREATE OR REPLACE TRIGGER [nome trigger]
BEFORE CREATE OR ALTER OR DROP OR RENAME ON [nome schema].SCHEMA
Bem como as variáveis do tipo
DICTIONARY_OBJ_TYPE
DICTIONARY_OBJ_OWNER
DICTIONARY_OBJ_NAME
SYS_CONTEXT('USERENV','OS_USER') ,
SYS_CONTEXT('USERENV','CURRENT_USER') ,
SYS_CONTEXT('USERENV','HOST') ,
SYS_CONTEXT('USERENV','TERMINAL') ,
ORA_DICT_OBJ_OWNER,
ORA_DICT_OBJ_TYPE,
ORA_DICT_OBJ_NAME,
ORA_SYSEVENT
Estes recursos permitirão a você criar uma trigger que carregue em uma tabela todas as operações DDL executadas contra um determinado schema.

Boa sorte,

Sergio Coutinho
danielpbarros
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 67
Registrado em: Dom, 15 Jan 2012 9:34 pm
Contato:
Daniel Barros

Bom dia,

Para apenas uma tabela não seria mais interessante criar uma view de log materializada?
Nesse ponto consegue monitorar apenas a tabela em questão e não todos os objetos do schema.

Na view de log vai existir um campo DMLTYPE que informa qual o tipo de ação que foi realizado na tabela (u = update, d =delete ...)

abs.
Daniel.
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Valeu, obrigado!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes