Tagged: trigger ddl
- This topic has 6 replies, 2 voices, and was last updated 4 years, 5 months ago by Motta.
-
AuthorPosts
-
2 de junho de 2020 at 1:30 pm #146057MottaParticipant
No Oracle é possível criar Triggers de DDL (Data Definition Language) algo do tipo
create or replace trigger trg_ddl before ddl on database declare begin ... end;
Minha , dúvida , como reconhecer um evento de exclusão de coluna de uma tabela ?
ALTER TABLE <TABLE> DROP COLUMN <COLUMN> Dúvida sobre sintaxe, espero estar de acordo às normas.
2 de junho de 2020 at 4:43 pm #146058MottaParticipant2 de junho de 2020 at 6:26 pm #146059José Laurindo ChiappaModeratorYep, é isso aí… Faço porém duas Observações :
1) não vejo muito sentido em se ter isso num database Produção, que seja profissionalmente Administrado : o MÍNIMO que se exige é que não seja casa da mãe Joana, que não seja qualquer um que possa alterar estruturas de tabelas… E em especial DROP, que FACILMENTE pode remover uma coluna / objeto usado/refernciado em trocentas stored PL/SQLs por exemplo, é sacal pra Resolver essas dependências depois…..
E
2) SE o ambiente realmente exige alterações frequentes de estrutura, TALVEZ o que vc possa fazer é simplesmente AUDITAR ISSO : https://community.oracle.com/thread/2455981?start=15&tstart=0 mostra um exemplo com a Auditoria tradicional Oracle (comando AUDIT)…..
Abraços,
Chiappa
2 de junho de 2020 at 6:32 pm #146060José Laurindo ChiappaModeratorAh, e só comentando : a auditoria Tradicional, ALÉM de não exigir programação, tal como mostrado no link que passei além disso TAMBÉM te dá de lambuja o TEXTO DO SQL executado e as BINDs , se vc estiver com Audit Extendida habilitada no banco…. A ser considerado….
[]s
Chiappa
2 de junho de 2020 at 7:34 pm #146061MottaParticipantConcordo , mas …
Nem sempre controlamos todos os processos e nem sempre humanos são os atores, temos no caso um ERP que usa o Banco em algum ponto que ainda não mapeamos o infeliz lê um dicionário defasado e achando colunas no Oracle que ele não tem dropa as “bichinhas” sem dó , até localizar o problema a trigger visa reduzir danos …
Você sabe que seu problema é esdrúxulo quando a documentação é parca e existem poucas referências dele …
2 de junho de 2020 at 7:54 pm #146062José Laurindo ChiappaModeratorSim, para casos extremos, esdrúxulos e aberrantes do tipo é que a Oracle permite tanto Audit quanto trigger de de DDL… O que vc vai fazer agora, imagino, é DETECTAR EXATAMENTE quando quem/qual programa do sistema tá fazendo o tal DROP E assim que tiver a ** PROVA ** do mal-comportamento da Aplicação, abrir um TICKET no Suporte da Aplicação e demandar a Correção….
É claro, principalmente se for ERP de fabricante pequeno e ruim, ele vai dar uma outra finalidade bem menos nobre pro seu ticket (o Suporte pós-venda da maioria desse pessoal é abaixo da crítica) mas afora isso, não tem o que mais vc fazer, Não Tem Como um BUG de aplicação ser corrigido pelo database….[]s
Chiappa
3 de junho de 2020 at 9:14 am #146064MottaParticipantIsto.
[]s
-
AuthorPosts
- You must be logged in to reply to this topic.