Cristian Cudizio on the WEB

esperimenti web di un DBA

  • Increase font size
  • Default font size
  • Decrease font size
Home

TEMPFILE

E-mail Print PDF

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

i TEMPFILE non possono essere rinominati ne messi in modalità read-only

ne ho avuto conferma da questo link .

 Ora voglio analizzare meglio la fonte, ma a parte ciò l'ho verificato perchè facendo :

SQL> ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF' TO 'E:\OR
ACLE\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.D
BF' 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\GEOCALL\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. 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.

 

Add comment


Security code
Refresh