Tempfiles in Oracle 9iR2

giovedì 24 gennaio 2008 alle 24:51 | Pubblicato su Backup and Recovery | Lascia un commento

Essendomi trovato ieri nella situazione di dover spostare tutti i file di un database versione 9.2.0.6 mi sono accorto di una cosa che effettivamente non sapevo:

i TEMPFILE (cioè il file componenti temporary tablespace e locally managed,vedere nota metalink 160426.1 ) non possono essere rinominati ne messi in modalità read-only

ne ho avuto una prima conferma da questo link .

Ora voglio analizzare meglio la fonte, ma a parte ciò l’ho verificato facendo le seguenti operazioni :



SQL> ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' TO 'E:\ORACLE\ORADATA\ORCL\TEMP01.DBF';
ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' TO 'E:\ORACLE\ORADATA\ORCL\TEMP01.DBF'
*
ERRORE alla riga 1:
ORA-01511: errore durante la ridenominazione di file log/dati
ORA-01516: file di log, di dati o temporaneo 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' non esiste

SQL> ALTER DATABASE DROP TEMPFILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF';
ALTER DATABASE DROP TEMPFILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF'
*
ERRORE alla riga 1:
ORA-01900: previsto l'uso della parola chiave LOGFILE

SQL> ALTER DATABASE TEMPFILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' DROP;

Modificato database.

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'E::\ORACLE\ORADATA\ORCL\TEMP01.DBF';

ALTER TABLESPACE TEMP ADD TEMPFILE 'E::\ORACLE\ORADATA\ORCL\TEMP01.DBF'
*
ERRORE alla riga 1:
ORA-01109: database non aperto

 
....
 
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'E:\ORACLE\ORADATA\ORCL\TEMP01.DBF';

Modificata tablespace.

SQL> SELECT * FROM V$TEMPFILE;

FILE# CREATION_CHANGE# CREATION_        TS#     RFILE# STATUS  ENABLED
BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------------- --------- ---------- ---------- ------- ---------- -
--------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
------------------------------------------------------------
1                0                    2          1 ONLINE  READ WRITE 4
194304000     512000   4194304000       8192
E:\ORACLE\ORADATA\ORCL\TEMP01.DBF

 

Effettivamente i TEMPFILE sono gestiti in modo particolare, essi non contengono dati per cui possono essere ricreati senza tanti patemi ed è quello che ho sempre fatto e non vengono assolutamente considerati da RMAN. Oggi ho voluto approfondire e credo di aver fatto bene.

In realtà sui manuali a me pare si affermi che tale operazione sia possibile. In effetti sul metalink, nota 97458.1 , un po’ vecchia, viene descritto questo comportamento e viene classificato come problema.

Un’ultimo link ad una vecchia discussione, con id 217793.995 in cui viene elencato cosa non si può fare con i TEMPFILES.

Oggi ho fatto una prova su un database 10.2.0.3 e tale problema pare sia stato eliminato in quanto l’operazione di rinomina funziona. Fra l’altro occorre notare che dalla versione 10g RMAN gestisce anche il “ripristino” dei tempfiles eliminando la necessità di ricrearli manualmente come avveniva in 9i

Lascia un commento »

RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: