Ricreare la TABLESPACE TEMPORANEA su ORACLE


A volte, nelle giornate peggiori, quando magari determinate congiunzioni astrali non ci sono particolarmente favorevoli puo’ capitare che una TABLESPACE se ne vada a puttane, quando questa TABLESPACE poi è quella TEMPORANEA, dopo aver bestemmiato abbondantemente cominciate a ordinare nella vostra mente le persone alle quali recentemente avete fatto del male filtrando quali tra queste possano centrarci qualcosa con il voodoo, la macumbaa e la stregoneria in generale
ma tralasciamo adesso l’ astrologia, l’ alchimia e le scienze magiche e tornaniamo su sqlplus e al nostro db… 😀
la rottura della TS TEMP fortunatamente non capita spesso, puo’ capitare successivamente ad un ripristino o a qualche operazione particolare nel db (*).
Vediamo come è possibile uscirne vivi:
La nostra TS TEMP principale del db è:
SQL> select PROPERTY_VALUE from database_properties
where property_name = ‘DEFAULT_TEMP_TABLESPACE’;

PROPERTY_VALUE
——————————————————————————–
TEMP
E ovviamente se proviamo a fare la cosa più normale in questi casi, e cioè dropparla e rigenerarla, essendo la TEMP globale del db otterremo un errore ORA-12906:
SQL> drop tablespace temp;
drop tablespace temp
*
ERROR at line 1:
ORA-12906: cannot drop default temporary tablespace

Per risolvere il problema dobbiamo quindi creare una nuova TS temporanea provvisoria così:
SQL> create temporary tablespace temp2 tempfile ‘/oradata2/temp2.dbf’ size 10M;
Tablespace created.

Definirla come temporanea principale:
SQL> alter database default temporary tablespace temp2;
Database altered.

Per confermare che sia la TS che vogliamo diamo un:
SQL> select username, temporary_tablespace from dba_users where username in (‘utente1′,’SCOTT’,’utente2′);

USERNAME TEMPORARY_TABLESPACE
—————————— ——————————
utente1 TEMP2
PROD TEMP2
utente2 TEMP2

A questo punto finalmente cancelliamo la TS temporanea ex-di-default
SQL> drop tablespace temp;
Tablespace dropped.

Cancelliamo il datafile corrispondente nel filesystem mi raccomando e infine riprocediamo come sopra
ma stavolta per la TS TEMP definitiva.
Amen

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.