oracle怎样清理临时表空间?

1天前 (10-09 11:34)阅读2回复0
xx
xx
  • 管理员
  • 注册排名6
  • 经验值34910
  • 级别管理员
  • 主题6982
  • 回复0
楼主

  一般来说,在完成Select语句、create index等一些利用TEMP表空间的排序操做后,Oracle是会主动释放掉临时段a的。但有些有侯我们则会碰到临时段没有被释放,TEMP表空间几乎满的情况,以至是我们重启了数据库仍没有处理问题。那个问题在论坛中也常被网友问到,下面我总结一下,给出几种处置办法。

一、重启库

库重启时,Smon历程会完成临时段释放,TEMP表空间的清理操做,不外良多的时侯我们的库是不允许down的,所以那种办法贫乏了一点的应用时机,不外那种办法仍是很好用的。

二、Metalink给出的一个办法

修改一下TEMP表空间的storage参数,让Smon历程不雅注一下临时段,从而到达清理和TEMP表空间的目标。

SQLalter tablespace temp increase 1;

SQLalter 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、

那些正在利用临时段的历程

SQLAlter system kill session 'sid,serial#';

3、把TEMP表空间回缩一下

SQLAlter tablespace TEMP coalesce;。

0
回帖

oracle怎样清理临时表空间? 期待您的回复!

取消