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 :

Comment trouver la date de la dernière modification d'une table ? [10g]


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut Comment trouver la date de la dernière modification d'une table ?
    Comment trouver la date de la dernière modification d'une table ?

    J'ai trouvé la table ALL_TAB_MODIFICATIONS, qui avait l'air de correspondre à ça, mais la table que je cherche n'y figure pas.
    Et pourtant, la table en question est modifiée chaque jour (plus d'une fois).
    J'ai trié ALL_TAB_MODIFICATIONS par date, et je vais de 2010 à hier. Donc ma table ne peut pas ne pas y figurer.

    J'ai raté quelques chose ?
    Sinon, existe t'il une autre table pour ce que je cherche ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous parlez de modification de données (DML) ou de structure (DDL) ?

  3. #3
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Vous parlez de modification de données (DML) ou de structure (DDL) ?
    De données.
    (c'est vrai que j'ai pas précisé)
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Il y a la pseudo colonne ORA_ROWSCN dans chaque table depuis la V10, mais ce n'est pas très exploitable.
    On a dû en parler ici à l'occasion, une recherche sur ce mot-clé devrait vous aider.

  5. #5
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Bah, pour la date de dernière modification de la table, c'est pas mal max(TIMESTAMP_TO_SCN(ora_rowscn)), non ? (Mis à part que ça peut te renvoyer null )

    Le plus gros problème avec cette fonction, c'est que pour une ligne, on récupère le dernier scn du bloc, et non de la ligne (à moins de forcer la rowdependencie)... mais ce problème ne se pose pas ici...

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Tiens, j'ai retrouvé un sujet où j'avais détaillé la chose :
    http://www.developpez.net/forums/d10...e/#post5777588

  7. #7
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut dbms_stats.flush_database_monitoring_info
    Bonjour,
    Citation Envoyé par Lung Voir le message
    Et pourtant, la table en question est modifiée chaque jour (plus d'une fois).
    J'ai trié ALL_TAB_MODIFICATIONS par date, et je vais de 2010 à hier. Donc ma table ne peut pas ne pas y figurer.
    ALL_TAB_MODIFICATIONS n'est rafraîchie que toutes les 15 minutes (depends de la version d'Oracle). Normal, les infor sont gardées en mémoire et ne vont pas être écrites à chaque exécution.
    Il est possible de forcer le rafraîchissement avec: dbms_stats.flush_database_monitoring_info

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    > create table TEST as select * from dual
    table TEST created.
    > insert into TEST select * from dual connect by level <= 1000
    1,000 rows inserted.
    > exec dbms_stats.flush_database_monitoring_info
    anonymous block completed
    > select * from all_tab_modifications where table_name='TEST'
    TABLE_OWNER                                                                                                                      TABLE_NAME                                                                                                                       PARTITION_NAME                                                                                                                   SUBPARTITION_NAME                                                                                                                   INSERTS    UPDATES    DELETES TIMESTAMP            TRUNCATED DROP_SEGMENTS
    -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ---------- ---------- ---------- -------------------- --------- -------------
    FRANCK                                                                                                                           TEST                                                                                                                                                                                                                                                                                                                                                                                                     1000          0          0 29-JUL-13 13:47:14   NO                    0
    Par contre, c'est remis à zéro à chaque calcul de stats. Donc ne rien trouver dans ALL_TAB_MODIFICATIONS peut vouloir dire qu'il n'y a pas eu de de modif depuis le dernier calcul de stats.

    Cordialement,
    Franck.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2015, 03h27
  2. Réponses: 6
    Dernier message: 09/02/2015, 10h54
  3. [AC-2003] récupérer date de dernière modification d'une table
    Par granddebutant dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/12/2011, 17h11
  4. Réponses: 3
    Dernier message: 17/07/2007, 15h21
  5. date de dernière modification d'une table ?
    Par NiBicUs dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/12/2004, 18h11

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