Trigger com Alter Table

#85865
Avatar de IshiiIshii
Participante

Olá,

1) Todas as alterações com o AUDIT_TRAIL habilitado ficam nas views: DBA_AUDIT_TRAIL, DBA_AUDIT_OBJECT, DBA_AUDIT_STATEMENT e DBA_AUDIT_*, vai depender do tipo de Controle que se quer fazer, por exemplo se for de DDL (alter, create, drop) não será necessário a DBA_AUDIT_STATEMENT pois estes comandos ficam no trail e no object…

2) Trigger DDL:
create or replace trigger create_objects
before create on .schema
begin
raise_application_error (
num => -20000,
msg => 'Voce nao esta autorizado a criar objetos!');
end;
/

Crei esta trigger apenas para que outras pessoas não criem objetos no meu owner… o erro fica assim:
create table ishii_teste (coluna number)

ORA-00604: error occurred at recursive SQL level 1
ORA-20000: Voce nao esta autorizado a criar objetos!
ORA-06512: at line 2

Você pode incrementar a trigger, por exemplo, colocar uma variável booleana global em uma package e colocar isso na condição do corpo da trigger e somente poderia fazer as criações de objetos no banco se antes setar a variavel para TRUE…ou retornar um erro Oracle mesmo e com isso “confundir” a pessoa que está tentando criar o objeto no seu owner…

Qualquer coisa coloque aqui para que possamos te ajudar…

[]s Ishii

plugins premium WordPress