IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Tables systèmes - détecter les insert/update/delete


Sujet :

Administration Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Tables systèmes - détecter les insert/update/delete
    Bonjour,

    Je suis nouveau sur le forum et je ne suis pas expert Oracle 10G, mais je souhaiterais trouver une méthode si possible pour récupérer la liste des opérations d'insert/update mais surtout des delete réalisés entre 2 dates.
    Je dois avouer que j'ai cherché sur ce forum ainsi que via google pour trouver une solution...
    Y a t'il un moyen de retrouver cette information quelque part et si oui comment?

    D'avance merci pour vos éventuels réponses.

    Edefius

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Je me permets de relancer mon post :

    Est ce possible? Oracle fournit il de telles fonctionnalités?

    Bien à vous,

    Edefius

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Avec logminer mais c'est assez complexe

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse, je vais creuser un peu. De nouvelles questions vont certainement me venir mais c'est déjà un avancement

  5. #5
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Avec Oracle 10G et le bon paramètrage de l'instance, la commande AUDIT permet aussi de retrouver le code des instructions SQL. Voir mon message dans la discussion OTN.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Super, merci! ça me parait plus simple que logminer avec lequel j'ai bien avancé mais je n'ai pas encore abouti.

    Par contre j'ai pas encore réussi à tester l'audit non plus

    Donc voici ma version d'oracle :
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod
    Il y a de l'info sur l'audit et ils disent qu'il faut un paramétrer init.ora :
    il faut positionner le paramètre de démarrage AUDIT_TRAIL dans le fichier INIT.ORA de la base seulement je ne retrouve pas "AUDIT_TRAIL" dans mon init.ora.

    J'ai tout de même été plus loin en testant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    AUDIT INSERT,UPDATE,DELETE ON account.structure_societe BY ACCESS
    -->audit succedeed
    SELECT * FROM sys.dba_obj_audit_opts
    WHERE owner = 'ACCOUNT' AND object_name LIKE 'STRUCTURE_SOCIETE';
    -->Les flags A/A sont ok positionnés pour insert,update et delete
    Donc je fait un test d'update sur la table "auditée" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE account.structure_societe
    SET nom='A DETRUIRE *'
    WHERE groupe=1 AND societe=5 AND division=1
     
    COMMIT
    -->succedeed
    ET ensuite je recherche la trace de cette update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TIMESTAMP, username, obj_name, action_name, sql_text FROM dba_audit_trail
    --> No rows returned
    et rien du tout... dommage.

    Avez vous une idée de la raison?

    D'avance merci.

    Edefius

  7. #7
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Il faut exécuter:

    avec un SPFILE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter system set audit_trail=DB_EXTENDED scope=spfile;
    ou

    ajouter dans le PFILE init.ora:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    audit_trail=DB_EXTENDED

    et dans tous les cas redémarrer l'instance.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Salut, cela ne change rien. Depuis hier j'ai essayé les 2 méthodes mais la table d'audit n'est jamais impactée par l'update.
    Qd je redémarre l'instance je le fait via les services, est ce correcte?

    J'ai également essayé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AUDIT ALL BY account BY ACCESS;
    Si vous voyez une autre piste, je serais intéressé.

    Bien à vous

  9. #9
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    J'ai fait des tests avec Oracle XE et Oracle 10.2.0.1 Entreprise Edition et ça marche. Je n'ai pas de 10.1.0.2: il est possible que le paramètre en 10.1 soit 'db,extended' au lieu de 'db_extended' mais je n'en suis pas sûr.

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Ok je continue mess recherches et essais grâce à vos postes et DOC.

    Juste une question pour laquelle je n'ai pas encore trouver de réponse, mon utilisateur :"account" dispose des roles DBA,CONNECT et RESSOURCE.
    Est ce suffisant?

  12. #12
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Oui. Le fait d'activer l'audit sur un objet ne nécessite pas de droit supplémentaire pour les utilisateurs qui utilisent l'objet: c'est transparent. Et redémarrer l'instance avec le service Windows doit fonctionner.

    Vérifiez que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> show parameter audit_trail
     
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    audit_trail			     string	 DB_EXTENDED

  13. #13
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Points : 616
    Points
    616
    Par défaut
    tu as les droits en écriture dans ton audit_file_dest?

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Je n'utilise pas le audit_file_dest dans ma config, car je suis en mode DB_EXTENDED et non en mode OS.

    J'ai vérifié la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SQL> 
    SHOW parameter audit_trail
     
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    audit_trail			     string	 DB_EXTENDED
    Et comme vous le voyez la commande est en ordre.

    Je continue, merci déjà pour vos réactions

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,

    Il semble que mon problème vient de toad, si je passe à travers SQLPlus. La trace de mes update est "auditée".

    Je n'ai pas accès à l'applicatif, je ne suis pas certain que l'audit va fonctionner.

    Avez vous déjà rencontré des problèmes via l'emploi de toad?

    Bien à vous

  16. #16
    Membre éclairé Avatar de Z3phur
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 680
    Points : 807
    Points
    807
    Par défaut
    bonjour,

    j'ai aussi remarqué que sous Toad nous ne pouvions pas faire de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SHOW quelquechose...
    mais à la place tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select name, type, value
    from v$parameter
    where name = 'audit_trail';
    ==========================================
    La justice sans la force est impuissante, la force sans la justice est tyrannique...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evenement Insert,Update,Delete sur une table
    Par olibara dans le forum Développement
    Réponses: 7
    Dernier message: 20/11/2013, 16h28
  2. LINQ to SQL] Tracer les requêtes SQL d'Insert/Update/Delete
    Par annalady dans le forum Accès aux données
    Réponses: 5
    Dernier message: 30/07/2009, 10h17
  3. Récupérer les erreurs Oracle pendant les insert/update/delete
    Par robinson50 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 05/03/2009, 11h44
  4. Réponses: 2
    Dernier message: 01/10/2007, 13h24
  5. Redirect de la page après un insert/update/delete
    Par mchicoix dans le forum XMLRAD
    Réponses: 5
    Dernier message: 25/02/2005, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo