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

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

73

积分

0

好友

3

主题
1#
发表于 2012-12-8 14:07:50 | 查看: 8398| 回复: 7
本帖最后由 yiyufeng1986 于 2012-12-18 16:14 编辑

操作系统版本  rhel5.6--64bit
oracle 版本:10.2.0.2.0 - 64bit
昨天下午16:10左右开始突然一直报这个错误,附件是alert日志和一个trace文件。请刘大帮忙分析一下。
8#
发表于 2012-12-11 13:00:37
INSERT INTO EMT_ABDLOG@LINK_TO_CAM"

你这个SQL的使用就有问题, 把 DBLINK当成常态来使用了?这不科学啊, DBLINK不适合这样频繁的使用。

Workaround:

可以考虑定期清理这个游标

Oracle中清除游标缓存的几种方法 http://www.askmaclean.com/archiv ... 96%B9%E6%B3%95.html


2. 考虑定期flush shared_pool

alter system flush shared_pool

回复 只看该作者 道具 举报

7#
发表于 2012-12-10 16:48:11
本帖最后由 yiyufeng1986 于 2012-12-10 16:55 编辑

从cursortrace中,或者下面的视图结果中
SQL> select a.SQL_ID,a.ADDRESS,a.CHILD_ADDRESS,a.CHILD_NUMBER,a.INST_DRTLD_MISMATCH   from  v$sql_shared_cursor a where address = '00000005E6C29518'  and rownum <100;

SQL_ID              ADDRESS               CHILD_ADDRESS        CHILD_NUMBER I
------------- ---------------- ---------------- ------------ -
452mccq8c9mux 00000005E6C29518 00000005E6BEA9D8            0 Y
452mccq8c9mux 00000005E6C29518 00000005E6D09C98            1 Y
452mccq8c9mux 00000005E6C29518 00000005E6D09A70            2 Y
452mccq8c9mux 00000005E6C29518 00000005E6D6AFC8            3 Y
452mccq8c9mux 00000005E6C29518 00000005E6C88AD8            5 Y
452mccq8c9mux 00000005E6C29518 00000005F9140390            6 Y
452mccq8c9mux 00000005E6C29518 00000005F94DCD00            7 Y
452mccq8c9mux 00000005E6C29518 00000005E69B7C58            8 Y
452mccq8c9mux 00000005E6C29518 00000005E69B7E20            9 Y
452mccq8c9mux 00000005E6C29518 00000005E6998C30           10 Y
452mccq8c9mux 00000005E6C29518 00000005E6C29CD8           11 Y
452mccq8c9mux 00000005E6C29518 00000005F90CE018           12 Y
452mccq8c9mux 00000005E6C29518 00000005E6C00328           13 Y
452mccq8c9mux 00000005E6C29518 00000005E6A599B0           14 Y
452mccq8c9mux 00000005E6C29518 00000005F97811B0           15 Y
452mccq8c9mux 00000005E6C29518 00000005E6AFCCF8           16 Y
452mccq8c9mux 00000005E6C29518 00000005E6D29128           17 Y
452mccq8c9mux 00000005E6C29518 00000005E6A97BC8           18 Y
452mccq8c9mux 00000005E6C29518 00000005F910E218           19 Y
452mccq8c9mux 00000005E6C29518 00000005F97C0100           20 Y
452mccq8c9mux 00000005E6C29518 00000005F97BFF80           21 Y
452mccq8c9mux 00000005E6C29518 00000005F91EEED8           22 Y
452mccq8c9mux 00000005E6C29518 00000005E6FC2FA0           23 Y
452mccq8c9mux 00000005E6C29518 00000005E6AE0E48           24 Y
452mccq8c9mux 00000005E6C29518 00000005E6AE0C20           25 Y
452mccq8c9mux 00000005E6C29518 00000005E6B777E0           26 Y
452mccq8c9mux 00000005E6C29518 00000005E6F61F00           27 Y
452mccq8c9mux 00000005E6C29518 00000005E69C9E38           28 Y
452mccq8c9mux 00000005E6C29518 00000005E69C9CB8           29 Y
452mccq8c9mux 00000005E6C29518 00000005E699D238           30 Y
452mccq8c9mux 00000005E6C29518 00000005E6B23AE8           31 Y
452mccq8c9mux 00000005E6C29518 00000005E699D400           32 Y
452mccq8c9mux 00000005E6C29518 00000005E6B0D4E0           33 Y
452mccq8c9mux 00000005E6C29518 00000005E6C50A28           34 Y
452mccq8c9mux 00000005E6C29518 00000005E69A12E0           35 Y
452mccq8c9mux 00000005E6C29518 00000005E6D2E980           36 Y
452mccq8c9mux 00000005E6C29518 00000005F93D4928           37 Y
452mccq8c9mux 00000005E6C29518 00000005E6FD41F8           38 Y
452mccq8c9mux 00000005E6C29518 00000005E6DAA680           39 Y
452mccq8c9mux 00000005E6C29518 00000005E6C7A628           40 Y
452mccq8c9mux 00000005E6C29518 00000005E6D6E158           41 Y
452mccq8c9mux 00000005E6C29518 00000005E69BC3B8           42 Y
452mccq8c9mux 00000005E6C29518 00000005E6C284C0           43 Y
452mccq8c9mux 00000005E6C29518 00000005E6C16CA0           44 Y
452mccq8c9mux 00000005E6C29518 00000005E6B48058           45 Y
452mccq8c9mux 00000005E6C29518 00000005E6B9A140           46 Y
452mccq8c9mux 00000005E6C29518 00000005F93E6AB0           47 Y
452mccq8c9mux 00000005E6C29518 00000005F99BFE80           48 Y
452mccq8c9mux 00000005E6C29518 00000005E6B23968           49 Y
452mccq8c9mux 00000005E6C29518 00000005F99BFC58           50 Y
452mccq8c9mux 00000005E6C29518 00000005F932E838           51 Y

