Τετάρτη 16 Μαρτίου 2016

Oracle Temporary Tablespace - Σβήσιμο και ξανά δημιουργία


Στο άρθρο αυτό θα μιλήσουμε για το temporary tablespace μιας βάσης δεδομένων oracle. Δημιουργούμε ένα καινούργιο TEMP1 (default temporary tablespace). Σβήνουμε το παλιό (TEMP), το ξαναδημιουργούμε πιο μικρό και το κάνουμε default temporary για την βάση. Τέλος σβήνουμε το παλιό TEMP1. Έτσι καταλήγουμε με ένα μικρότερο temporary tablespace με το ίδιο όνομα αλλά με πολύ μικρότερο μέγεθος.

SQL> create temporary tablespace temp1 tempfile '/u02/dbfiles/aylo/temp101_u02.dbf' size 2000m 

SQL> alter database default temporary tablespace TEMP1

SQL> drop tablespace TEMP including contents and datafiles

SQL> create temporary tablespace temp tempfile '/u02/dbfiles/aylo/temp.dbf' size 2000m 

SQL> alter database default temporary tablespace TEMP

SQL> drop tablespace TEMP1 including contents and datafiles


Σε περίπτωση που σκάει η εντολή σβησίματος του TEMP tablespace, τρέχουμε το παρακάτω query και με βάση τα αποτελέσματα σκοτώνουμε το session-s που δημιουργούν το πρόβλημα και προχωράμε στην οριστική διαγραφή.

SQL> select se.username username,se.SID sid, se.serial# serial#, se.status status, se.sql_hash_value, se.prev_hash_value,se.machine machine, su.TABLESPACE 
tablespace,su.segtype,su.CONTENTS CONTENTS
from v$session se, v$sort_usage su
where se.saddr=su.session_addr;

SQL> alter system kill session 'sid,serial'; (πχ ‘23,342’ )

0 σχόλια:

Δημοσίευση σχολίου