Bonjour tout le monde,
J'ai une base Oracle V9 qui ne veut plus s'ouvrir. J'arrive à la monter mais c'est tout. Visiblement c'est un datafile qui coince et je voudrais le désactiver pour ensuite ouvrir ma base.
Là où ça coince, c'est sur le mode sauvegarde qui doit être activé mais ... ça coince à mort
Voilà ce que j'ai fais.
Démarrage de la base avec un beau message d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SQL> startup ORACLE instance started. Total System Global Area 147228480 bytes Fixed Size 743232 bytes Variable Size 121634816 bytes Database Buffers 24576000 bytes Redo Buffers 274432 bytes Database mounted. ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_OCPA_01.dbf' SQL>
Contenu du fichier de 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 more /DATABASE/PAAY1D/ADMIN/TRACE/BDUMP/alert_PAAY1D.log Database mounted in Exclusive Mode. Completed: ALTER DATABASE MOUNT Thu Apr 6 15:15:30 2017 ALTER DATABASE OPEN Thu Apr 6 15:15:30 2017 Errors in file /DATABASE/PAAY1D/ADMIN/TRACE/BDUMP/paay1d_dbw0_802948.trc: ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_OCPA_01.dbf' ORA-27037: unable to obtain file status IBM AIX RISC System/6000 Error: 2: No such file or directory Additional information: 3 Thu Apr 6 15:15:30 2017 Errors in file /DATABASE/PAAY1D/ADMIN/TRACE/BDUMP/paay1d_dbw0_802948.trc: ORA-01157: cannot identify/lock data file 6 - see DBWR trace file ORA-01110: data file 6: '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_AYPA_01.dbf' ORA-27037: unable to obtain file status IBM AIX RISC System/6000 Error: 2: No such file or directory Additional information: 3 ORA-1157 signalled during: ALTER DATABASE OPEN...
Pour ouvrir la base, il faut que je désactive le ficher posant problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /DATABASE/PAAY1D/DATAFILES/TECHORA/system01.dbf /DATABASE/PAAY1D/DATAFILES/TECHORA/undotbs01.dbf /DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_OCPA_01.dbf /DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_AYPA_01.dbf
La base est en mode NOARCHIVELOG.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination /apps/oracle/9.2.0/dbs/arch Oldest online log sequence 37 Current log sequence 39
Désactivation du fichier /DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_OCPA_01.dbf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SQL> ALTER DATABASE DATAFILE '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_AYPA_01.dbf' OFFLINE ; ALTER DATABASE DATAFILE '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_AYPA_01.dbf' OFFLINE * ERROR at line 1: ORA-01145: offline immediate disallowed unless media recovery enabled
OK, ça coince! Je mets la base en mode ARCHIVELOG pour pouvoir désactiver le datafile.
Et là, ça coince encore plus...
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
42
43
44
45
46
47
48 SQL> show parameter archive NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ archive_lag_target integer 0 log_archive_dest string log_archive_dest_state_1 string enable log_archive_dest_state_10 string enable log_archive_dest_state_2 string enable log_archive_dest_state_3 string enable log_archive_dest_state_4 string enable log_archive_dest_state_5 string enable log_archive_dest_state_6 string enable log_archive_dest_state_7 string enable log_archive_dest_state_8 string enable NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_state_9 string enable log_archive_dest_1 string log_archive_dest_10 string log_archive_dest_2 string log_archive_dest_3 string log_archive_dest_4 string log_archive_dest_5 string log_archive_dest_6 string log_archive_dest_7 string log_archive_dest_8 string log_archive_dest_9 string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_duplex_dest string log_archive_format string %t_%s.dbf log_archive_max_processes integer 2 log_archive_min_succeed_dest integer 1 log_archive_start boolean FALSE log_archive_trace integer 0 remote_archive_enable string true standby_archive_dest string ?/dbs/arch SQL> alter database archivelog; alter database archivelog * ERROR at line 1: ORA-00265: instance recovery required, cannot set ARCHIVELOG mode
Le recouvrement n’est pas possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SQL> recover database; ORA-00283: recovery session canceled due to errors ORA-01110: data file 4: '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_OCPA_01.dbf' ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/DATABASE/PAAY1D/DATAFILES/INDXORA/INDX_OCPA_01.dbf'
Là, j'avoue que je ne sais plus quoi faire.
Pour désactiver mon fichier il faut que je passe en mode archivelog mais je n'y arrive pas... Est-ce que vous avez une idée pour que je m'en sorte?
Par avance merci pour votre aide.
Partager