/*怎么清理临时段
可以使用如下办法
<1>、 使用如下语句查看一下认谁在用临时段*/
SELECT 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>、 那些正在使用临时段的进程*/
SQL>Alter system kill session 'sid,serial#';
/* <3>、把TEMP表空间回缩一下*/
SQL>Alter tablespace TEMP coalesce;
/* 还可以使用诊断事件
<1>、 确定TEMP表空间的ts#*/
SQL> select ts#, name FROM v$tablespace;
TS# NAME
-----------------------
0 SYSYEM
1 RBS
2 USERS
3* TEMP
...
/* <2>、 执行清理操作*/
alter session set events 'immediate trace name DROP_SEGMENTS level TS#+1'
说明:
/* temp表空间的TS# 为 3*, So TS#+ 1= 4,如果想清除所有表空间的临时段,则,TS# = 2147483647*/
可以使用如下办法
<1>、 使用如下语句查看一下认谁在用临时段*/
SELECT 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>、 那些正在使用临时段的进程*/
SQL>Alter system kill session 'sid,serial#';
/* <3>、把TEMP表空间回缩一下*/
SQL>Alter tablespace TEMP coalesce;
/* 还可以使用诊断事件
<1>、 确定TEMP表空间的ts#*/
SQL> select ts#, name FROM v$tablespace;
TS# NAME
-----------------------
0 SYSYEM
1 RBS
2 USERS
3* TEMP
...
/* <2>、 执行清理操作*/
alter session set events 'immediate trace name DROP_SEGMENTS level TS#+1'
说明:
/* temp表空间的TS# 为 3*, So TS#+ 1= 4,如果想清除所有表空间的临时段,则,TS# = 2147483647*/