ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法
ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法
(2016-10-21 16:49:53)
今天在做一个查询的时候,报了一个“ORA-01652无法通过128(在表空间temp中)扩展temp段”
ORA-01652: 无法通过128(在表空间TOSTEMP中)扩展 temp 段
ORA-06512: 在"Funcking", line 60
ORA-06512: 在line 1
错误解决网上也有一些相关的资料。我的实验解决方法是这样的:
1.查看表空间使用率(包括临时表空间)
select * from (
Select a.tablespace_name,
to_char(a.bytes/1024/1024,'99,999.999') total_bytes,
to_char(b.bytes/1024/1024,'99,999.999') free_bytes,
to_char(a.bytes/1024/1024 - b.bytes/1024/1024,'99,999.999') use_bytes,
to_char((1 - b.bytes/a.bytes)*100,'99.99') || '%' use
from (select tablespace_name,
sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name,
sum(bytes) bytes
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
union all
select c.tablespace_name,
to_char(c.bytes/1024/1024,'99,999.999') total_bytes,
to_char( (c.bytes-d.bytes_used)/1024/1024,'99,999.999') free_bytes,
to_char(d.bytes_used/1024/1024,'99,999.999') use_bytes,
to_char(d.bytes_used*100/c.bytes,'99.99') || '%' use
from
(select tablespace_name,sum(bytes) bytes
from dba_temp_files group by tablespace_name) c,
(select tablespace_name,sum(bytes_cached) bytes_used
from v$temp_extent_pool group by tablespace_name) d
where c.tablespace_name = d.tablespace_name
)
order by tablespace_name
2.查看文件是否自动扩展
select d.file_name,d.tablespace_name,d.autoextensible from dba_data_files d
如果想查看临时表空间文件是否自动扩展
select d.file_name,d.tablespace_name,d.autoextensible from dba_temp_files d;
3.对临时文件进行扩展。
1)TOSTEMP表空间使用率接近100%,对它进行扩展。
SQL> alter database tempfile 'C:xxxxxx\TOSTEMP01.DBF'resize 500M;
2)若是发现 表空间使用率接近100%,且不可扩展修改文件自动可扩展性
alter database datafile 'E:xxxxxxESCALADE.ORA' autoextend on;
3)修改可扩展上限为无限制
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited;
正常的解决方案,请参考:http://www.atmarkit.co.jp/fdb/rensai/ora_admin/03/ora_admin02.html
很遗憾把tempfile 改到3G也不行。
根据网上看到有些朋友又碰到这样的问题,说是只要进行analyze就可以。我也进行analyze分析一下。
EXEC DBMS_UTILITY.ANALYZE_SCHEMA('USER','ESTIMATE');
附DBMS_UTILITY.ANALYZE_SCHEMA作用:
このプロシージャは、スキーマ内にあるすべての表、クラスタおよび索引でANALYZEコマンドを実行します。このプロシージャを使用して、非オプティマイザ統計情報を収集します。
然后再执行存储过程,等待结果......(19:53开始)
20:40,结果出来了,还是不行。值得进一步探讨。
经过这次的失败后,我在想问题到底在哪里?
我把这个出错的SQL文从存储过程摘出来,进行分析。
1)从SQL结构中没发现任何问题。
2)在sqlplus里面跟了一下执行计划。
在经过30分钟左右的等待后,这一执行计划显示了出来。看得真是吓了一跳。
buffer消耗超过5000G,都不敢相信自己的眼睛,byte位数算了几遍,确实是特别大。
看到执行计划我也就知道原因是什么了,临时空间怎么加也不会够呀。
以上是实验告一段落,对于这种问题的解决方法,如下:
1)首先对存储过程的执行计划进行分析。
看占用多大的临时空间,有没有优化的余地,怎么优化。
(这就是网上说碰巧用analyze命令,结果通过的原因,应该是analyze命令,让执行计划发生了改变)
2)优化后的临时空间大于现有的临时空间的话,扩张临时空间。
以上算是我对ORA-01652错误的诊断分析。
ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法的更多相关文章
- ORA-01652: 无法通过 128 (在表空间 HIS_TABLESPACE_TEMP 中) 扩展 temp 段
前言:采用jmeter进行压力测试,大概向oracle 添加了140W条数据. 结果系统涉及到该表的业务都异常卡.访问阿里巴巴的那个druid monitor,因为系统中集成了,查看sql监控中的sq ...
- FP 某段SQL语句执行时间超过1个小时,并报错:ORA-01652: 无法通过 128 (在表空间 TEMPSTG 中) 扩展
一.出现如下两个错误:1.某一段SQL语句执行时间超过1个小时:2.一个小时后,提示如下错误:ORA-01652: 无法通过 128 (在表空间 TEMPSTG 中) 扩展 temp 段ORA-065 ...
- 【转】关于“ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展”的错误
SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 5月 17 18:31:08 2010 Copyright (c) 1982, 2007, Oracl ...
- java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB0000076987C00003$$ 无法通过 128 (在表空间 HRDL_CSASS 中) 扩展
问题: 在tomcat日志信息中出现:java.sql.BatchUpdateException: ORA-01691: Lob 段 CSASSSMBI.SYS_LOB0000076987C00003 ...
- oracle ora-01652无法通过128(在表空间xxx中)扩展 问题解决方式
问题原因建立的表空间dbf文件大小上限了 一. select * from dba_data_files 使用该条语句可以查看当前库中有多少表空间并且DBF文件的存储位置 二.查看表空间是否开启了自动 ...
- ora-01652无法通过128(在表空间temp中)扩展temp段
今天提交请求后,提示ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段.最后通过ALTER DATABASE TEMPFILE '/*/*/db/apps_st/d ...
- 解决ora-01652无法通过128(在表空间temp中)扩展temp段
问题描述: 今天建索引的时候报:ora-01652无法通过128(在表空间temp中)扩展temp段 1.查看表空间是自动增长,且建表空间时是没有设表空间最大值的. 2.查看了一下表空间剩余多少竟然只 ...
- ORA-01652:无法通过128(在表空间TEMP中)扩展temp段
在Oracle数据库中进行order by or group by.索引的创建和重创建.distinct操作.union & intersect & minus sort-merge ...
- ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段(EXP-00056: 遇到 ORACLE 错误 1652 ORA-01652: unable to extend temp segment by 128 in tablespace TEMP)
数据库报 ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段 两种解决方式: 第一种) sql>select * from v$tempfile; 发现tem ...
随机推荐
- openfl使用64位的ndk时,编译报错的问题!
当使用64位的ndk时,如果使用openfl test android运行android测试,应该会出现 arm-linux-androideabi-g++:找不到这个命令的错误. 原因是,haxel ...
- maven-javaServlet-文件上传
十月 25, 2016 5:00:39 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache To ...
- 《JavaScript Dom编程艺术》(第二版)
第一章<JavaScript简史> 1.JavaScript是一种脚本语言,通常只能通过Web浏览器去完成一些操作而不能像普通意义上的程序那样独立运行,它需要由Web浏览器进行解释和执行. ...
- CSS样式,雪碧,图片替换,渐变小析
Css基础2: 相对长度单位:em,rem,px,%绝对长度单位:厘米等(不用)颜色单位:rgb,rgb的百分比,16进制(#),颜色名称字体:font-size:为了更好适合点阵,尽量使用偶数fon ...
- DSY3163*Eden的新背包问题
Description "寄没有地址的信,这样的情绪有种距离,你放着谁的歌曲,是怎样的心心静,能不能说给我听."失忆的Eden总想努力地回忆起过去,然而总是只能清晰地记得那种思念的 ...
- Allegro之无法保存(提示和用户有关或者和lock有关)
使用中无意出现此情况 无奈重新打开文件时发现brd文件下面有个.brd.lck文件,顺手删掉,回复正常~ 此为bug解bug,具体方法下次遇到再仔细研究是为什么~ 养成隔几分钟手动保存的好习惯,防止b ...
- jquery修改Switchery复选框的状态
script //选择框 var mySwitch; /* * 初始化Switchery * * classNmae class名 */ function initSwitchery(classNam ...
- js公用方法
} { { } ...
- wamp2.5 局域网无法访问问题
1.打开http.conf文件,在对应处修改为如下内容(通常经过步骤一之后就能访问了,若不行则再执行后面步骤) <Directory /> Options FollowSymLinks A ...
- jdk 配置环境变量 解决无法加载主类问题
默认安装路径 我的电脑鼠标右键→属性→点击“高级”选项卡点击“环境变量” 系统环境 点击“新建”变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0(以JD ...