臨時表空間已滿的解決方法

hky87發表於2009-10-19

臨時表空間主要用來存放由排序、匯總、索引產生的臨時資料。

臨時表空間已滿的解決方法:

以下方法均經過我實際操作,可行方法。

一、利用中轉臨時表空間:新建一個臨時表空間,修改預設臨時表空間

1.      create temporary tablespace temp2 tempfile ‘D:\ORACLE\ORADATA\ORCL\TEMP02.dbf’ size 20M reuse autoextend on next 640k maxsize unlimited; --建立中轉表空間

2.      alter database default temporary tablespace temp2;--修改預設表空間

3.      drop tablespace temp including contents and datafiles;--刪除原來的臨時表空間

4.      create temporary tablespace temp tempfile ‘D:\ORACLE\ORADATA\ORCL\TEMP.dbf’ size 20M reuse autoextend on next 640k maxsize unlimited;--重新建立臨時表空間

5.      alter database default temporary tablespace temp;--重置預設臨時表空間為temp表空間

6.      drop tablespace temp2 including contents and datafile;--刪除中轉用的臨時表空間

7.      alter user scott temporary tablespace temp;--重新指定使用者臨時表空間為重建的臨時表空間

二、重啟資料庫(上次遇到這個問題時,重啟庫之後資料庫突然變得很慢,不知道是否跟我做了alter system flush shared_pool操作有關,過段時間後,速度正常了)

三、Kill掉正在使用臨時段的程式

1.      檢視誰在使用臨時段

SELECT se.username, SID, serial#, sql_address, machine, program, TABLESPACE,

       segtype, CONTENTS

  FROM v$session se, v$sort_usage su

 WHERE se.saddr = su.session_addr

2.      Kill掉這些程式

alter system kill session ‘sid,serial#’

3.      temp表空間進行碎片整理

alter tablespace temp coalesce;(不能對臨時表空間進行碎片整理?)

四、使用診斷時間

1、確定temp表空間的ts#

select ts#, name from ts$;

0,SYSTEM

1,UNDOTBS1

2,SYSAUX

3,TEMP

4,USERS

5,UNDOTBS2

6,EXAMPLE

7,HR_DATA

8,TEMP2

9,TEMP1

2、執行清理操作

3、alter session set events ‘immediate trace name DROP_SEGMENTS level 4’;

其中,level值為ts#+1;

檢視錶空間使用情況:

SELECT a.tablespace_name "表空間名(M)", total / 1024 / 1024  "表空間大小(M)",

       free / 1024 / 1024  "表空間剩餘大小(M)",

       (total - free) / 1024 / 1024  "表空間使用大小(M)",

       ROUND ((total - free) / total, 4) * 100 "使用率 %"

  FROM (SELECT   tablespace_name, SUM (BYTES) free

            FROM dba_free_space

        GROUP BY tablespace_name) a,

       (SELECT   tablespace_name, SUM (BYTES) total

            FROM dba_data_files

        GROUP BY tablespace_name) b

 WHERE a.tablespace_name = b.tablespace_name

order by 5 desc;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10314474/viewspace-616902/,如需轉載,請註明出處,否則將追究法律責任。

相關文章