一般来说,在完成Select语句、create index等一些利用TEMP表空间的排序操做后,Oracle是会主动释放掉临时段a的。但有些有侯我们则会碰到临时段没有被释放,TEMP表空间几乎满的情况,以至是我们重启了数据库仍没有处理问题。那个问题在论坛中也常被网友问到,下面我总结一下,给出几种处置办法。
法
一、重启库
库重启时,Smon历程会完成临时段释放,TEMP表空间的清理操做,不外良多的时侯我们的库是不允许down的,所以那种办法贫乏了一点的应用时机,不外那种办法仍是很好用的。
法
二、Metalink给出的一个办法
修改一下TEMP表空间的storage参数,让Smon历程不雅注一下临时段,从而到达清理和TEMP表空间的目标。
SQL>alter tablespace temp increase 1;
SQL>alter tablespace temp increase 0;
法
三、我常用的一个办法,详细内容如下:
1、 利用如下语句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
2、
那些正在利用临时段的历程
SQL>Alter system kill session 'sid,serial#';
3、把TEMP表空间回缩一下
SQL>Alter tablespace TEMP coalesce;。
0