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

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

0

积分

1

好友

21

主题
1#
发表于 2013-7-4 17:24:20 | 查看: 4916| 回复: 6
env:XD X2-2 quarter rack
rdbms:11.2.0.3 bp 7

问题描述:
执行insert,报如下错误:
  1. SQL> INSERT /*+ PARALLEL(T,4)*/  INTO ODSA.TA_BONUS_RPT T (index_id,target_id,target_name,target_grade,acct_month,seq_nbr,target_unit,region_id,sum_count) SELECT  /*+parallel(a,4)*/ '600530053',
  2.   2          'KHJF334000',
  3.   3          '10000分以上',
  4.   4          2,
  5.   5          201306,
  6.   6          53,
  7.   7          '次',  par_region_id, count(*)
  8.   8    from (SELECT PAR_REGION_ID, cust_id, point
  9.   9            from XJODS.PMID_BONUS_INTERFACE A
  10. 10           where NVL(A.STANDBY2, '0') <> 'CZ'
  11. 11             and A.cx_busi_id is null
  12. 12          union all
  13. 13          SELECT par_region_id, cust_id, amount point
  14. 14            from XJODS.PMID_BONUS_GROUP A
  15. 15           where CX_ORDER_NBR IS NULL
  16. 16             AND NVL(A.STANDBY2, '0') <> 'CZ') a
  17. 17   where a.POINT >=10000
  18. 18   group by par_region_id;
  19. INSERT /*+ PARALLEL(T,4)*/  INTO ODSA.TA_BONUS_RPT T (index_id,target_id,target_name,target_grade,acct_month,seq_nbr,target_unit,region_id,sum_count) SELECT  /*+parallel(a,4)*/ '600530053',
  20. *
  21. ERROR at line 1:
  22. ORA-03113: end-of-file on communication channel
  23. Process ID: 11984
  24. Session ID: 1186 Serial number: 21461
复制代码
查看alert日志文件,发现有以下错误:
  1. Thu Jul 04 16:44:28 2013
  2. Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xFFFFFFFFFFFFFFFF] [PC:0x92E79D7, lmebco()+235] [flags: 0x0, count: 1]
  3. Errors in file /u01/app/oracle/diag/rdbms/odsprd/odsprd2/trace/odsprd2_ora_20826.trc  (incident=157791):
  4. ORA-07445: 出现异常错误: 核心转储 [lmebco()+235] [SIGSEGV] [ADDR:0xFFFFFFFFFFFFFFFF] [PC:0x92E79D7] [Address not mapped to object] []
  5. Incident details in: /u01/app/oracle/diag/rdbms/odsprd/odsprd2/incident/incdir_157791/odsprd2_ora_20826_i157791.trc
  6. Use ADRCI or Support Workbench to package the incident.
  7. See Note 411.1 at My Oracle Support for error and packaging details.
  8. Thu Jul 04 16:44:29 2013
  9. Dumping diagnostic data in directory=[cdmp_20130704164429], requested by (instance=2, osid=20826), summary=[incident=157791].
  10. Thu Jul 04 16:44:30 2013
  11. Sweep [inc][157791]: completed
  12. Sweep [inc2][157791]: completed
复制代码
其中insert 表的表结构如下:
  1. CREATE TABLE ODSA.TA_BONUS_RPT
  2. (
  3.   INDEX_ID      VARCHAR2(10 BYTE),
  4.   TARGET_ID     VARCHAR2(10 BYTE),
  5.   TARGET_NAME   VARCHAR2(100 BYTE),
  6.   TARGET_GRADE  VARCHAR2(10 BYTE),
  7.   ACCT_MONTH    NUMBER(6),
  8.   SEQ_NBR       VARCHAR2(10 BYTE),
  9.   TARGET_UNIT   VARCHAR2(10 BYTE),
  10.   REGION_ID     NUMBER(10),
  11.   SUM_COUNT     NUMBER(20,4)
  12. )
  13. TABLESPACE TS_DO_DATA
复制代码
麻烦大家帮忙分析下吧,谢谢了!

7445_alert_trace.zip

995.5 KB, 下载次数: 1507

7#
发表于 2013-7-11 10:46:57
Oracle开发最后提供的解决方案:

My BDE reviewed the cellsrv traces and alert logs uploaded, couldn't find any specific issues in it. He believes, you are on cell version 11.2.2.4.2, there is a one off patch available for this on top of 11.2.2.4.2, please go ahead to apply this fix on all the 3 cells and test the query.

