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

SQL Oracle Discussion :

recherche date de maj de données dans une table


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut recherche date de maj de données dans une table
    Bonjour,

    Sur une application pour laquelle je travaille, je suis censé effectué une purges des éléments oracles qui ne servent plus à l'heure actuelle.

    Pour cela, je souhaiterais savoir si était possible via les tables système oracle d'extraire pour chaque table la date de dernière insertion ou mise à jour d'enregistrements dans celle-ci.

    J'ai trouvé ceci mais je n'ai pas vraiment d'info sur ce que ressort TIMESTAMP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT table_name, timestamp FROM ALL_TAB_MODIFICATIONS WHERE table_owner='BOFI' ORDER BY table_name;
    Merci d'avance pour vos réponses.

    Version de la base Oracle : 9.2.0.5

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Après vérification sur Metalink vu que je ne connaissais pas cette table, il s'agit du nombre de modifications depuis la dernière analyse.

    Donc ça ne sert à rien pour ce que tu veux.

    SQL> select * from user_tab_modifications;

    TABLE_NAME PARTITION_NAME
    ------------------------------ ------------------------------
    SUBPARTITION_NAME INSERTS UPDATES DELETES TIMESTAMP TRU
    ------------------------------ ---------- ---------- ---------- --------- ---
    EMP
    14 0 0 16-OCT-03 NO


    If a monitored table has been modified more than 10%, then these
    statistics are considered stale

    Analyze the tables whose statistics have become stale using the following command:

    Step 6:
    -------

    Query dba_tab_modifications to check whether the table has been analyzed
    or not?

    SQL> select * from user_tab_modifications;

    no rows selected

    No rows in dba_tab_modifications indicates that the table is analyzed.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Peut être il est envisageable d'utiliser le mécanisme d'audit.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    la vue all_tab_modifications est peuplée lorsque MONITORING est activé pour la table. Dans 10g, c'est fait pout toute la base et non table par table. L'information dans cette vue est utilisée pour la collecte des statistiques.

    La vraie solution comme l'a signalée mnitu est l'audit. Mais il y a une solution intermédiaire en utilisant flashback_transaction_query. Si la recherche est positive alors on est fixée mais si c'est négative alors c'est l'audit ...
    Consultant et formateur Oracle

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Le flashback_transaction_query n'est pas lancé.

    Je vais demander un audit de la base pour récupérer les informations voulues.

    Merci pour vos réponses

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select *
    from flashback_transaction_query
    Sinon, si la recherche se fait pour une opération déjà effectuée alors c'est trop tard pour l'audit. Ce qui reste si la commande ci-dessus ne donne pas le résultat recherché est l'utilisation de LogMinor
    Consultant et formateur Oracle

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

Discussions similaires

  1. [AC-2010] Rechercher, modifier des données dans une table liée
    Par texas2607 dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/04/2015, 15h28
  2. Tracer les dates de changements de données dans une table
    Par NewDpr dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/02/2015, 22h11
  3. Recherche de données dans une table SQL
    Par kibbb dans le forum Général Python
    Réponses: 0
    Dernier message: 15/01/2013, 10h41
  4. Réponses: 3
    Dernier message: 24/09/2011, 19h40
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

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