Attention, si tu supprimes les tempfiles tu devras l'ouvrir en RESETLOGS ce qui peut poser problème.
Attention, si tu supprimes les tempfiles tu devras l'ouvrir en RESETLOGS ce qui peut poser problème.
De maniere générale ce n'est pas un peu dangereux au niveau de l'espace de stockage, d'avoir un tablespace TEMP en AUTOEXTEND ... ou du moins en MAX SIZE UNLIMITED ?
Pas besoin de sauvergarder les tempfiles: oui.
bah pas plus que de mettre un gros tempfile sans allouer l'espace... en effet, un tempfile de 100Mo ne prend cet espace que si il est utilisé. Ce qui veut dire qu'on peut créer des datafiles pensant avoir de la place et quand le tempfile grossi, le file system est plein
Je ne suis pas sûr. Je n'ai pas testé ce cas là mais le note Metalink 178992.1 (pour 8i/9i) dit que:Envoyé par Fred_D
Parce que Oracle n' écrit pas d'infos de checkpoint dans les tempfiles, Oracle peut démarrer une base avec un tempfile manquant. Si le tempfile n'existe pas lorsque la base est démarrée, DBW0 crée un fichier trace indiquant que le tempfile est manquant mais la base s'ouvre normalement.
démarrer en resetlog marche parfaitement... mais pour faire un norestlog il faut TOUS les fichiers... du moins, il me semble
J'ai fait un test avec la 10gR2: si on supprime le temp file du tablespace temporaire base arrêtée, au redémarrage de la base (command startup normale), Oracle n'émet aucun message d'erreur et écrit seulement dans l'alert.log qu'il a recréé le temp file.
J'ai fait le test avec la 9.2.0.1 sous Windows:
Si on arrête la base, on supprime le temp file et on la redémarre, la base n' a pas besoin d'être ouverte avec RESETLOGS:
Le temp file n'est pas recrée et il y a des erreurs dans 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 SQL> startup ORACLE instance started. Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production PL/SQL Release 9.2.0.1.0 - Production CORE 9.2.0.1.0 Production TNS for 32-bit Windows: Version 9.2.0.1.0 - Production NLSRTL Version 9.2.0.1.0 - Production SQL> select * from dba_temp_files; select * from dba_temp_files * ERROR at line 1: ORA-01157: cannot identify/lock data file 201 - see DBWR trace file ORA-01110: data file 201: 'D:\ORACLE\ORADATA\ORCL9\TEMP01.DBF'
Scénario identique avec la 10.2.0.1.0:Database mounted in Exclusive Mode.
Completed: ALTER DATABASE MOUNT
Tue Oct 24 21:47:49 2006
ALTER DATABASE OPEN
Tue Oct 24 21:47:49 2006
Errors in file d:\oracle\admin\orcl9\bdump\orcl9_dbw0_2120.trc:
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: 'D:\ORACLE\ORADATA\ORCL9\TEMP01.DBF'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) Le fichier spécifié est introuvable.
Tue Oct 24 21:47:49 2006
Errors in file d:\oracle\admin\orcl9\bdump\orcl9_dbw0_2120.trc:
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: 'D:\ORACLE\ORADATA\ORCL9\TEMP01.DBF'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) Le fichier spécifié est introuvable.
Tue Oct 24 21:47:49 2006
Errors in file d:\oracle\admin\orcl9\bdump\orcl9_dbw0_2120.trc:
ORA-01186: file 201 failed verification tests
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: 'D:\ORACLE\ORADATA\ORCL9\TEMP01.DBF'
Tue Oct 24 21:47:49 2006
File 201 not verified due to error ORA-01157
Tue Oct 24 21:47:50 2006
Thread 1 opened at log sequence 1
Current log# 3 seq# 1 mem# 0: D:\ORACLE\ORADATA\ORCL9\REDO03.LOG
Successful open of redo thread 1.
Tue Oct 24 21:47:50 2006
SMON: enabling cache recovery
Tue Oct 24 21:47:50 2006
Undo Segment 1 Onlined
Undo Segment 2 Onlined
Undo Segment 3 Onlined
Undo Segment 4 Onlined
Undo Segment 5 Onlined
Undo Segment 6 Onlined
Undo Segment 7 Onlined
Undo Segment 8 Onlined
Undo Segment 9 Onlined
Undo Segment 10 Onlined
Successfully onlined Undo Tablespace 1.
Tue Oct 24 21:47:50 2006
SMON: enabling tx recovery
Tue Oct 24 21:47:50 2006
Database Characterset is WE8MSWIN1252
replication_dependency_tracking turned off (no async multimaster replication found)
Completed: ALTER DATABASE OPEN
Aucun message d'erreur dans l'alert.log: il y a seulement un message qui indique que le temp file a été recréé:
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 Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 293601280 bytes Fixed Size 1248624 bytes Variable Size 83886736 bytes Database Buffers 205520896 bytes Redo Buffers 2945024 bytes Database mounted. Database opened. SQL> select * from dba_temp_files; FILE_NAME -------------------------------------------------------------------------------- FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS ---------- ------------------------------ ---------- ---------- --------- RELATIVE_FNO AUT MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ------------ --- ---------- ---------- ------------ ---------- ----------- D:\ORACLE\PRODUCT\ORADATA\ORCL\TEMP01.DBF 1 TEMP 20971520 2560 AVAILABLE 1 YES 3.4360E+10 4194302 80 19922944 2432
ALTER DATABASE OPEN
Tue Oct 24 22:18:45 2006
Thread 1 opened at log sequence 732
Current log# 6 seq# 732 mem# 0: D:\ORACLE\PRODUCT\ORADATA\ORCL\REDO06.LOG
Successful open of redo thread 1
Tue Oct 24 22:18:45 2006
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Tue Oct 24 22:18:45 2006
SMON: enabling cache recovery
Tue Oct 24 22:18:46 2006
Successfully onlined Undo Tablespace 1.
Tue Oct 24 22:18:46 2006
SMON: enabling tx recovery
Tue Oct 24 22:18:47 2006
Re-creating tempfile D:\ORACLE\PRODUCT\ORADATA\ORCL\TEMP01.DBF
Database Characterset is WE8MSWIN1252
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
QMNC started with pid=15, OS id=3636
Tue Oct 24 22:18:53 2006
Completed: ALTER DATABASE OPEN
alors là... j'suis scié... j'ai du confondre avec nos UNDO (une bagatelle quoi )
Merci énormément pour ce test
Le test est la preuve ultime, mais il y a beaucoup plus simple.
Il suffit de faire unpour voir que dans les 2 scripts proposés (resetlogs ou pas), dans la création du controlfile, la rubrique DATAFILE ne précise que les datafile et qu'ensuite, après l'OPEN, il y a l'ajout des tempfiles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part alter database backup controlfile to trace;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE CONTROLEFILE ... MAX... LOGFILE ... DATAFILE ... CHARACTERSET ...; RECOVER DATABASE USING BACKUP CONTROLFILE # Database can now be opened zeroing the online logs. ALTER DATABASE OPEN RESETLOGS; # Commands to add tempfiles to temporary tablespaces. # Online tempfiles have complete space information. # Other tempfiles may require adjustment. ALTER TABLESPACE TEMP ADD TEMPFILE ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager