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
Version imprimable
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: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:
1
2
3 select max(FIRST_TIME) from v$log_history where first_time < (SELECT STARTUP_TIME FROM v$instance);
Merci pour ta réponse rapide.
pour info, j'ai peaufiné le script de création et consultation de la table basé sur l'alert.log
Code:
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.
:yaisse2: