oracle 临时段详解,oracle临时段的处理

应用系统不能运行,告警日志报告临时表空间不能扩展,估计是业务sql存在大量排序,只能增加临时表空间缓解这个问题。 另外还可能要清理临时段重整临时表空间释放空间: 查看一下认谁在用临时段: SQL> SELECT /*+ rule */ se.username,se.sid,se.serial#,se.sql_address,se.machine,se.program, su.tablespace,su.segtype, su.contents FROM v$session se,v$sort_usage su WHERE se.saddr=su.session_addr; USERNAME        SID    SERIAL# SQL_ADDR MACHINE          PROGRAM          TABLESPACE       SEGTYPE   CONTENTS -------- ---------- ---------- -------- ---------------- ---------------- ---------------- --------- SYS             154         12 257A8240 WORKGROUP/LENOVO sqlplusw.exe     TEMP             SORT      TEMPORARY                                         -94B4B86F 杀掉这个会话: SQL> Alter system kill session '154,12'; 回缩 TEMP表空间     确定TEMP表空间的ts# SQL> select ts#, name FROM v$tablespace;        TS# NAME ---------- --------------------------------------------------          0 SYSTEM          1 UNDOTBS1          2 SYSAUX          4 USERS          6 EXAMPLE          7 DNA          8 INDEXA          9 STREAMS_TBS         10 TEST          3 TEMP         11 PREF 11 rows selected.     执行清理操作 SQL> alter session set events 'immediate trace name DROP_SEGMENTS level 4'; Session altered. level 4 是ts#+1 回收临时表空间过度扩展占用的系统空间 SQL> select max(segblk#) from v$sort_usage; MAX(SEGBLK#) ------------           91017 SQL> select 91017*8192/1024/1024 from dual; 91017*8192/1024/1024 --------------------           711.070313 SQL> select file#,ts#,name from v$tempfile;      FILE#        TS# NAME ---------- ---------- --------------------------------------------------          1          3 D:/ORACLE/10.2/DB_1/ORADATA/ORCL/TEMP01.DBF SQL> alter database tempfile 'D:/ORACLE/10.2/DB_1/ORADATA/ORCL/TEMP01.DBF' resize 700m; Database altered. 现在查看系统空间,空间已经被回收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值