可以看出:Cursor not shared due to INST_DRTLD_MISMATCH

回复 只看该作者 道具 举报

6#
发表于 2012-12-10 11:47:30
本帖最后由 yiyufeng1986 于 2012-12-10 16:43 编辑

下面是cursortrace文件
Unix process pid: 20693, image: oraclephonecrm@phonecrm

*** 2012-12-10 10:06:45.122
*** SERVICE NAME:(SYS$USERS) 2012-12-10 10:06:45.121
*** SESSION ID:(278.9528) 2012-12-10 10:06:45.121
CUR#33 XSC 0x2b20d0542b68 CHILD#-1 CI (nil) CTX (nil)
PARSE: SQLTEXT=
Checking for already pinned child.
No valid child pinned
Parent 0x632c64d60(0x5e6c29518) ready for search
kksSearchChildList outside while loop
kksCheckCursor: next child is #4528
kksCheckCursor: pinning child #4528 in shared mode 640d407b0 5e67a6a48
Failed sharing : Insert direct load possible
kksUnlockChild: releasing child
Failed sharing : 400
kksCheckCursor: next child is #4527
kksCheckCursor: pinning child #4527 in shared mode 632442548 5e697b660
Failed sharing : Insert direct load possible
kksUnlockChild: releasing child
Failed sharing : 400
kksCheckCursor: next child is #4526
kksCheckCursor: pinning child #4526 in shared mode 640d407b0 5e63bf0f0
Failed sharing : Insert direct load possible
kksUnlockChild: releasing child
Failed sharing : 400
kksCheckCursor: next child is #4525
kksCheckCursor: pinning child #4525 in shared mode 632442548 5e63bf318
Failed sharing : Insert direct load possible
kksUnlockChild: releasing child
Failed sharing : 400
kksCheckCursor: next child is #4524
kksCheckCursor: pinning child #4524 in shared mode 640d407b0 5e63bf540
Failed sharing : Insert direct load possible
kksUnlockChild: releasing child
Failed sharing : 400
kksCheckCursor: next child is #4523
kksCheckCursor: pinning child #4523 in shared mode 632442548 5e63bf6c0
Failed sharing : Insert direct load possible
kksUnlockChild: releasing child
Failed sharing : 400

phonecrm_ora_20693.rar

113.45 KB, 阅读权限: 10, 下载次数: 1

回复 只看该作者 道具 举报

