Forum Stats

  • 3,752,630 Users
  • 2,250,527 Discussions
  • 7,867,900 Comments

Discussions

AUDIT e DBA_AUDIT_OBJECT

Leandro Barbosa
Leandro Barbosa Member Posts: 2
edited Nov 3, 2018 8:25PM in Portuguese Discussions

Olá, pessoas!

Estou precisando criar uma auditoria na qual fiquem registras consultas a uma tabela.

Pois bem, logado como SYSDBA, executei:

AUDIT SELECT ON u1.T1 by access;

Logado como 'u1', 'u2' e 'u3' realizei selects nesta tabela. Entretanto, ao analisar a view DBA_AUDIT_OBJECT não consta NENHUM registro.

O QUE EU JÁ TENTEI FAZER:

1.) Já tentei fazer um alter system setando audit_trail para 'db' sem sucesso;

alter system set AUDIT_TRAIL=db, extended scope=spfile;

2.) Após o procedimento acima, realizei o bounce no banco e ainda assim, o problema persiste.

Ao efetuar o comando SHOW PARAMETER audit, parece estar tudo ok.

audit_trail_config.PNG

Alguém teria alguma idéia? Já não sei mais o que fazer...

Desde já, muito obrigado pela atenção!

Leandro Barbosa

Answers

  • Evandro Lima-Oracle
    Evandro Lima-Oracle Member Posts: 106 Employee
    edited Nov 3, 2018 4:46PM

    Olá Leandro

    Você não menciona a Edição e Versão do Database que está utilizando, mas creio que o link abaixo possa lhe ajudar em se tratando de Standard Edition 11g:

    https://docs.oracle.com/cd/E11882_01/server.112/e10575/tdpsg_auditing.htm#TDPSG50000

    Tutorial: Creating a Standard Audit Trail

    Tente fazer o select na tabela DBA_AUDIT_TRAIL:

    pastedImage_1.png

    Espero que isso ajude.

    abs

    Leandro Barbosa
  • J.Laurindo Chiappa
    J.Laurindo Chiappa Member Posts: 28
    edited Nov 3, 2018 5:06PM

    Blz ? Então, minha Primeira pergunta é : ** qual *** a sua Versão Exata e Edição do RDBMS Oracle ?? Vc ** consultou ** a documentação Oracle na sua exata versão pra esse parâmetro ?? Pergunto isso porque SEI que antigamente(10g pra ser exato) no parâmetro AUDIT_TRAIL vc NÃO TINHA db,extended (ou só colocava TRUE ou só colocava db ou colucava DB_EXTENDED), vide https://docs.oracle.com/cd/B12037_01/server.101/b10755/initparams015.htm... Aí em versões  mais recentes sim foi introduzido a possibilidade de DB,EXTENDED, vide https://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams017.htm#REFRN10006 ... Tenha CERTEZA de estar usando a sintaxe CORRETA pra sua versão....

    Outra possibilidade : por padrão o acesso como SYSDBA normalmente não é auditadoi no bano, mas sim em arquivo externo, em arquivos .AUD - CERTEZA que os usuários que vc tá conectando não tem priv de SYSDBA ???

    E finalmente : no comando AUDIT vc tem que indicar o ** DONO ** da tabela a auditar : então, se vc escreveu :

    AUDIT SELECT ON u1.T1 by access;

    isso só funciona ** SE REALMENTE ** T1 é ** mesmo ** uma tabela (e não sinônimo) E o usuário U1 é MESMO o dono dessa tabela T1.... Consule a DBA_OBJECTS e a DBA_TABLES e confirme isso...

    Blz ?

    Leandro Barbosa
  • Leandro Barbosa
    Leandro Barbosa Member Posts: 2
    edited Nov 3, 2018 8:25PM

    Agradeço pela resposta.

    Então, antes da criação da auditoria efetuei alguns procedimentos como:

    - Criação de Novos Usuários ('u1', 'u2' e 'u3');

    - Criação de Role;

    - Criação de Profile (Limitando 'u2' a ter apenas uma conexão ativa);

    - Criação da Tabela T1 por 'u2';

    Acredito que eu possa ter cometido algum equívoco, ainda que não identificado. Utilizei uma nova VM (new), criei os usuários e a tabela e funcionou normalmente. Lá, o AUDIT_TRAIL estava setado como DB e não 'DB, EXTEND'.

    new_vm.PNG

    v_instance.PNG

    A sintaxe está correta, a tabela realmente chama-se 'T1' e é proveniente do schema 'U1'.

    Em tempo, gostaria de agradecer pela resposta. Sou novo neste mundo de TI - Banco de Dados (cerca de 4 meses) e essas respostas acrescentaram bastante. Sucesso!