你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2012-10-15] 来源:Linux社区  作者:hijk139 [字体: ]

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

原因分析

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

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

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

Sql具体如下 

  1. INSERT INTO www.WWW_BILL_DTL_TEMP_0101(ACCT_ID,SERV_ID,FEE,BRAND, 
  2. PHONE_ID,USER_TYPE)  SELECT ACCT_ID, SERV_ID, sum(FEE) FEE,BRAND 
  3. ,PHONE_ID,USER_TYPE  FROM (  SELECT ACCT_ID, SERV_ID, SUM(FEE) F 
  4. EE,BRAND,PHONE_ID,USER_TYPE  FROM  (select a.acct_id,e.serv_id,s 
  5. um(b.unpay_fee) FEE,a.brand,a.phone_id,a.user_type from www.ACC_B 
  6. ILL_010120121010 A , www.WWW_BILL_DTL_010120121010 B ,  www.OWE_MO 
  7. NITOR_QUEUE_ACTION E  where a.bill_id=b.bill_id and A.ACCT_ID=E. 
  8. ACCT_ID and a.brand in (:"SYS_B_00",:"SYS_B_01",:"SYS_B_02",:"SY 
  9. S_B_03",:"SYS_B_04",:"SYS_B_05")  and b.fee_item_id>:"SYS_B_06" 
  10. group by a.acct_id,e.serv_id,a.brand,a.phone_id,a.user_type )  g 
  11. roup by ACCT_ID, SERV_ID,BRAND,PHONE_ID,USER_TYPE  UNION ALL  SE 
  12. LECT ACCT_ID, SERV_ID, -:"SYS_B_07"*SUM(FEE) FEE,BRAND,PHONE_ID, 
  13. USER_TYPE  FROM  (select a.acct_id,e.serv_id,sum(b.unpay_fee) FE 
  14. E,a.brand,a.phone_id,a.user_type from www.WWW_BILL_010120121005 A 
  15.  , www.WWW_BILL_DTL_010120121005 B ,  www.WWW_MONITOR_QUEUE_ACTION 
  16.  E  where a.bill_id=b.bill_id and A.ACCT_ID=E.ACCT_ID and a.bran 
  17. in (:"SYS_B_08",:"SYS_B_09",:"SYS_B_10",:"SYS_B_11",:"SYS_B_12 
  18. ",:"SYS_B_13")  and b.fee_item_id>:"SYS_B_14" group by a.acct_id 
  19. ,e.serv_id,a.brand,a.phone_id,a.user_type )  group by ACCT_ID, S 
  20. ERV_ID,BRAND,PHONE_ID,USER_TYPE ) GROUP BY ACCT_ID, SERV_ID,BRAN 
  21. D,PHONE_ID,USER_TYPE 

执行计划如下

  1. Plan hash value: 3236377944 
  2.  
  3. --------------------------------------------------------------------------------------------------------------------  
  4. | Id  | Operation                            | Name                        | Rows  | Bytes | Cost (%CPU)| Time     | 
  5. --------------------------------------------------------------------------------------------------------------------  
  6. |   0 | INSERT STATEMENT                     |                             |       |       | 19281 (100)|          | 
  7. |   1 |  HASH GROUP BY                       |                             |     2 |   184 | 19281   (2)| 00:03:52 | 
  8. |   2 |   VIEW                               |                             |     2 |   184 | 19280   (2)| 00:03:52 | 
  9. |   3 |    UNION-ALL                         |                             |       |       |            |          | 
  10. |   4 |     SORT GROUP BY                    |                             |     1 |    92 | 19271   (2)| 00:03:52 | 
  11. |   5 |      VIEW                            |                             |     1 |    92 | 19271   (2)| 00:03:52 | 
  12. |   6 |       SORT GROUP BY                  |                             |     1 |   144 | 19271   (2)| 00:03:52 | 
  13. |*  7 |        HASH JOIN                     |                             |     1 |   144 | 19270   (2)| 00:03:52 | 
  14. |   8 |         MERGE JOIN CARTESIAN         |                             |     1 |    65 |  8717   (2)| 00:01:45 | 
  15. |   9 |          TABLE ACCESS FULL           | WWW_MONITOR_QUEUE_ACTION    |     1 |    26 |     2   (0)| 00:00:01 | 
  16. |  10 |          BUFFER SORT                 |                             |   257K|  9810K|  8715   (2)| 00:01:45 | 
  17. |* 11 |           TABLE ACCESS FULL          | WWW_BILL_DTL_010120121010   |   257K|  9810K|  8715   (2)| 00:01:45 | 
  18. |* 12 |         TABLE ACCESS FULL            | WWW_BILL_010120121010       | 16755 |  1292K| 10552   (1)| 00:02:07 | 
  19. |  13 |     SORT GROUP BY                    |                             |     1 |    53 |     9  (12)| 00:00:01 | 
  20. |  14 |      VIEW                            |                             |     1 |    53 |     9  (12)| 00:00:01 | 
  21. |  15 |       SORT GROUP BY                  |                             |     1 |    79 |     9  (12)| 00:00:01 | 
  22. |  16 |        TABLE ACCESS BY INDEX ROWID   | WWW_BILL_DTL_010120121005   |     1 |    18 |     3   (0)| 00:00:01 | 
  23. |  17 |         NESTED LOOPS                 |                             |     1 |    79 |     8   (0)| 00:00:01 | 
  24. |  18 |          NESTED LOOPS                |                             |     1 |    61 |     5   (0)| 00:00:01 | 
  25. |  19 |           TABLE ACCESS FULL          | WWW_MONITOR_QUEUE_ACTION    |     1 |    26 |     2   (0)| 00:00:01 | 
  26. |* 20 |           TABLE ACCESS BY INDEX ROWID| WWW_BILL_010120121005       |     1 |    35 |     3   (0)| 00:00:01 | 
  27. |* 21 |            INDEX RANGE SCAN          | ITDX_ACCT_ID_10120121005    |     1 |       |     2   (0)| 00:00:01 | 
  28. |* 22 |          INDEX RANGE SCAN            | TPK_BILL_DTL_ID_10120121005 |     1 |       |     2   (0)| 00:00:01 | 
  29. -------------------------------------------------------------------------------------------------------------------- 
linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款