5#
发表于 2012-12-10 08:53:08
Liu Maclean(刘相兵 发表于 2012-12-8 15:18
10.2.0.2.0 + Linux

就trace hostname来看 安装很不专业ORA-600 [17059]一般是由于cursor的child cursor过 ...

COLUMN_VALUE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Version Count Report Version 3.2.1 -- Today's Date 09-dec-12 17:09
RDBMS Version :10.2.0.2.0 Host: phonecrm Instance 1 : phonecrm
==================================================================
Addr: 00000005E6C29518        Hash_Value: 2428817245        SQL_ID 452mccq8c9mux
Sharable_Mem: 22636445 bytes   Parses: 2943
Stmt:
0 INSERT INTO EMT_ABDLOG@LINK_TO_CAM (EMTCODE,PCA_RESCODE, SALER,
1 ABA_REASON, ABA_DATE,OPERATION_USER) VALUES (:B5 ,:B4 ,'无',:B3 ,
2  :B2 ,:B1 )
3

Versions Summary
----------------
INST_DRTLD_MISMATCH :2943

Total Versions:2942

Plan Hash Value Summary
-----------------------
Plan Hash Value Count
=============== =====
              0 2943

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Details for INST_DRTLD_MISMATCH :

No details available
####
To further debug Ask Oracle Support for the appropiate level LLL.
and read note:457225.1 Cannot turn off Trace after setting CURSORTRACE EVENT
alter session set events
'immediate trace name cursortrace address 2428817245, level LLL';
To turn it off do use address 1, level 2147483648
================================================================
Version Count Report Version 3.2.1 -- Today's Date 09-dec-12 17:10
RDBMS Version :10.2.0.2.0 Host: phonecrm Instance 1 : phonecrm
==================================================================
Addr: 000000064FE83200        Hash_Value: 1784531165        SQL_ID 1dw51n5p5vk6x
Sharable_Mem: 1677813 bytes   Parses: 251
Stmt:
0 INSERT INTO CLIENT_BATCH@LINK_TO_SEARCHCRM (UNIQUE_ID, MEMBER_ID
1 , FACTORY_ID, DEPT, OPERATION_DATE, RECDATE, REMARK) VALUES (-1,
2  :B1 , NULL, 'phone', SYSDATE, SYSDATE, '1')
3

Versions Summary
----------------
INST_DRTLD_MISMATCH :251
AUTH_CHECK_MISMATCH :1
INSUFF_PRIVS_REM :1

Total Versions:252

Plan Hash Value Summary
-----------------------
Plan Hash Value Count
=============== =====
              0 253

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Details for INST_DRTLD_MISMATCH :

No details available
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Details for AUTH_CHECK_MISMATCH :

  # of Ver PARSING_USER_ID PARSING_SCHEMA_ID PARSING_SCHEMA_NAME
========== =============== ================= ===================
       253                 58                   58 PHONE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Details for INSUFF_PRIVS_REM :

No details available
####
To further debug Ask Oracle Support for the appropiate level LLL.
and read note:457225.1 Cannot turn off Trace after setting CURSORTRACE EVENT
alter session set events
'immediate trace name cursortrace address 1784531165, level LLL';
To turn it off do use address 1, level 2147483648
================================================================

回复 只看该作者 道具 举报

4#
发表于 2012-12-9 14:04:40
谢谢刘大的指教。上次也发现了hostname这个低级问题。后来给忙忘了。今晚一定记得给改一下。

回复 只看该作者 道具 举报

3#
发表于 2012-12-9 14:02:11
Liu Maclean(刘相兵 发表于 2012-12-8 15:18
10.2.0.2.0 + Linux

就trace hostname来看 安装很不专业ORA-600 [17059]一般是由于cursor的child cursor过 ...

SQL> SELECT version_count, sql_id, sql_text  FROM v$sqlarea  WHERE version_count > 500  ORDER BY version_count;

VERSION_COUNT SQL_ID            SQL_TEXT
------------- ------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        32772 452mccq8c9mux INSERT INTO EMT_ABDLOG@LINK_TO_CAM (EMTCODE,PCA_RESCODE, SALER, ABA_REASON, ABA_DATE,OPERATION_USER) VALUES (:B5 ,:B4 ,'无',:B3 , :B2 ,:B1 )

回复 只看该作者 道具 举报

2#
发表于 2012-12-8 15:18:32
10.2.0.2.0 + Linux

就trace hostname来看 安装很不专业


  1. *** 2012-12-07 16:14:17.118
  2. ksedmp: internal or fatal error
  3. ORA-00600: internal error code, arguments: [17059], [0x5DB423950], [], [], [], [], [], []
  4. No current SQL statement being executed.
  5. ----- PL/SQL Call Stack -----
  6.   object      line  object
  7.   handle    number  name
  8. 0x64fe93958      1040  package body PHONE.PKG_MEM_MEMBER_THREE
  9. 0x622458cd0         1  anonymous block
  10. ----- Call Stack Trace -----
  11. calling              call     entry                argument values in hex      
  12. location             type     point                (? means dubious value)     
  13. -------------------- -------- -------------------- ----------------------------
  14. ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
  15.                                                    7FFFB3A387E0 ? 7FFFB3A38840 ?
  16.                                                    7FFFB3A38780 ? 000000000 ?
  17. ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
  18.                                                    7FFFB3A387E0 ? 7FFFB3A38840 ?
  19.                                                    7FFFB3A38780 ? 000000000 ?
  20. ksfdmp()+21          call     ksedmp()             000000003 ? 000000001 ?
  21.                                                    7FFFB3A387E0 ? 7FFFB3A38840 ?
  22.                                                    7FFFB3A38780 ? 000000000 ?
  23. kgeriv()+176         call     ksfdmp()             000000003 ? 000000001 ?
  24.                                                    7FFFB3A387E0 ? 7FFFB3A38840 ?
  25.                                                    7FFFB3A38780 ? 000000000 ?
  26. kgesiv()+119         call     kgeriv()             0064FE740 ? 2B269FEA11F8 ?
  27.                                                    000000000 ? 7FFFB3A33F30 ?
  28.                                                    7FFFB3A38780 ? 000000000 ?
  29. kgesic1()+155        call     kgesiv()             0064FE740 ? 2B269FEA11F8 ?
  30.                                                    0000042A3 ? 000000001 ?
  31.                                                    7FFFB3A39560 ? 000000000 ?
  32. kgltba()+1035        call     kgesic1()            0064FE740 ? 2B269FEA11F8 ?
  33.                                                    0000042A3 ? 000000002 ?
  34.                                                    5DB423950 ? 000000001 ?
  35. kglhdgc()+313        call     kgltba()             0064FE740 ? 5DB423950 ?
  36.                                                    5DB423C70 ? 000000001 ?
  37.                                                    000000001 ? 64245E1A8 ?
  38. kglget()+1009        call     kglhdgc()            0064FE740 ? 5DB423950 ?
  39.                                                    7FFFB3A3A62E ? 000000000 ?
  40.                                                    000000000 ? 510010000 ?
  41.                                                                                                   
  42.                                                                                                   
  43.                                                                                                   
  44. Cursor#43(0x2b269feb2838) state=NULL curiob=0x2b26a0247c30
  45. curflg=c5 fl2=0 par=(nil) ses=0x64d42e9e8
  46. sqltxt(0x5e6c29518)=INSERT INTO EMT_ABDLOG@LINK_TO_CAM (EMTCODE,PCA_RESCODE, SALER, ABA_REASON, ABA_DATE,OPERATION_USER) VALUES (:B5 ,:B4 ,'无',:B3 , :B2 ,:B1 )
  47.   hash=7b5938dd27488ff0428a6c6590c4cf5d
  48.   parent=0x5db423a68 maxchild=32771 plk=0x640f5a1a8 ppn=n
  49. cursor instantiation=0x2b26a0247c30 used=1354868504
  50. child#32768((nil)) pcs=0x5b0ea9fb0
复制代码
ORA-600 [17059]一般是由于cursor的child cursor过多引起的


就TRACE来看 " =INSERT INTO EMT_ABDLOG@LINK_TO_CAM" 这个语句有 几万个子游标

查一下下面的脚本 并给出 结果

  1. SELECT version_count, sql_id, sql_text
  2. FROM v$sqlarea
  3. WHERE version_count > 500
  4. ORDER BY version_count;
复制代码

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-11-16 04:44 , Processed in 0.051983 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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