服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

temp表空间肆意扩大无法继续扩展的现象

问题:服务器出现temp表空间肆意扩大,达到极限,无法继续扩展。

解决方法:

1、使用下面的语句查一下是谁在用临时段

select s.username, s.sid, s.serial#, s.sql_address, 
s.machine, s.program, su.tablespace, su.segtype, su.contents
from v$session s, v$sort_usage su
where s.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 sys.ts$ ; 

ts# name 
----------------------- 
0 sysyem 
1 rbs 
2 users 
3* temp 
4 tools 
5 indx 
6 drsys

2、 执行清理操作

sql>alter session set events 'immediate trace name drop_segments level 4'

注释:

temp表空间的ts# 为 3*, so ts#+ 1= 4

temp清理以后,感觉是temp表空间的存储参数有问题,

因此将每次扩展64k改为640k,修改后就不会再出现以上问题了。

扫描关注微信公众号