正常来说在完成select语句等一些使用temp表空间的排序操作后,oracle是会自动释放掉临时表时段的,但有时候也会遇到临时时段没有被释放,temp表空间几乎满的状况,下面给出几种处理方案:
方法一:重启数据库,这时smon进程会完成临时段的释放清理temp表空间的操作。
方法二:可以修改一下temp表空间的storage参数,让smon进程关注一下临时段,从而达到清理表空间的目的。
alter tablespace temp increase 1;
alter tablespace temp increase 0;
方法三:用语句查询谁在使用临时段
SELECT se.username,
sid,
serial#,
sql_address,
machine,
program,
tablespace,
segtype,
contents
FROM v$session se, v$sort_usage su
WHERE se.saddr = su.session_addr
杀掉正在使用临时段的进程
Alter system kill session 'sid,serial#';
把temp表空间回缩一下
alter tablespace temp coalesce;
方法四:使用诊断事件的一种方法
首先,确定temp表空间的ts#
select ts#,name from sys.ts#;
注:temp表空间的ts#是3,所以 ts#+1=4
执行清理操作:
alter session set events 'immediate trace name DROP_SEGMENTS level 4';
分享到:
相关推荐
如何释放TEMP表空间占用的大量硬盘空间。
"Oracle定时删除表空间的数据并释放表空间" Oracle数据库定时删除表空间的数据并释放表空间是通过创建存储过程和定时任务来实现的。下面详细讲解该知识点: 一、创建存储过程 首先,需要创建一个存储过程来删除...
其中,`TEMPORARY TABLESPACE` 指定创建的是临时表空间,`test_temp` 是表空间的名称,`TEMPFILE` 指定了表空间的文件路径和名称,`SIZE` 指定了表空间的初始大小,`AUTOEXTEND ON` 指定了表空间的自动扩展功能,`...
重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长。直到耗尽硬盘空间。 网上有人猜测在磁盘空间的分配上,oracle使用的是贪心算法,如果上次磁盘空间消耗达到...
本篇文章主要讲解如何Shrink Undo表空间,释放过度占用的空间,以解决Oracle数据库中的表空间扩展问题。 1. 表空间扩展问题 在Oracle数据库中,表空间的扩展是非常重要的。随着数据的增长,表空间的大小也需要相应...
4.15 如何配置高可用性的 TEMP 表空间 4.16 确保在归档日志目标位置有足够的 可用空间 4.17 如何调整联机重做日志 4.18 通过优化归档速度避免 LGWR 等待 4.19 将联机重做日志和归档重做日志文件 分开 4.20 ...
什么是表空间? Oracle数据库包含逻辑结构和物理文件。数据库的物理结构是指构成数据库的一组操作系统文件数据库的逻辑结构是指...临时表空间是通用的,所的用户都使用TEMP作为临时表空间。一般只有tmp一个临时表空间
下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 1、用户 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_...
组成:表空间、段、区、块的组成层次 六、 oracle安装、卸载和启动 硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB 安装 1. 安装程序成功下载,将会得到如下2个文件: ...
Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...