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.

现在查看系统空间,空间已经被回收。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值