`
哇哈哈852
  • 浏览: 91648 次
文章分类
社区版块
存档分类
最新评论

ORA-01652,temp表空间不足的相关问题

阅读更多


原因分析

1,登录数据库,查看主机日志,报错内容为ORA-01652,temp表空间不足

ORA-01652: unable to extend temp segment by 128 in tablespace TEMP01

2,让业务部门重新执行相关脚本,发现占用temp表空间的具体语句如下,目前temp表空间96GB,大约1个小时会被该sql使用满,sql异常退出

Sql具体如下

INSERT INTO www.WWW_BILL_DTL_TEMP_0101(ACCT_ID,SERV_ID,FEE,BRAND,
PHONE_ID,USER_TYPE)  SELECT ACCT_ID, SERV_ID, sum(FEE) FEE,BRAND
,PHONE_ID,USER_TYPE  FROM (  SELECT ACCT_ID, SERV_ID, SUM(FEE) F
EE,BRAND,PHONE_ID,USER_TYPE  FROM  (select a.acct_id,e.serv_id,s
um(b.unpay_fee) FEE,a.brand,a.phone_id,a.user_type from www.ACC_B
ILL_010120121010 A , www.WWW_BILL_DTL_010120121010 B ,  www.OWE_MO
NITOR_QUEUE_ACTION E  where a.bill_id=b.bill_id and A.ACCT_ID=E.
ACCT_ID and a.brand in (:"SYS_B_00",:"SYS_B_01",:"SYS_B_02",:"SY
S_B_03",:"SYS_B_04",:"SYS_B_05")  and b.fee_item_id>:"SYS_B_06"
group by a.acct_id,e.serv_id,a.brand,a.phone_id,a.user_type )  g
roup by ACCT_ID, SERV_ID,BRAND,PHONE_ID,USER_TYPE  UNION ALL  SE
LECT ACCT_ID, SERV_ID, -:"SYS_B_07"*SUM(FEE) FEE,BRAND,PHONE_ID,
USER_TYPE  FROM  (select a.acct_id,e.serv_id,sum(b.unpay_fee) FE
E,a.brand,a.phone_id,a.user_type from www.WWW_BILL_010120121005 A
, www.WWW_BILL_DTL_010120121005 B ,  www.WWW_MONITOR_QUEUE_ACTION
E  where a.bill_id=b.bill_id and A.ACCT_ID=E.ACCT_ID and a.bran
d in (:"SYS_B_08",:"SYS_B_09",:"SYS_B_10",:"SYS_B_11",:"SYS_B_12
",:"SYS_B_13")  and b.fee_item_id>:"SYS_B_14" group by a.acct_id
,e.serv_id,a.brand,a.phone_id,a.user_type )  group by ACCT_ID, S
ERV_ID,BRAND,PHONE_ID,USER_TYPE ) GROUP BY ACCT_ID, SERV_ID,BRAN
D,PHONE_ID,USER_TYPE
执行计划如下

Plan hash value: 3236377944

-------------------------------------------------------------------------------------------------------------------- 
| Id  | Operation                            | Name                        | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------------------- 
|   0 | INSERT STATEMENT                     |                             |       |       | 19281 (100)|          |
|   1 |  HASH GROUP BY                       |                             |     2 |   184 | 19281   (2)| 00:03:52 |
|   2 |   VIEW                               |                             |     2 |   184 | 19280   (2)| 00:03:52 |
|   3 |    UNION-ALL                         |                             |       |       |            |          |
|   4 |     SORT GROUP BY                    |                             |     1 |    92 | 19271   (2)| 00:03:52 |
|   5 |      VIEW                            |                             |     1 |    92 | 19271   (2)| 00:03:52 |
|   6 |       SORT GROUP BY                  |                             |     1 |   144 | 19271   (2)| 00:03:52 |
|*  7 |        HASH JOIN                     |                             |     1 |   144 | 19270   (2)| 00:03:52 |
|   8 |         MERGE JOIN CARTESIAN         |                             |     1 |    65 |  8717   (2)| 00:01:45 |
|   9 |          TABLE ACCESS FULL           | WWW_MONITOR_QUEUE_ACTION    |     1 |    26 |     2   (0)| 00:00:01 |
|  10 |          BUFFER SORT                 |                             |   257K|  9810K|  8715   (2)| 00:01:45 |
|* 11 |           TABLE ACCESS FULL          | WWW_BILL_DTL_010120121010   |   257K|  9810K|  8715   (2)| 00:01:45 |
|* 12 |         TABLE ACCESS FULL            | WWW_BILL_010120121010       | 16755 |  1292K| 10552   (1)| 00:02:07 |
|  13 |     SORT GROUP BY                    |                             |     1 |    53 |     9  (12)| 00:00:01 |
|  14 |      VIEW                            |                             |     1 |    53 |     9  (12)| 00:00:01 |
|  15 |       SORT GROUP BY                  |                             |     1 |    79 |     9  (12)| 00:00:01 |
|  16 |        TABLE ACCESS BY INDEX ROWID   | WWW_BILL_DTL_010120121005   |     1 |    18 |     3   (0)| 00:00:01 |
|  17 |         NESTED LOOPS                 |                             |     1 |    79 |     8   (0)| 00:00:01 |
|  18 |          NESTED LOOPS                |                             |     1 |    61 |     5   (0)| 00:00:01 |
|  19 |           TABLE ACCESS FULL          | WWW_MONITOR_QUEUE_ACTION    |     1 |    26 |     2   (0)| 00:00:01 |
|* 20 |           TABLE ACCESS BY INDEX ROWID| WWW_BILL_010120121005       |     1 |    35 |     3   (0)| 00:00:01 |
|* 21 |            INDEX RANGE SCAN          | ITDX_ACCT_ID_10120121005    |     1 |       |     2   (0)| 00:00:01 |
|* 22 |          INDEX RANGE SCAN            | TPK_BILL_DTL_ID_10120121005 |     1 |       |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------------------------------------------------
  • 大小: 53.3 KB
分享到:
评论

相关推荐

    ORA-01654处理表空间不足问题.pdf

    ORA-01654处理表空间不足问题 Oracle 数据库中,表空间不足是非常常见的问题,主要体现在两个方面:一是原表空间大小不够,二是表空间自动扩展功能未开启。今天我们就来详细讨论如何解决ORA-01654处理表空间不足...

    Oracle数据库发生ORA-04031错误原因浅析及处理.pdf

    3. 如果REQUEXT_FAILURES>0并且LAST_FAILURE_SIZE>SHARED_POOL_RESERVED_MIN_ALLOC,那么ORA-04031错误就是因为共享池中保留空间缺少连续空间所致。 4. 解决方法是通过加大SHARED_POOL_RESERVED_MIN_ALLOC来降低缓冲...

    oracle+ora-各种常见java.sq

    - `java.sql.SQLException: ORA-01652: unable to extend temp segment by X in tablespace TEMP`: 临时表空间不足。增加临时表空间大小或优化使用临时表空间的查询。 以上是Oracle数据库操作中常见的`java.sql....

    Oracle 如何解决 ORA-01187:无法从文件中读取

    "Oracle 解决 ORA-01187:无法从...这些步骤包括删除所有临时文件、创建新的临时表空间、切换默认临时表空间、重新创建 TEMP 表空间和切换回默认临时表空间。通过这些步骤,我们可以成功解决 ORA-01187 的错误信息。

    Oracle的Temp表空间和UNDO表空间的处理

    ### Oracle的Temp表空间与UNDO表空间处理详解 #### 一、Temp表空间处理 在Oracle数据库中,Temp表空间主要用于存储临时对象,如排序、分组等操作产生的临时数据。这些操作可能会导致Temp表空间迅速增大。然而,...

    ORACLE修改表空间大小

    其中一种常见问题是ORA-01652错误,即“无法在指定表空间扩展临时段”。这通常发生在对临时表空间的操作上。当Oracle数据库执行涉及排序、连接等操作时,会使用临时表空间来存储临时数据。如果这些操作所需的空间...

    oracle数据库操作常见错误以及解决方案

    其次,错误`ORA-01652: unable to extend temp segment by num in tablespace name`是由于临时表空间不足造成的。临时表空间主要用于存储排序和临时结果。当Oracle无法在当前临时表空间找到连续的空间来扩展临时段时...

    Oracle常见错误代码的分析与解决

    **ORA-01652: unable to extend temp segment by num in tablespace name** 这个错误表示Oracle在尝试扩展临时段时遇到了空间不足的问题。临时段用于存储排序和临时结果集,当无法分配连续空间时,就会出现这个错误...

    orcale错误代码

    7. 其他错误如ORA-01630至ORA-01633涉及到表空间的temp段和数据段达到最大扩展限制,需要检查表空间的扩展策略,或者考虑增加新的数据文件。 解决这些Oracle错误通常需要对数据库的内部工作原理有深入理解,包括...

    oracle常见错误解析

    5. ORA-01652: 无法在temp表空间扩展 当临时表空间不足以完成操作,如排序或连接,就会出现这个错误。增加临时表空间的大小,或者分配更多的临时段,可以解决这个问题。 6. ORA-01722: 无效数字 这个错误表示在尝试...

    Oracle数据库操作常见错误及解决方案

    本文将深入解析两个常见的Oracle错误及其解决方案:ORA-01650和ORA-01652,并提供相关的排查和解决策略。 **ORA-01650: unable to extend rollback segment NAME by NUM in tablespace NAME** 这个错误表明回滚段...

    如何解决Oracle8i数据库临时表空间满的问题.pdf

    4. Oracle临时表空间满的问题:当临时表空间的磁盘空间被全部占用后,可能会出现错误消息,例如“ORA-1652: unable to extend temp segment by %s in tablespace %s”。这会导致用户无法完成如排序、并行查询等操作...

    oracle常用命令及错误类型(error message)

    10. ORA-01652:无法在临时表空间扩展 - 解决:增大临时表空间的大小,或调整SQL语句以减少排序需求。 学习Oracle命令和理解错误类型是掌握Oracle数据库管理的关键步骤。通过实践这些命令和解决常见错误,可以提高...

    Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案

    3. **创建表空间**:根据需要创建新的表空间。 ```sql CREATE TABLESPACE NNC_DATA01 DATAFILE 'D:\tablespace\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K; ...

    操作系统崩溃,数据库全部文件都在时,数据库恢复方法.pdf

    除了数据文件(如`.DBF`)、控制文件(如`.CTL`)、日志文件(如`.LOG`)外,还应考虑重做日志文件、回滚段文件(Undo `.DBF`)以及临时表空间文件(Temp `.DBF`)。此外,用户提到可能丢失了部分索引文件(如`INDEX...

    oracle常见错误精集

    ##### ORA-01652: unable to extend temp segment by num in tablespace name **产生原因**: ORACLE临时段表空间不足。这是因为ORACLE总是尽量分配足够的临时空间给临时段使用,但在某些情况下,可能会导致临时段表...

    Oracle_Errors描述

    5. **ORA-01652: unable to extend temp segment by 128 in tablespace TEMP** 当临时表空间不足以存储临时数据时,会出现这个错误。解决方式是增大临时表空间大小,或者调整SQL语句以减少临时空间的需求。 6. **...

    Oracle导dmp出现文件ORA-12154: TNS: 无法解析指定的连接标识符问题的解决方案

    在进行数据库导入导出时,还有可能出现一些其他问题,比如权限不足、文件路径不存在等。这就需要进行用户创建、表空间创建、文件转移等一系列操作。 例如,首先需要创建一个用户,并授予必要的权限: ``` CREATE ...

    Oracle释放临时表空间脚本

    合理的管理和优化临时表空间不仅可以提高系统的性能,还可以帮助解决空间不足等问题。本文将详细介绍如何通过SQL脚本进行临时表空间的查询、创建、修改以及删除操作。 #### 一、查询临时表空间信息 首先,我们来...

    ORACLE常见错误代码的分析与解决

    当Oracle数据库在执行排序操作或其他需要临时空间的操作时,如果临时表空间中没有足够的空间来扩展临时段,则会抛出ORA-01652错误。 **原因分析:** 1. **临时表空间空间不足:** 如果临时表空间的总容量不足以...

Global site tag (gtag.js) - Google Analytics