Não consigo entender como criar uma política de auditoria unificada para auditar todas as instruções INSERT, UPDATE, DELETE e SELECT executadas em todos os objetos dentro de um esquema específico.
O objetivo é rastrear as tabelas e visualizações envolvidas em um procedimento PL/SQL específico para uma tarefa de engenharia reversa.
Pelo que entendi da documentação, a única opção é especificar cada tabela/visualização para rastrear dentro da política. Existe uma construção "auditar todos os objetos dentro de um esquema" para a declaração de política de auditoria de criação?
Não há configuração "auditar todos os objetos". Na auditoria unificada, faça o seguinte:
se você tiver um esquema com muitas tabelas, poderá usar o SQL para construir seu script com algo assim:
Você descreveu a auditoria tradicional. Para auditoria unificada, o parâmetro audit_trail não tem significado e, na verdade, não é considerado pela Oracle. Conforme mencionado anteriormente, com a auditoria unificada, você precisa criar uma política de auditoria. O Oracle não grava em SYS.AUD$ com auditoria unificada. Ele grava em arquivos audsys.aud$unified ou spillover no sistema operacional (se o banco de dados não estiver acessível). Seus dados são visíveis através da visualização unified_audit_trail, que seleciona entre audsys.aud$unified e v$unified_audit_trail (arquivos de transbordamento).
Para auditar todas as inserir, atualizar, excluir, selecionar em uma tabela scott.t1, você usaria algo como
Não é necessário criar uma política
vai fazer o trabalho
As instruções AUDIT a seguir não estão limitadas apenas a 1 esquema, mas a todos.
Lembre-se de que seu audit_trail deve ser definido como DB,EXTENDED
Verifique sua configuração audit_trail atual com:
Se não estiver definido como DB,EXTENDED , você deve configurá-lo com:
Para que a alteração de audit_trail tenha efeito, você precisa reiniciar sua instância de banco de dados.
Você encontrará registros de auditoria em SYS.AUD$ posteriormente.