Download link is below:

https://updates.oracle.com/download/13800717.html

回复 只看该作者 道具 举报

6#
发表于 2013-7-8 13:01:47
谢谢ML,我开的sr是3-7479463481,当我把insert中select涉及的表修改为nocompress时就不会报错(原压缩模式compress for query high),对sql中的三张表都做过analyze,不起作用,cell_offload_processing =false这个参数没有测试过。

回复 只看该作者 道具 举报

5#
发表于 2013-7-7 01:37:05
这似乎是Exadata上专有的BUG

Action Plan:
1、对相关表做analyze
analyze table TABNAME validate structure cascade;

2、尝试设置cell_offload_processing =false 并观察

回复 只看该作者 道具 举报

4#
发表于 2013-7-7 01:32:32
Hdr: 17055960 11.2.0.3.7EXADBBP RDBMS 11.2.0.3.7EXADBBP RAM COLUMNAR PRODID-5 PORTID-226 ORA-7445
Abstract: INSERT FAILS WITH ORA-7445 [LMEBCO()+235]


貌似这个就是你开的SR。。。。

回复 只看该作者 道具 举报

3#
发表于 2013-7-7 01:30:40
call stack:

qeshLoadRowForGBY=>qeshrPUSplCompare=>lmebco

lmebco在movzbl时触发SIGSEGV

回复 只看该作者 道具 举报

2#
发表于 2013-7-7 01:28:47
Linux +11.2.0.3.0+ RAC


Dump continued from file: /u01/app/oracle/diag/rdbms/odsprd/odsprd2/trace/odsprd2_ora_895.trc
ORA-07445: 出现异常错误: 核心转储 [lmebco()+235] [SIGSEGV] [ADDR:0xFFFFFFFFFFFFFFFF] [PC:0x92E79D7] [Address not mapped to object] []

========= Dump for incident 157599 (ORA 7445 [lmebco()+235]) ========
----- Beginning of Customized Incident Dump(s) -----
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xFFFFFFFFFFFFFFFF] [PC:0x92E79D7, lmebco()+235] [flags: 0x0, count: 1]
Registers:
%rax: 0x0000000000000003 %rbx: 0x0000000000000000 %rcx: 0xffffffffffffffff
%rdx: 0xffffffffffffffff %rdi: 0x00002b884a404e3b %rsi: 0x0000000000000003
%rsp: 0x00007ffff7d5d1a0 %rbp: 0x00007ffff7d5d1a0  %r8: 0x00002b884a2d39a0
%r9: 0x00002b884a2d39a8 %r10: 0x00000000000000c2 %r11: 0x00002b884a2d39e8
%r12: 0x0000000000000001 %r13: 0x00002b884a2d3858 %r14: 0x00002b884a2d39a0
%r15: 0x0000000000007fff %rip: 0x00000000092e79d7 %efl: 0x0000000000010246
  lmebco()+226 (0x92e79ce) mov %rbp,%rsp
  lmebco()+229 (0x92e79d1) pop %rbp
  lmebco()+230 (0x92e79d2) ret
  lmebco()+231 (0x92e79d3) movzbl (%rdi),%r10d
> lmebco()+235 (0x92e79d7) movzbl (%rdx),%r9d
  lmebco()+239 (0x92e79db) movzbl 0x1(%rdi),%r8d
  lmebco()+244 (0x92e79e0) movzbl 0x1(%rdx),%eax
  lmebco()+248 (0x92e79e4) sub %r9d,%r10d
  lmebco()+251 (0x92e79e7) movsxdq %r10d,%r9

*** 2013-07-04 16:21:40.531
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=g6039c8rsr08u) -----
INSERT /*+ PARALLEL(T,4)*/  INTO ODSA.TA_BONUS_RPT T (index_id,target_id,target_name,target_grade,acct_month,seq_nbr,target_unit,region_id,sum_count) SELECT  /*+parallel(a,4)*/ '600530053',
        'KHJF334000',
        '10000分以上',
        2,
        201306,
        53,
        '次',  par_region_id, count(*)
  from (SELECT PAR_REGION_ID, cust_id, point
          from XJODS.PMID_BONUS_INTERFACE A
         where NVL(A.STANDBY2, '0') <> 'CZ'
           and A.cx_busi_id is null
        union all
        SELECT par_region_id, cust_id, amount point
          from XJODS.PMID_BONUS_GROUP A
         where CX_ORDER_NBR IS NULL
           AND NVL(A.STANDBY2, '0') <> 'CZ') a
