Bonjour,

Sous Oracle 11g, je dois auditer les insert et update sur une table en production.

L'audit semble ne pas être activé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
SQL> SHOW PARAMETER audit;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/app/oracle/admin/MySID/adump
audit_sys_operations                 boolean     FALSE
audit_syslog_level                   string
audit_trail                          string      NONE
Je dois donc faire ceci pour tracer l'audit en db avec sql bind et text:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SQL> ALTER SYSTEM SET AUDIT_TRAIL=db,extended SCOPE=SPFILE;
Je ne sais si ceci est également nécessaire pour activer l'audit d'un point de vue générale ou si c'est juste pour auditer les actions des users avec le privilège SYSDBA ou SYSOPER:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SQL> ALTER SYSTEM SET AUDIT_SYS_OPERATIONS=true SCOPE=SPFILE;
Si c'est juste pour auditer les actions des users avec le privilège SYSDBA ou SYSOPER et que ce n'est pas gourmand, autant l'activer par défaut, ça peut toujours être intéressant ? (J'imagine)

Il faut ensuite redémarrer la DB pour prendre en compte ces changements et activer l'audit. (Je n'ai pas trouvé qu'on pouvait l'activer à chaud)
A partir de là, est ce que j'ai une perte de performance ?
Si par exemple, je laisse AUDIT_SYS_OPERATIONS=false mais que je set AUDIT_TRAIL=db,extended, l'audit est actif mais rien n'est audité tant que je n'ai rien spécifié donc pas de perte de performance ? (c'est surtout ce point qui m'intéresse)

Ensuite, je dois préciser la table à auditer:
SQL> AUDIT insert, update, delete ON maTable;
Et j'imagine qu'à partir de là, la DB carbure en chargeant les tables AUD$ ?

Est ce que le BY ACCESS ou BY SESSION est nécessaire ?

Merci d'avance pour toutes vos réponses et remarques.