|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 12 ![]() |
Bonjour,
Je souhaite récupérer la date et l'heure de la mise à jour des table d'une BDD Oracle. Tous les matins, la base est mise à jour. Pour connaitre la durée du traitement je souhaite connaitre la date de modification de la première et de la dernière table. Cette mise à jour se fait par ordre alphabatique, je connais donc la première et la dernière table mises à jours... any ideas? avez-vous toutes les infos pour m'aider? roudy |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 078 ![]() |
Bonjour,
Je vois bien un trigger ON UPDATE sur la table, qui enregistrement la date/heure soit directement dans l'enregistrement modifié, soit dans une table annexe. Tatayo. |
|
|
00
|
|
|
#3 |
![]() ![]() |
Il doit y avoir ça dans les log d'Oracle mais je ne connais pas Oracle.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 12 ![]() |
en fait j'ai trouvé, il faut faire:
Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() |
last_analysed renvoie la dernière mise à jour des statistiques de la table.
Si vous n'avez pas prévu de colonne pour tracer la mise à jour des données, vous ne pouvez pas savoir quand une table a été mise à jour.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 12 ![]() |
ok, je me suis mal exprimé, en fait les stats sont rejouées tous les matins, c l'info qu'il me faut pour ma requête.
reste juste à la jouer avec deux user/Schema |
|
|
00
|
|
|
#7 | |
![]() Inscription : décembre 2002 Messages : 2 381 ![]() |
Citation:
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
|
|
#8 | |
![]() Inscription : décembre 2002 Messages : 2 381 ![]() |
Citation:
Par ailleurs, il faut prendre l'habitude de préciser systématiquement votre OS et votre version d'Oracle, qui ont bien souvent une importance pour la réponse. Si vous êtes en 10g, et que vous vous intéressez à des modifications récentes (quelques jours), vous pourriez utiliser quelque chose comme ceci pour récupérer la date de dernière modification des données de la table : Code :
SELECT max(scn_to_timestamp(ora_rowscn)) FROM LA_TABLE;
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 432 ![]() |
Citation:
je ne comprends pas trop ce que vous voulez faire (chercher la durée du traitement, ou la date de la dernière mise à jour de chaque table) ?? Premier cas ; ce que je dis est peut être idiot, mais pourquoi ne pas compter le temps que dure cette procédure de mise à jour, plutôt que de chercher à faire des calculs complexes sur toutes les tables ?? Second cas ; SELECT last_ddl_time FROM all_objects where object_name = 'MA-TABLE'; ou quelque chose d'équivalent .? Maintenant, n'importe quel outil comme Toad te donne ces informations 'triviales' ; et je pense totalement inutile de coller un trigger sur qq chose que fait Oracle tout seul.
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com