我的oracle是8.1.7.4.0TEMP表空间是本地管理的
一个方法修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。
SQL>ALTER TABLESPACE "TEMP" DEFAULT STORAGE ( PCTINCREASE 1 )
SQL>ALTER TABLESPACE "TEMP" DEFAULT STORAGE ( PCTINCREASE 0 )
上面的方法是TEMP表空间是字典管理的比较管用,但本地管理的
我不知道TEMP的PCTINCREASE的值是多少?
第二种
使用如下语句a查看一下认谁在用临时段
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
那些正在使用临时段的进程
SQL>Alter system kill session 'sid,serial#';
把TEMP表空间回缩一下
SQL>Alter tablespace TEMP coalesce;(我已经把死的session干掉了,但执行alter tablespace TEMP coalesce是老报错ORA-3217 signalled during: Alter tablespace TEMP coalesce,不管用sys,或system用户)
希望各位大虾给个实用的方法
|