IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    数据库open报ORA-07445 kglsget错误处理

    惜分飞发表于 2023-04-21 14:43:04
    love 0

    联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

    标题:数据库open报ORA-07445 kglsget错误处理

    作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

    有朋友反馈,数据库服务器断电之后,强制拉库无法open成功

    Wed Apr 19 18:13:30 2023
    ALTER DATABASE OPEN
    Beginning crash recovery of 1 threads
     parallel recovery started with 32 processes
    Started redo scan
    Completed redo scan
     read 35 KB redo, 20 data blocks need recovery
    Started redo application at
     Thread 1: logseq 4, block 3
    Recovery of Online Redo Log: Thread 1 Group 1 Seq 4 Reading mem 0
      Mem# 0: E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG
    Completed redo application of 0.02MB
    Completed crash recovery at
     Thread 1: logseq 4, block 73, scn 157134992
     20 data blocks read, 20 data blocks written, 35 redo k-bytes read
    Thread 1 advanced to log sequence 5 (thread open)
    Thread 1 opened at log sequence 5
      Current log# 2 seq# 5 mem# 0: E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG
    Successful open of redo thread 1
    MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
    SMON: enabling cache recovery
    Successfully onlined Undo Tablespace 2.
    Verifying file header compatibility for 11g tablespace encryption..
    Verifying 11g file header compatibility for tablespace encryption completed
    SMON: enabling tx recovery
    Database Characterset is ZHS16GBK
    No Resource Manager plan active
    Starting background process QMNC
    Wed Apr 19 18:13:34 2023
    QMNC started with pid=56, OS id=6380 
    Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x12] [PC:0x9068BE9, kglsget()+547]
    ERROR: Unable to normalize symbol name for the following short stack (at offset 199):
    dbgexProcessError()+193<-dbgeExecuteForError()+65<-dbgePostErrorKGE()+1726
    <-dbkePostKGE_kgsf()+75<-kgeade()+560<-kgerev()+125<-kgerec5()+60<-sss_xcpt_EvalFilterEx()+1869
    <-sss_xcpt_EvalFilter()+174<-.1.6_8+59<-00007FFB13102316<-00007FFB1311398D<-00007FFB130D93A7
    <-00007FFB13112B1A<-kglsget()+547<-qcdolci()+80<-qcdoloi()+167<-qcdlgcd()+940<-kkdlgcd()+129
    <-PGOSF158_kkmfbtcn()+17<-qcsIsColInFro()+474<-qcsRslvColWithinQbc()+304<-qcsStrongColRslv()+632
    <-qcsRslvName()+212<-qcsridn()+104<-qcsraic()+736<-qcspqbDescendents()+485<-qcspqb()+154<-kkmdrv()+200
    <-opiSem()+2560<-opiDeferredSem()+565<-opitca()+391<-PGOSF525_kksFullTypeCheck()+27<-rpiswu2()+2757
    <-kksLoadChild()+9357<-kxsGetRuntimeLock()+2320<-kksfbc()+15225<-kkspsc0()+2117<-kksParseCursor()+181
    <-opiosq0()+2538<-opiall0()+6705<-opikpr()+699<-opiodr()+1662<-rpidrus()+862<-rpidru()+154<-rpiswu2()+2757
    <-kprball()+1610<-qmCheckIfXdbInstalled()+1059<-qm_open_db()+11<-kscnfy()+778
    Errors in file e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6036.trc  (incident=113085):
    ORA-07445: 出现异常错误: 核心转储 [kglsget()+547] [ACCESS_VIOLATION] [ADDR:0x12] [PC:0x9068BE9] [UNABLE_TO_READ] []
    Incident details in: e:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_113085\orcl_ora_6036_i113085.trc
    Wed Apr 19 18:13:36 2023
    Trace dumping is performing id=[cdmp_20230419181336]
    Wed Apr 19 18:13:39 2023
    PMON (ospid: 6624): terminating the instance due to error 397
    Instance terminated by PMON, pid = 6624
    

    查看trace文件

    *** 2023-04-21 17:29:42.077
    *** SESSION ID:(898.359) 2023-04-21 17:29:42.077
    *** CLIENT ID:() 2023-04-21 17:29:42.077
    *** SERVICE NAME:(SYS$USERS) 2023-04-21 17:29:42.077
    *** MODULE NAME:(sqlplus.exe) 2023-04-21 17:29:42.077
    *** ACTION NAME:() 2023-04-21 17:29:42.077
     
    Dump continued from file: e:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9648.trc
    ORA-07445: 出现异常错误: 核心转储 [kglsget()+547] [ACCESS_VIOLATION] [ADDR:0x12] [PC:0x9138BE9] [UNABLE_TO_READ] []
    
    ========= Dump for incident 444285 (ORA 7445 [kglsget()+547]) ========
    ----- Beginning of Customized Incident Dump(s) -----
    Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x12] [PC:0x9138BE9, kglsget()+547]
    
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    Process Id: 0x00000a8c  Thread Id : 0x000025b0    Time : Fri Apr 21 17:29:42 
    Excp. Code: 0xc0000005  Excp. Type: ACCESS_VIO    Flags: 0x00000000
    
    ------------------- Registers ----------------------------
    ip=0000000009138BE9 sp=00000000276FA470 rp=0000000A0BF280D0
    r1=000000001089AFE0 r2=0000000000000000 r3=0000000000000101 
    r4=00000009BDFE40B0 r5=00000000276FA470 r6=0000000A0BF280D0 r7=00000000000005C0 
    r8=00000009B9DC4F48 r9=0000000A0BF280D0 r10=0000000000000200 r11=00000000276FA590 
    r12=00000009ED85F4C0 r13=000000000CB3C070 r14=0000000000000001 r15=0000000000000001 
    ------------------- End of Registers ---------------------
    
    
    *** 2023-04-21 17:29:42.077
    dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
    ----- Current SQL Statement for this session (sql_id=gtf6tgc2ycgxx) -----
    select count(*) from XDB.XDB$SCHEMA s where s.xmldata.schema_url = 'http://xmlns.oracle.com/xdb/XDBSchema.xsd'
    
    ----- Call Stack Trace -----
    calling              call     entry                argument values in hex      
    location             type     point                (? means dubious value)     
    -------------------- -------- -------------------- ----------------------------
    kglsget()+547                 0000000000000000     009962700 00996270C 000000000
                                                       0276DCCA0
    qcdolci()+80         CALL???  kglsget()+347        9C5F9E7D0 009138AE2 000000018
                                                       000000001
    qcdoloi()+167        CALL???  qcdolci()            00000DC7E 008D52DEF 000000006
                                                       00CB5BEE8
    qcdlgcd()+940        CALL???  qcdoloi()            000000000 000000000 000000000
                                                       000000000
    kkdlgcd()+129        CALL???  qcdlgcd()            000000000 9B9DC6C78 000000000
                                                       01089AA20
    __PGOSF158_kkmfbtcn  CALL???  kkdlgcd()            01089AFE0 00CB5BEE8 000000000
    ()+17                                              000000000
    qcsIsColInFro()+474  CALL???  __PGOSF158_kkmfbtcn  000000001 9BDFE41E0 000000000
                                  ()                   000000001
    qcsRslvColWithinQbc  CALL???  qcsIsColInFro()      900000000 01089AFE0 0276FCFC0
    ()+304                                             742E204F1B71
    qcsStrongColRslv()+  CALL???  qcsRslvColWithinQbc  000000010 27F00000000
    632                           ()+73                000000000 000000000
    qcsRslvName()+212    CALL???  qcsStrongColRslv()+  0276FA9E0 9C3F136C0 00764E4E0
                                  516                  0093A505B
    qcsridn()+104        CALL???  qcsRslvName()        101000000000000 000000000
                                                       000000000 0276FAE90
    qcsraic()+736        CALL???  qcsridn()            0276FACB0 0276FACB0 000000000
                                                       000000001
    qcspqbDescendents()  CALL???  qcsraic()            0276FAE90 01089AFE0 00CB5D030
    +485                                               00CB5CEE8
    qcspqb()+154         CALL???  qcspqbDescendents()  00000002A 008D53029 01089AFE0
                                                       000000000
    kkmdrv()+200         CALL???  qcspqb()             000000029 00895C700 0276FAF90
                                                       00895C700
    opiSem()+2560        CALL???  kkmdrv()             00CB31730 0108B7820 000000001
                                                       9C3F13730
    opiDeferredSem()+56  CALL???  opiSem()             0276FCFC0 A09FA3D68 00000006E
    5                                                  000000001
    opitca()+391         CALL???  opiDeferredSem()     000000001 000000000 006F7AC18
                                                       000000000
    __PGOSF525_kksFullT  CALL???  opitca()             037615F10 9C3F138D0 0277000A0
    ypeCheck()+27                                      00895C700
    rpiswu2()+2757       CALL???  __PGOSF525_kksFullT  0276FEB98 000004018 0108A04E0
                                  ypeCheck()           0108A0700
    kksLoadChild()+9357  CALL???  rpiswu2()            9F86A81C8 000000000 9C5F9D1E4
                                                       000000002
    kxsGetRuntimeLock()  CALL???  kksLoadChild()       01089AFE0 A09FA39D8 0276FF400
    +2320                                              A09FA39D8
    kksfbc()+15225       CALL???  kxsGetRuntimeLock()  01089AFE0 037615F10 0276FF400
                                                       000000103
    kkspsc0()+2117       CALL???  kksfbc()             037615F10 000000003 A00000108
                                                       0076D1C80
    kksParseCursor()+18  CALL???  kkspsc0()            00CAD1DA8 0076D1C80 00000006F
    1                                                  000000003
    opiosq0()+2538       CALL???  kksParseCursor()     00CACF990 000000000 00895C700
                                                       027700940
    opiall0()+6705       CALL???  opiosq0()            000000003 00000000E 0277010C0
                                                       000000020
    opikpr()+699         CALL???  opiall0()            000000065 000000022 0277018C8
                                                       000000000
    opiodr()+1662        CALL???  opikpr()             000000065 90000001C 027703208
                                                       01089AA20
    rpidrus()+862        CALL???  opiodr()             000000065 00000001C 027703208
                                                       000000000
    rpidru()+154         CALL???  rpidrus()            0277027F8 000000000 000000000
                                                       000000000
    rpiswu2()+2757       CALL???  rpidru()             027703030 000000000 000000000
                                                       000000000
    kprball()+1610       CALL???  rpiswu2()            9F86A81C8 000000000 027702E50
                                                       000000002
    qmCheckIfXdbInstall  CALL???  kprball()            027703208 000000100 000000002
    ed()+1059                                          00CAEC188
    qm_open_db()+11      CALL???  qmCheckIfXdbInstall  000000000 000000000 000000000
                                  ed()                 00895C700
    kscnfy()+778         CALL???  qm_open_db()         657FC5CD00000019 000000000
                                                       000000000 100000000
    adbdrv()+45489       CALL???  kscnfy()             000000019 000000000 000000000
                                                       000000000
    opiexe()+20842       CALL???  adbdrv()             000000023 000000003 A00000102
                                                       000000000
    opiosq0()+5129       CALL???  opiexe()+16981       000000004 000000000 02770A8C0
                                                       009121AB3
    kpooprx()+357        CALL???  opiosq0()            000000003 00000000E 02770AB90
                                                       0000000A4
    kpoal8()+940         CALL???  kpooprx()            01089AFE0 0090CC0A8 01089AFE0
                                                       000000001
    opiodr()+1662        CALL???  kpoal8()             00000005E 00000001C 02770E100
                                                       00ABBF224
    ttcpip()+1325        CALL???  opiodr()             00000005E 00000001C 02770E100
                                                       4100200000000000
    opitsk()+2040        CALL???  ttcpip()             0108B4D00 000000000 000000000
                                                       000000000
    opiino()+1258        CALL???  opitsk()             00000001E 000000000 000000000
                                                       02770F9F8
    opiodr()+1662        CALL???  opiino()             00000003C 000000004 02770FAB0
                                                       000000000
    opidrv()+864         CALL???  opiodr()             00000003C 000000004 02770FAB0
                                                       615C3A6500000000
    sou2o()+98           CALL???  opidrv()+150         00000003C 000000004 02770FAB0
                                                       000000000
    opimai_real()+158    CALL???  sou2o()              064425745 000000000 000000000
                                                       02770FBA4
    opimai()+191         CALL???  opimai_real()        7FFA241388C0 7FFA24138A49
                                                       000000000 00895C700
    
    *** 2023-04-21 17:29:42.343
    OracleThreadStart()  CALL???  opimai()             000401452 000000002 0085DFE20
    +724                                               0000025B0
    00007FFA246713D2     CALL???  OracleThreadStart()  00FCAFF18 000000000 000000000
                                                       000000000
    00007FFA26D403C4     CALL???  00007FFA246713B0     7FFA246713B0 000000000
                                                       000000000 000000000
     
    
    --------------------- Binary Stack Dump ---------------------
    
    

    确定报错是在select count(*) from XDB.XDB$SCHEMA s where s.xmldata.schema_url = ‘http://xmlns.oracle.com/xdb/XDBSchema.xsd’这个sql语句中,对其数据库启动过程进行跟踪,没有发现该语句而是只有报错

    EXEC #6:c=0,e=181,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=3755742892,tim=22655713465
    FETCH #6:c=0,e=12,p=0,cr=3,cu=0,mis=0,r=1,dep=2,og=4,plh=3755742892,tim=22655713503
    CLOSE #6:c=0,e=6,dep=2,type=3,tim=22655713532
    Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x12] [PC:0x9138BE9, kglsget()+547]
     dump file: e:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_452285\orcl_ora_9848_i452285.trc
    ORA-07445: 出现异常错误: 核心转储 [kglsget()+547] [ACCESS_VIOLATION] [ADDR:0x12] [PC:0x9138BE9] [UNABLE_TO_READ] []
    

    证明ORA-07445 kglsget错误的语句没有到sql执行阶段,而是在解析阶段就开始报错.通过对oracle启动过程进行处理(因为该语句不是数据库启动个必须的语句),规避掉该sql执行,实现数据库正常open
    20230421223825


    • ORA-600 [LibraryCacheNotEmptyOnClose] on shutdown
    • ORA-600 2131故障说明
    • dbca创建数据库报ORA-00443
    • ORA-600 2032故障处理
    • ORA-00600: internal error code, arguments: [kcvorl_2]
    • truncate table强制终止导致ORA-00600[ktspfundo-2]
    • ORA-600[2037]与ORA-07445[kcbs_dump_adv_state]错误
    • 云主机快照之后Oracle无法正常启动处理
    • ORA-00600: internal error code, arguments: [1301]
    • insert into aud$引起高版本问题导致ORA-600[17059]
    • ORA-600 kcrfr_update_nab_2 故障恢复
    • ORA-07445 qcdlgcd



沪ICP备19023445号-2号
友情链接