1. Pour assurer la traçabilité de la base il faut :
1.1 1’audit :
L’administrateur d’une base de données, a toujours besoin de savoir ce qui se passe dans la base qu’il administre, surtout lorsqu’il y a perte de données suspect ou effacement de table, index…etc.
Pour cela oracle donne deux possibilités d’auditer une base de données :
1. Audit par des déclencheurs(triggers), et c’est à l’administrateur d’intervenir pour écrire le procédure d’audit, et de décider comment et quelles informations doit stocker, et ou il est stocker
Il existe deux types de déclencheurs : system triggers et DML triggers.
Les system triggers pour les (LOGON, CREATE, DROP ….) et les DML triggers pour toute requêtes (update, select, delete…).
Exemple : Voici un exemple de déclencheur pour auditer l’arrêt de la base :(il enregistre les infos (date et heur) dans la table TRACE)
CREATE OR REPLACE TRIGGER TRACE_BD2 BEFORE SHUTDOWN ON DATABASE DECLARE a constant varchar2(50):='ARRET DE LA BASE :'; BEGIN EXECUTE IMMEDIATE 'INSERT INTO TRACE VALUES('''||A||TO_CHAR(SYSDATE,'yyyymmdd_hh24mi')||''')'; EXCEPTION WHEN others THEN NULL; END; |
2. Audit par la commande AUDIT ou l’administrateur a seulement besoin d’activer l’audit sur une action ou un objet, et oracle s’occupe de l’enregistrement des informations sur l’action produite.
§
Exemple : AUDIT SESSION ; AUDIT SESSION WHENEVER NOT SUCCESSFUL ; NB : il faut que le paramètre Audit_trail=DB ; La consultation des résultats se fait par cette requête : SELECT username, os_username, terminal FROM dba_audit_session ; |
1.2 Les fichiers log et trace sur le serveur :
Si des problèmes réseaux persistes vous pouvez utiliser les fichiers" logs et traces" pour les résoudre.
Oracle génère des fichiers logs et traces avec des informations. Par défaut Oracle produit des fichiers logs pour le client et le listener Oracle. Vous de pouvez pas désactiver les login clients. Les événements de login sont le démarrage et l’arrêt du listener et des erreurs particulières. Les logs de listener enregistrent les informations tel que : numéro de version, attente de connexion, protocole. Vous ne pouvez activer le login du client du middle-tiers ou des serveurs de localisation. La plupart des paramètres de login et de traces sont dans le fichier de paramétrage « sqlnet.ora ».
1.2.1 Fichier Log du serveur Oracle :
Par défaut le serveur est configuré pour générer un fichier log. Il centralise les démarrages, les arrêts du listener, les connexions, les refus de connexions.
Par défaut le nom du fichier est : « listener.log » Ce fichier liste les connexions établies…
1.2.2 Tracer le serveur Oracle :
Tracer des informations sur le trafic amènent davantage d’informations. Dans les fichiers traces, chaque ligne du fichier débute avec le nom de la procédure exécutée en nombre hexadécimale. Chaque procédure est responsable d’une action. Le type de code de chaque paquet dépend de l’action effectuée. Tous les types de paquets débutent avec NSP.
Liste sommaire des types de paquets :
Paquet clavier | Types de paquets |
NSPTAC | Accept |
NSPTRF | Refuse |
NSPTRS | Resend |
NSPDA | Data |
NSPCNL | Control |
NSPTMK | Mark |
Plusieurs codes numériques Ces codes peuvent être trouvés dans les fichiers traces.
Exemple : Nspsend : plen=12, type=4
sont aussi utilisés pour aider aux diagnostics.
Liste sommaire des codes numériques :
Code | Type de paquet |
1 | Connect |
2 | Accept |
3 | Acknowledge |
4 | Refuse |
5 | Redirect |
6 | Data |
7 | Null, empty data |
9 | Abort |
11 | Resend |
12 | Marker |
13 | Attention |
14 | Control information |
Par défaut le fichier et le répertoire sont :
%ORACLE_HOME%\network\trace\listener.trc pour Windows
Vous pouvez mettre le niveau de trace à OFF, USER, ADMIN, ou SUPPORT.
OFF pas de traces
USER Détecte les erreurs de l’utilisateur
ADMIN Contient toutes les erreurs des utilisateurs ainsi que les erreurs spécifiques
SUPPORT C’est le plus haut niveau, ces informations sont utiles à Oracle Support.
Le fichier listener.ora possède des informations pour les niveaux de traces dont les paramètres sont :
TRACE_LEVEL_LISTENER = ADMIN TRACE_FILE_LISTENER = LISTENER.trc TRACE_DIRECTORY_LISTENER = D:\Oracle\ora10g\network\trace LOG_DIRECTORY_LISTENER = D:\Oracle\ora10g\network\log LOG_FILE=LISTENER = LISTENER.log |
Caractéristiques des paramètres :
Paramètres dans Listener.ora | Définition |
TRACE_LEVEL_LISTENER | OFF, USER, ADMIN, SUPPORT |
TRACE_FILE_LISTENER | Le nom du fichier de trace |
TRACE_DIRECTORY_LISTENER | Le répertoire ou le fichier de trace est écrit |
LOG_DIRECTORY_LISTENER | Le répertoire ou le fichier de log est écrit |
LOG_FILE=LISTENER | Le nom du fichier Log du listerner |