where a.POINT >=10000
group by par_region_id
----- PL/SQL Stack -----
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x656101dd0       622  package body XJODS.PKG_BONUS_RPT
0x656101dd0       697  package body XJODS.PKG_BONUS_RPT
0x5afb252b8         1  anonymous block

----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skdstdst()+36        call     kgdsdst()            000000000 ? 000000000 ?
                                                   2B8849DF4098 ? 000000001 ?
                                                   000000001 ? 000000003 ?
ksedst1()+98         call     skdstdst()           000000000 ? 000000000 ?
                                                   2B8849DF4098 ? 000000001 ?
                                                   000000000 ? 000000003 ?
ksedst()+34          call     ksedst1()            000000001 ? 000000001 ?
                                                   2B8849DF4098 ? 000000001 ?
                                                   000000000 ? 000000003 ?
dbkedDefDump()+2741  call     ksedst()             000000001 ? 000000001 ?
                                                   2B8849DF4098 ? 000000001 ?
                                                   000000000 ? 000000003 ?
ksedmp()+36          call     dbkedDefDump()       000000003 ? 000000003 ?
                                                   2B8849DF4098 ? 000000001 ?
                                                   000000000 ? 000000003 ?
ssexhd()+2458        call     ksedmp()             000000003 ? 000000003 ?
                                                   2B8849DF4098 ? 000000001 ?
                                                   000000000 ? 000000003 ?
__sighandler()       call     ssexhd()             00000000B ? 2B8849DFCD70 ?
                                                   2B8849DFCC68 ? 000000001 ?
                                                   000000000 ? 000000003 ?
lmebco()+235         signal   __sighandler()       2B884A404E3B ? 000000003 ?
                                                   FFFFFFFFFFFFFFFF ?
                                                   FFFFFFFFFFFFFFFF ?
                                                   2B884A2D39A0 ? 2B884A2D39A8 ?
qeshrPUSplCompare()  call     lmebco()             2B884A404E3B ? 000000003 ?
+249                                               FFFFFFFFFFFFFFFF ?
                                                   000000003 ? 2B884A2D39A0 ?
                                                   2B884A2D39A8 ?
qeshLoadRowForGBY()  call     qeshrPUSplCompare()  2B884A2D39E8 ? 000000003 ?
+4066                                              2B884A2D39A0 ? 000000003 ?
                                                   2B884A2D39A0 ? 2B884A2D39A8 ?
qerghRowP()+313      call     qeshLoadRowForGBY()  000000001 ? 2B884A2D3858 ?
                                                   2B884A2D39A0 ? 000000003 ?
                                                   2B884A2D39A0 ? 2B884A2D39A8 ?
qervwRowProcedure()  call     qerghRowP()          000000001 ? 000007FFF ?
+285                                               2B884A2D39A0 ? 000000003 ?
                                                   2B884A2D39A0 ? 2B884A2D39A8 ?
qeruaRowProcedure()  call     qervwRowProcedure()  7FFFF7D5E2A0 ? 000007FFF ?
+300                                               2B884A2D39A0 ? 000000003 ?
                                                   2B884A2D39A0 ? 2B884A2D39A8 ?
kdstf11001010001km(  call     qeruaRowProcedure()  7FFFF7D5E208 ? 000007FFF ?
)+3381                                             2B884A2D39A0 ? 000000003 ?
                                                   2B884A2D39A0 ? 2B884A2D39A8 ?
kdsttgr()+120659     call     kdstf11001010001km(  2B884CE11690 ? 000000000 ?
                              )                    2B884A2D39A0 ? 2B884CE11558 ?
                                                   009273E74 ? 2B884A2B53E0 ?
qertbFetch()+2341    call     kdsttgr()            2B884CE11690 ? 000000000 ?
                                                   4B9BA5D20 ? 2B884CE11558 ?
                                                   4B9BA5D90 ? 009273E74 ?
rwsfcd()+103         call     qertbFetch()         4B9BA5D20 ? 2B884CE11558 ?
                                                   009273E74 ? 7FFFF7D5E208 ?
                                                   100007FFF ? 2B884CE115A0 ?

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-11-16 20:48 , Processed in 0.058581 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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