当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-05-10

    本文导语: 十一长假期间也不得轻松,某日接到业务保障,数据库报错,导致某关键业务不能正常执行,需要立即处理 原因分析 1,登录数据库,查看主机日志,报错内容为ORA-01652,temp表空间不足 ORA-01652: unable to extend temp segment by 128 in tabl...

十一长假期间也不得轻松,某日接到业务保障,数据库报错,导致某关键业务不能正常执行,需要立即处理

原因分析

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 | 
  • -------------------------------------------------------------------------------------------------------------------- 

  •     
     
     

    您可能感兴趣的文章:

     
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • ORA-28002 Oracle 11g存在密码过期问题解决方案
  • oracle报错(ORA-00600)问题处理
  • 如何解决ORA-01843与NLS_DATE_FORMAT问题
  • Oracle 10g之ORA-32004问题
  • 出现ORA-01401和ORA-01008错误?
  • Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误
  • oracle ORA-01114、ORA-27067错误解决方法
  • Oracle不能删除表 ORA-00604 ORA-01422 错误
  • 如何得到带有ora的行的下一行
  • ORA-12514及ORA-28547错误解决方案
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 浅析如何在tnsnames.ora中配置监听
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 解决报错ora-32035的方法分析
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • Oracle 数据库闪回功能设置出现ORA-19809和ORA-19804错误
  • ORA-00947:Not enough values (没有足够的值)的深入分析
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • plsql连接oracle数据库报ora 12154错误解决方法
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决
  • 谁能帮忙解释一下: ORA-01000 : maximun open cursors exceeded


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,