ORA-1652: unable to extend temp segment
2016-02-17 17:27
645 查看
1.问题描述
检查alert日志发现近期大量ORA-1652报错截止上午10:00近2天报错次数为19次
Wed Feb 17 01:32:03 2016
ORA-1652: unable to extend temp segment by 16 in tablespace TEMP1
Wed Feb 17 01:32:03 2016
ORA-1652: unable to extend temp segment by 16 in tablespace TEMP1
Wed Feb 17 01:32:03 2016
ORA-1652: unable to extend temp segment by 16 in tablespace TEMP1
Wed Feb 17 01:32:03 2016
ORA-1652: unable to extend temp segment by 16 in tablespace TEMP1
Tue Feb 16 23:32:04 2016
ORA-1652: unable to extend temp segment by 16 in tablespace TEMP1
Tue Feb 16 23:32:04 2016
ORA-1652: unable to extend temp segment by 16 in tablespace TEMP1
Tue Feb 16 23:32:14 2016
ORA-1652: unable to extend temp segment by 128 in tablespace TEMP2
Tue Feb 16 23:32:14 2016
ORA-1652: unable to extend temp segment by 128 in tablespace TEMP2
Tue Feb 16 23:45:20 2016
2.问题点分析
1.> 默认表空间问题:
SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'; PROPERTY_NAME PROPERTY_VALUE ------------------------------ -------------------------------------------------------------------------------- DEFAULT_TEMP_TABLESPACE TEMP SQL>
经查询默认临时表空间是TEMP
但是erp库中根本没有temp表空间
SQL> select tablespace_name from dba_tablespaces where contents='TEMPORARY'; TABLESPACE_NAME ------------------------------ TEMP1 TEMP2 PROD2_IAS_TEMP PROD1_IAS_TEMP SQL> select file_name,file_id, tablespace_name from dba_temp_files; FILE_NAME FILE_ID TABLESPACE_NAME -------------------------------------------------------------------------------- ---------- ------------------------------ +DATA_ERP/prod/tempfile/temp1.302.835913167 3 TEMP1 +DATA_ERP/prod/tempfile/temp2.303.835913167 4 TEMP2 +DATA_ERP/prod/tempfile/prod1_ias_temp.512.895320743 1 PROD1_IAS_TEMP +DATA_ERP/prod/tempfile/prod2_ias_temp.501.868628877 2 PROD2_IAS_TEMP SQL>
2.> TEMP1和TEMP2报空间不足的问题
SQL> SELECT A.tablespace_name tablespace, 2 D.mb_total, 3 SUM(A.used_blocks * D.block_size) / 1024 / 1024 mb_used, 4 D.mb_total - SUM(A.used_blocks * D.block_size) / 1024 / 1024 mb_free 5 FROM v$sort_segment A, 6 (SELECT B.name, C.block_size, SUM(C.bytes) / 1024 / 1024 mb_total 7 FROM v$tablespace B, v$tempfile C 8 WHERE B.ts# = C.ts# 9 GROUP BY B.name, C.block_size) D 10 WHERE A.tablespace_name = D.name 11 GROUP by A.tablespace_name, D.mb_total; TABLESPACE MB_TOTAL MB_USED MB_FREE ------------------------------- ---------- ---------- ---------- TEMP1 4000 28.75 3971.25 TEMP2 4000 147 3853 SQL>
3.解决方案
1.> 针对默认临时表空间问题,建议添加默认临时表空间temp
但是出现了奇怪的问题,居然报错TEMP已存在SQL> create temporary tablespace TEMP tempfile '+DATA_ERP/prod/tempfile/temp.dbf' size 4096M ; create temporary tablespace TEMP tempfile '+DATA_ERP/prod/tempfile/temp.dbf' size 4096M ORA-01543: tablespace 'TEMP' already exists SQL> alter tablespace TEMP add tempfile '+DATA_ERP' size 2048M; alter tablespace TEMP add tempfile '+DATA_ERP' size 2048M ORA-10917: TABLESPACE GROUP cannot be specified
这是临时表空间组,好吧,没想到
SQL> select * from dba_tablespace_groups; GROUP_NAME TABLESPACE_NAME ------------------------------ ------------------------------ TEMP TEMP1 TEMP TEMP2 SQL>
2.> 针对短时间内报错问题
临时表空间4G太小了,改为自动扩展SQL> alter database tempfile '+DATA_ERP/prod/tempfile/temp1.302.835913167' autoextend on next 100M; Database altered SQL> SQL> alter database tempfile '+DATA_ERP/prod/tempfile/temp2.303.835913167' autoextend on next 100M; Database altered SQL> select FILE_NAME, TABLESPACE_NAME, BYTES, AUTOEXTENSIBLE, INCREMENT_BY from dba_temp_files; FILE_NAME TABLESPACE_NAME BYTES AUTOEXTENSIBLE INCREMENT_BY -------------------------------------------------------------------------------- ------------------------------ ---------- -------------- ------------ +DATA_ERP/prod/tempfile/temp1.302.835913167 TEMP1 4194304000 YES 12800 +DATA_ERP/prod/tempfile/temp2.303.835913167 TEMP2 4194304000 YES 12800 +DATA_ERP/prod/tempfile/prod1_ias_temp.512.895320743 PROD1_IAS_TEMP 104857600 YES 6400 +DATA_ERP/prod/tempfile/prod2_ias_temp.501.868628877 PROD2_IAS_TEMP 104857600 YES 6400 SQL>
相关文章推荐
- the error code is 2203
- 一、开发环境搭建及配置
- Linux常用命令
- HTTP协议之Content-Encoding
- VS2013 OpenCV 3.1环境搭建
- [ACM] 常数和语言基础
- 基于TINY4412的Andorid开发-------简单的LED灯控制
- pop方法的理解
- 关于 Paint和TextPaint的个人理解
- 创建一个ActionSheet
- [转载]Java 工程师成神之路
- 在mybatis的@Select中用not in 时
- ThinkPHP项目笔记之RBAC(权限)下篇
- sql2012增加Sequence对象
- 如何定位联芯平台的Android系统代码第三方apps
- Java输入输出流
- 图像透明度
- 修复和预防Bug的成本的量化对比
- Stimulsoft_Reports 1. 报表制作
- 深度学习框架Keras