oracle怎样清理临时表空间?

科技 2年前 阅读:5 评论:0

  一般来说,在完成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;。

版权声明

本文仅代表作者观点,不代表木答案立场。

网友评论

本站会员尊享VIP特权,现在就加入我们吧!登录注册
登录
用户名
密码
验证码
若未跳转,可点击这里刷新重试
未知错误
注册
用户名
密码(至少8位)
确认密码
邮箱(请填写常用邮箱)
验证码
若未跳转,可点击这里刷新重试
未知错误
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱
若未跳转,可点击这里刷新重试
未知错误