Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 服務器出現TEMP表空間極限擴大的解決方法

服務器出現TEMP表空間極限擴大的解決方法

日期:2017/2/8 10:29:21      編輯:關於服務器

問題:服務器出現TEMP表空間肆意擴大,達到極限,無法繼續擴展。

解決方法:

1、使用下面的語句查一下是誰在用臨時段

SELECT s.username, s.sid, s.serial#, s.sql_address, 
s.machine, s.program, su.tablespace, su.segtype, su.contents
FROM v$session s, v$sort_usage su
WHERE s.saddr = su.session_addr;

2、 那些正在使用臨時段的進程

SQL>Alter system kill session 'sid,serial#';

3、把TEMP表空間回縮一下

SQL>Alter tablespace TEMP coalesce;

但這種方法並不一定起作用,所以還需要下面這種方法輔助。

1、 確定TEMP表空間的ts#

SQL>select ts#, name from sys.ts$ ; 

TS# NAME 
----------------------- 
0 SYSYEM 
1 RBS 
2 USERS 
3* TEMP 
4 TOOLS 
5 INDX 
6 DRSYS

2、 執行清理操作

SQL>alter session set events 'immediate trace name DROP_SEGMENTS level 4'
;

注釋:

temp表空間的TS# 為 3*, So TS#+ 1= 4

TEMP清理以後,感覺是TEMP表空間的存儲參數有問題,

因此將每次擴展64K改為640K,修改後就不會再出現以上問題了.

Copyright © Windows教程網 All Rights Reserved