Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

21

主题
1#
发表于 2013-7-1 16:43:45 | 查看: 4841| 回复: 2
env:XD X2-2 quarter rack
rdbms:11.2.0.3.BP 7

执行以下sql的时候报错:
  1. SQL> create table wxx_ydtrac_1306 compress for query high nologging as
  2.   2          select a.region_id,to_char(a.start_time,'yyyymmddhh24') sd,
  3.   3          b.acct_item_type_id ,a.event_type_id event_type,
  4.   4          count(distinct a.calling_nbr) zjsh,count(a.event_inst_id) hd,
  5.   5          sum(b.rate_duration) rum_value,sum(a.duration) duration,
  6.   6          sum(b.charge) fy
  7.   7          from V_NBIL_EVT_TGCDR_DAY a,
  8.   8            V_NBIL_EVT_TGCDR_FEE_DAY b
  9.   9          where a.event_inst_id=b.event_inst_id
  10. 10          and to_char(a.start_time,'yyyymm')='201306'
  11. 11          group by a.region_id,to_char(a.start_time,'yyyymmddhh24'),
  12. 12          b.acct_item_type_id ,a.event_type_id
  13. 13          order by
  14. 14          a.region_id,to_char(a.start_time,'yyyymmddhh24'),
  15. 15          b.acct_item_type_id ,a.event_type_id;
  16. create table wxx_ydtrac_1306 compress for query high nologging as
  17. *
  18. ERROR at line 1:
  19. ORA-12801: error signaled in parallel query server P070, instance
  20. ods02odscpy02.xjods.com:odscpy2 (2)
  21. ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
复制代码
temp tablespace有512G,在执行过程中用
  1. select inst_id, tablespace_name, total_blocks, used_blocks, free_blocks
  2. from gv$sort_segment ;
复制代码
这条命令检查也没发现有哪个节点的free出现0的情况

  1. SELECT vt.inst_id,
  2.        vs.sid,
  3.        vs.serial#,
  4.        vs.username,
  5.     vs.osuser,
  6.        vs.machine,
  7.        vs.saddr,
  8.        vs.client_info,
  9.        vs.program,
  10.        vs.module,
  11.        vs.logon_time,
  12.        vt.tempseg_usage,
  13.     vt.segtype
  14.   FROM gv$session vs,
  15.        (  SELECT inst_id,
  16.                  username,
  17.                  session_addr,segtype,
  18.                  ROUND (SUM (blocks) * 8192 / 1024 / 1024 / 1024, 2)
  19.                     tempseg_usage
  20.             FROM gv$tempseg_usage
  21.         GROUP BY inst_id, username, session_addr,segtype
  22.         ORDER BY 4 DESC) vt
  23. WHERE vs.inst_id = vt.inst_id AND vs.saddr = vt.session_addr order by tempseg_usage desc;
复制代码
这条命令一直监控temp表空间使用情况,发现所有session最多也就使用100G左右的temp tablespace

参考mos上的这两份文档
ORA-01652: Unable to Extend Temp Segment in RAC [ID 1534590.1]

Bug 14383007 - Sort runs out of temp space in RAC even when temp space is available [ID 14383007.8]

感觉场景不是很吻合,麻烦ML帮忙分析一下吧,谢谢你了。

我正在生成10046,完了传上来。
2#
发表于 2013-7-1 16:54:19

回复 只看该作者 道具 举报

3#
发表于 2013-7-1 16:58:20
10046生成的trace文件

odscpy2_ora_4420.zip

805.35 KB, 下载次数: 845

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-29 16:41 , Processed in 0.048208 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569