Bonjour,
Je suis à la recherche d'une vue (ou autre) me permettant de voir les date et heures d'arrêt et démarrage de mes bases sans aller voir dans les fichiers alerte.log
Merci d'avance
Bonjour,
Je suis à la recherche d'une vue (ou autre) me permettant de voir les date et heures d'arrêt et démarrage de mes bases sans aller voir dans les fichiers alerte.log
Merci d'avance
pour le démarrage :
Pour l'arrêt je crains qu'il n'y en a pas... mais tu peux éventuellement switcher les redos juste avant l'arrêt (trigger BEFORE SHUTDOWN ON DATABASE) et passer cette requête pour avoir l'heure du dernier switch de redo
Code : Sélectionner tout - Visualiser dans une fenêtre à part select STARTUP_TIME from v$instance;
ou tout simplement, créer une table externe sur l'alert.log pour pouvoir faire un SELECT de ton alert.log
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select max(FIRST_TIME) from v$log_history where first_time < (SELECT STARTUP_TIME FROM v$instance);![]()
pour info, j'ai peaufiné le script de création et consultation de la table basé sur l'alert.log
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 DECLARE bdump VARCHAR2(30); BEGIN SELECT value INTO bdump FROM v$parameter WHERE name = 'background_dump_dest'; BEGIN EXECUTE IMMEDIATE 'DROP DIRECTORY BDUMP'; EXCEPTION WHEN OTHERS THEN null; END; EXECUTE IMMEDIATE 'CREATE DIRECTORY BDUMP AS ''' || bdump || ''''; END; / COLUMN global_name NEW_VALUE inst_name NOPRINT select global_name from global_name; drop table alert_log; create table alert_log ( msg varchar2(4000) ) organization external ( type oracle_loader default directory BDUMP access parameters ( records delimited by newline FIELDS TERMINATED BY "@" ) location('alert_&inst_name..log') ) reject limit 1000; SELECT DECODE(SUBSTR(dt1,-5),'.trc:',dt2,dt1) "date", msg FROM ( SELECT id,LAG(msg) OVER (ORDER BY id) dt1,LAG(msg,2) OVER (ORDER BY id) dt2, msg FROM (SELECT rownum id,msg FROM alert_log) ) where msg like '%ORA-%';
Je l'ai lancé, c'est parfait.
Merci pour votre aide.
![]()
Partager