Olá pessoal, tenho duas duvidas a 1ª É possível descobrir qual o nome do usuário que criou uma trigger? Exemplo, fiz login na minha conta do windows abri o PL/SQL com a senha do sysdba no banco e criei uma trigger. É possível afirmar que fui eu quem criou essa trigger pelo usuário do windows?
2ª É possível criar uma trigger ou procedure que em tempo de execução dependendo de algum valor de variável ela se auto drop?
Descobrir quem criou uma trigger no oracle
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Ter, 17 Ago 2021 11:52 am
- Localização: Jundiaí
- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
O que você quer não existe nativamente.
Mas pode ser facilmente criado. Pra isso, você usa DDL Triggers.
Por exemplo: cria uma trigger AFTER CREATE. Dentro dela, você pode capturar o nome do usuário do Windows via V$SESSION. Daí basta gravar isso em alguma tabela sua de auditoria.
Acho que tem como usar USERENV pra pegar o usuário do Windows: viewtopic.php?t=35
Aqui tem um link os eventos possíveis:
https://www.morganslibrary.org/referenc ... igger.html
O mesmo vale pra sua segunda pergunta. Pode usar EXECUTE IMMEDIATE e dropar o objeto assim que ele satisfazer alguma condição.
Outra coisa que existe é o AUDIT do Oracle, como nesse exemplo: viewtopic.php?f=6&t=9247&p=36701
Mas pode ser facilmente criado. Pra isso, você usa DDL Triggers.
Por exemplo: cria uma trigger AFTER CREATE. Dentro dela, você pode capturar o nome do usuário do Windows via V$SESSION. Daí basta gravar isso em alguma tabela sua de auditoria.
Acho que tem como usar USERENV pra pegar o usuário do Windows: viewtopic.php?t=35
Aqui tem um link os eventos possíveis:
https://www.morganslibrary.org/referenc ... igger.html
O mesmo vale pra sua segunda pergunta. Pode usar EXECUTE IMMEDIATE e dropar o objeto assim que ele satisfazer alguma condição.
Outra coisa que existe é o AUDIT do Oracle, como nesse exemplo: viewtopic.php?f=6&t=9247&p=36701
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 57 visitantes