日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle内部错误:ORA-07445[kcflfi()+466] [INT_DIVIDE_BY_ZERO]一例

發布時間:2023/11/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle内部错误:ORA-07445[kcflfi()+466] [INT_DIVIDE_BY_ZERO]一例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一套Windows上的11.2.0.1單實例數據庫在database open階段出現了ORA-07445:core dump [kcflfi()+466] [INT_DIVIDE_BY_ZERO] [] [PC:0x500282E] [] []內部錯誤,具體的出錯日志如下: LOG CONTENT=======================ALERT.LOG============================Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Picked latch-free SCN scheme 2 Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST ARCH: Warning; less destinations available than specified by LOG_ARCHIVE_MIN_SUCCEED_DEST init.ora parameter Autotune of undo retention is turned on. IMODE=BR ILAT =84 2011-08-01 13:13:47.068000 +08:00 LICENSE_MAX_USERS = 0 SYS auditing is disabled Starting up: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options. Using parameter settings in server-side spfile C:\APP\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEG11R2.ORA System parameters with non-default values:_spin_count = 2000processes = 500event = "10500 trace name context forever,level 8:10013 trace name context forever,level 10: 10015 trace name context forever,level 10"sga_max_size = 600Mshared_pool_size = 152Mlarge_pool_size = 32Mjava_pool_size = 4Mstreams_pool_size = 0_db_file_direct_io_count = 12sga_target = 0memory_target = 0control_files = "C:\APP\ORADATA\G11R2\CONTROLFILE\O1_MF_6VWCSH9J_.CTL"control_files = "C:\APP\FLASH_RECOVERY_AREA\G11R2\CONTROLFILE\O1_MF_6VWCSHNF_.CTL"db_block_checksum = "TRUE"db_block_size = 8192db_cache_size = 196M_shared_io_pool_size = 0compatible = "11.2.0.0.0"log_archive_dest_2 = "service=stdby optional lgwr sync affirm valid_for=(online_logfiles,all_roles)"log_buffer = 10485760db_create_file_dest = "C:\app\oradata"db_recovery_file_dest = "C:\app\flash_recovery_area"db_recovery_file_dest_size= 500000Mundo_tablespace = "UNDOTBS1"_kgl_bucket_count = 2remote_login_passwordfile= "EXCLUSIVE"db_domain = ""session_cached_cursors = 300audit_file_dest = "C:\APP\ADMIN\G11R2\ADUMP"optimizer_features_enable= "10.2.0.4"audit_trail = "DB"cell_offload_plan_display= "ALWAYS"db_name = "G11R2"open_cursors = 3000_optimizer_extended_cursor_sharing_rel= "NONE"pga_aggregate_target = 300Mdiagnostic_dest = "C:\APP" 2011-08-01 13:13:48.164000 +08:00 PMON started with pid=2, OS id=984 VKTM started with pid=3, OS id=3656 at elevated priority VKTM running at (10)millisec precision with DBRM quantum (100)ms GEN0 started with pid=4, OS id=5824 DIAG started with pid=5, OS id=5832 DBRM started with pid=6, OS id=2784 PSP0 started with pid=7, OS id=2500 DIA0 started with pid=8, OS id=5320 MMAN started with pid=9, OS id=4128 DBW0 started with pid=10, OS id=5852 LGWR started with pid=11, OS id=3960 CKPT started with pid=12, OS id=4472 SMON started with pid=13, OS id=5788 RECO started with pid=14, OS id=6036 MMON started with pid=15, OS id=5740 MMNL started with pid=16, OS id=2112 ORACLE_BASE from environment = C:\app alter database mount exclusive 2011-08-01 13:13:52.390000 +08:00 Sweep [inc][135908]: completed NSS2 started with pid=19, OS id=2728 Sweep [inc][135901]: completed Successful mount of redo thread 1, with mount id 2704081164 Database mounted in Exclusive Mode 2011-08-01 13:13:53.413000 +08:00 Lost write protection disabled 2011-08-01 13:13:54.578000 +08:00 Sweep [inc][135897]: completed Sweep [inc2][135908]: completed Sweep [inc2][135901]: completed Sweep [inc2][135897]: completed 2011-08-01 13:13:55.788000 +08:00 Completed: alter database mount exclusive alter database open Beginning crash recovery of 1 threadsparallel recovery started with 3 processes 2011-08-01 13:13:56.959000 +08:00 Started redo scan Completed redo scanread 0 KB redo, 0 data blocks need recovery Started redo application atThread 1: logseq 867, block 88140, scn 9122496 Recovery of Online Redo Log: Thread 1 Group 3 Seq 867 Reading mem 0Mem# 0: C:\APP\ORADATA\G11R2\ONLINELOG\O1_MF_3_6VWCSMPO_.LOGMem# 1: C:\APP\FLASH_RECOVERY_AREA\G11R2\ONLINELOG\O1_MF_3_6VWCSNGX_.LOG Completed redo application of 0.00MB Completed crash recovery atThread 1: logseq 867, block 88140, scn 91424970 data blocks read, 0 data blocks written, 0 redo k-bytes read 2011-08-01 13:13:58.738000 +08:00 LGWR: STARTING ARCH PROCESSES ARC0 started with pid=22, OS id=4784 2011-08-01 13:13:59.765000 +08:00 ARC0: Archival started LGWR: STARTING ARCH PROCESSES COMPLETE ARC0: STARTING ARCH PROCESSES ARC1 started with pid=24, OS id=2780 ARC2 started with pid=25, OS id=1288 ARC1: Archival started LGWR: Primary database is in MAXIMUM AVAILABILITY mode ARC2: Archival started ARC1: Becoming the 'no FAL' ARCH ARC1: Becoming the 'no SRL' ARCH ARC2: Becoming the heartbeat ARCH LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR ARC3 started with pid=26, OS id=3876 2011-08-01 13:14:00.828000 +08:00 ARC3: Archival started ARC0: STARTING ARCH PROCESSES COMPLETE NSS2 started with pid=19, OS id=5156 2011-08-01 13:14:29.008000 +08:00 ORA-16198: LGWR received timedout error from KSR 2011-08-01 13:14:35.980000 +08:00 Errors in file c:\app\diag\rdbms\g11r2\g11r2\trace\g11r2_lgwr_3960.trc: ORA-16198: Timeout incurred on internal channel during remote archival LGWR: Error 16198 verifying archivelog destination LOG_ARCHIVE_DEST_2 Destination LOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED LGWR: Continuing... ARCH: LGWR is scheduled to archive destination LOG_ARCHIVE_DEST_2 after log switch 2011-08-01 13:14:38.629000 +08:00 Trying to expand controlfile section 11 for Oracle Managed Files Exception [type: INT_DIVIDE_BY_ZERO, ] [] [PC:0x500282E, __VInfreq__kcflfi()+466] Errors in file c:\app\diag\rdbms\g11r2\g11r2\trace\g11r2_arc0_4784.trc (incident=136091): ORA-07445: exception encountered: core dump [kcflfi()+466] [INT_DIVIDE_BY_ZERO] [] [PC:0x500282E] [] [] Incident details in: c:\app\diag\rdbms\g11r2\g11r2\incident\incdir_136091\g11r2_arc0_4784_i136091.trc 2011-08-01 13:14:40.283000 +08:00 Trace dumping is performing id=[cdmp_20110801131440] 2011-08-01 13:14:52.417000 +08:00 Sweep [inc][136091]: completed Sweep [inc2][136091]: completed 2011-08-01 13:14:59.805000 +08:00 ARC2: Detected ARCH process failure ARC2: STARTING ARCH PROCESSES ARC0 started with pid=19, OS id=5016 2011-08-01 13:15:00.836000 +08:00 ARC0: Archival started ARC2: STARTING ARCH PROCESSES COMPLETE 2011-08-01 13:15:36.689000 +08:00 Deleted Oracle managed file C:\APP\FLASH_RECOVERY_AREA\G11R2\ARCHIVELOG\2011_08_01\O1_MF_1_866_73DFKWRK_.ARC 2011-08-01 13:15:38.013000 +08:00 Error 12154 received logging on to the standby Errors in file c:\app\diag\rdbms\g11r2\g11r2\trace\g11r2_ora_4852.trc: ORA-12154: TNS:could not resolve the connect identifier specified ARCH: Error 12154 Creating archive log file to 'stdby' Trying to expand controlfile section 11 for Oracle Managed Files Exception [type: INT_DIVIDE_BY_ZERO, ] [] [PC:0x500282E, __VInfreq__kcflfi()+466] Errors in file c:\app\diag\rdbms\g11r2\g11r2\trace\g11r2_ora_4852.trc (incident=136051): ORA-07445: exception encountered: core dump [kcflfi()+466] [INT_DIVIDE_BY_ZERO] [] [PC:0x500282E] [] [] Incident details in: c:\app\diag\rdbms\g11r2\g11r2\incident\incdir_136051\g11r2_ora_4852_i136051.trc 2011-08-01 13:15:39.680000 +08:00 Trace dumping is performing id=[cdmp_20110801131539] 2011-08-01 13:15:42.782000 +08:00 PMON (ospid: 984): terminating the instance due to error 397 2011-08-01 13:15:50.520000 +08:00 Instance terminated by PMON, pid = 984=============================g11r2_ora_4852_i136051.trc=============================Dump file c:\app\diag\rdbms\g11r2\g11r2\incident\incdir_136051\g11r2_ora_4852_i136051.trc Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Windows NT Version V6.1 Service Pack 1 CPU : 4 - type 586, 2 Physical Cores Process Affinity : 0x0x00000000 Memory (Avail/Total): Ph:2122M/3566M, Ph+PgF:5413M/7130M, VA:1084M/2047M Instance name: g11r2 Redo thread mounted by this instance: 1 Oracle process number: 17 Windows thread id: 4852, image: ORACLE.EXE (SHAD)*** 2011-08-01 13:15:38.527 *** SESSION ID:(197.1) 2011-08-01 13:15:38.527 *** CLIENT ID:() 2011-08-01 13:15:38.527 *** SERVICE NAME:() 2011-08-01 13:15:38.527 *** MODULE NAME:(oradim.exe) 2011-08-01 13:15:38.527 *** ACTION NAME:() 2011-08-01 13:15:38.527Dump continued from file: c:\app\diag\rdbms\g11r2\g11r2\trace\g11r2_ora_4852.trc ORA-07445: exception encountered: core dump [kcflfi()+466] [INT_DIVIDE_BY_ZERO] [] [PC:0x500282E] [] []========= Dump for incident 136051 (ORA 7445 [kcflfi()+466]) ======== ----- Beginning of Customized Incident Dump(s) ----- Exception [type: INT_DIVIDE_BY_ZERO, ] [] [PC:0x500282E, __VInfreq__kcflfi()+466]Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production Process Id: 0x000010bc Thread Id : 0x000012f4 Time : Mon Aug 01 13:15:38 Excp. Code: 0xc0000094 Excp. Type: INT_DIVIDE Flags: 0x00000000------------------- Registers ---------------------------- eip = 0500282e esp = 0d9f525c ebp = 0d9f577c edi = 37eefe00 esi = 00000265 eax = 00000265 ebx = 00000000 ecx = 089ee234 edx = 00000000 ecs = 0000001b eds = 00000023 ees = 00000023 ess = 00000023 egs = 00000000 efs = 0000003b eflags = 00010246 ------------------- End of Registers ---------------------*** 2011-08-01 13:15:38.536 dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0) ----- Current SQL Statement for this session (sql_id=a01hp0psv0rrh) ----- alter database open ----------- messages from pre-loading .sym files: Symbol file C:\app\product\11.2.0\dbhome_1\RDBMS\ADMIN\oracommon11.SYM does not match binary.Symbol TimeStamp=4bb5eaac, Module TimeStamp=0 are different Symbol file C:\app\product\11.2.0\dbhome_1\RDBMS\ADMIN\oraclsra11.SYM does not match binary.Symbol TimeStamp=4bb4cf99, Module TimeStamp=0 are different ----------- end of messages from pre-loading .sym files ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- Symbol file C:\app\product\11.2.0\dbhome_1\BIN\oracommon11.SYM does not match binary.Symbol TimeStamp=4bb5eaac, Module TimeStamp=0 are different Symbol file C:\app\product\11.2.0\dbhome_1\BIN\oraclsra11.SYM does not match binary.Symbol TimeStamp=4bb4cf99, Module TimeStamp=0 are different EnumerateLoadedModules64 failed with error -1073741819 Symbol file oraclsra11.SYM does not match binary.Symbol TimeStamp=4bb4cf99, Module TimeStamp=0 are different Symbol file oracommon11.SYM does not match binary.Symbol TimeStamp=4bb5eaac, Module TimeStamp=0 are different __VInfreq__kcflfi() 00000000 +466 _kccrszf()+287 CALLrel _kcflfi() 0 318345B8 34 31C0DD40 4000265 4 7FFFFFFF 1 0 0 _kccrsd_expd()+1418 CALLrel _kccrszf() D9F7CEC 268 264 _kccwnc_reuse_expan CALLrel _kccrsd_expd() D9F7CEC B 38 d()+640 __VInfreq__kccwnc() CALLrel _kccwnc_reuse_expan D9F7CEC B 26 +235 d() _krse_arc_complete( CALLrel _kccwnc() D9F7CEC D9F6D38 B )+1615 _krse_arc_driver_co CALLrel _krse_arc_complete( D9F78AC re()+1307 ) _krse_arc_driver()+ CALLrel _krse_arc_driver_co D9F7CEC 1 D9F7C6C 0 0 D9F7CC8 274 re() 0 0 0 0 0 0 0 _krsq_arch_to_force CALLrel _krse_arc_driver() D9F7CEC 1 D9F7C6C 0 0 D9F7CC8 _switch()+196 0 0 0 0 0 0 0 __VInfreq__kcttsc() CALLrel _krsq_arch_to_force D9F7CEC 1 +129 _switch() _kcfopd()+1504 CALLrel _kcttsc() 2 _adbdrv()+16700 CALLrel _kcfopd() 0 0 0 0 D9FBBF8 _opiexe()+13594 CALLrel _adbdrv() 4A C0000094 33644518 D9FBD386D60697 2F3FC5F0 _opiosq0()+6248 CALLrel _opiexe() 4 0 D9FC704 _kpooprx()+277 CALLrel _opiosq0() 3 E D9FC970 A4 0 _kpoal8()+632 CALLrel _kpooprx() D9FF074 D9FD3F8 13 1 0 A4 _opiodr()+1248 CALLreg 00000000 5E 1C D9FF070 ___dyn_tls_init_cal CALLreg 00000000 5E 1C D9FF070 1 lback()+2935122 _opitsk()+1404 CALL??? 00000000 C9A10E8 5E D9FF070 0 D9FED00D9FF19C 53E52E 0 D9FF1C8 _opiino()+980 CALLrel _opitsk() 0 0 _opiodr()+1248 CALLreg 00000000 3C 4 D9FFBC4 _opidrv()+1201 CALLrel _opiodr() 3C 4 D9FFBC4 0 _sou2o()+55 CALLrel _opidrv() 3C 4 D9FFBC4 _opimai_real()+124 CALLrel _sou2o() D9FFBD4 3C 4 D9FFBC4 _opimai()+125 CALLrel _opimai_real() 2 D9FFBFC _OracleThreadStart@ CALLrel _opimai() 2 D9FFF3C 0 70 FFFFFFFF 4()+830 FFFFFFFF ___dyn_tls_init_cal CALLptr 00000000 901FF6C D9FFFD4 776437F5 lback()+366382316 901FF6C 765D34CB 0 ___dyn_tls_init_cal CALLreg 00000000 901FF6C 765D34CB 0 0 901FF6C lback()+367384440 0 ___dyn_tls_init_cal CALLrel ___dyn_tls_init_cal 401326 901FF6C 0 0 0 0 lback()+367384392 lback()+367384403 00000000 CALL??? 00000000 --------------------- Binary Stack Dump --------------------- .................. 從以上日志中可以看到在”Trying to expand controlfile section 11 for Oracle Managed Files“擴扎控制文件過程中出現了 _kccwnc_reuse_expan->_kccrsd_expd->_kccrszf->_kcflfi->_VInfreq__kcflfi() 函數的7445錯誤,kcf意為(manages and coordinates operations on the control file(s),kcf.c),是在處理日志文件中引發了INT_DIVIDE_BY_ZERO除數為零的代碼bug。 通過7445和kcflfi關鍵詞在MOS上搜索沒有太大的發現,說明該Bug的處罰幾率非常低,正好讓我碰到說明是某些特殊參數的設置引起了該問題。 目標鎖定啟動日志中的非默認隱藏參數"_db_file_direct_io_count",該參數決定了直接路徑讀寫的IO大小,從9i開始該參數的單位調整為bytes而非原先的blocks,之前因為對該參數進行一些測試所以設置了一個較小值。 Parameter: DB_FILE_DIRECT_IO_COUNT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Versions: 8.0 - 8.1This parameter is hidden in 9.0 onwards.Parameter type: integerParameter class: dynamic, scope = ALTER SYSTEM DEFERREDDefault value: 64Range of values: operating system-dependentDescription: ~~~~~~~~~~~~ DB_FILE_DIRECT_IO_COUNT is used to specify the number of blocks to be used for IO operations done by backup, restore or direct path read and write functions. The IO buffer size is a product of DB_FILE_DIRECT_IO_COUNT and DB_BLOCK_SIZE. The IO buffer size cannot exceed max_IO_size for your platform.Assigning a high value to this parameter results in greater use of PGA or SGA memory.o In Oracle8i, minimize the number of I/O requests by setting theDB_FILE_DIRECT_IO_COUNT instance parameter so thatDB_BLOCK_SIZE x DB_FILE_DIRECT_IO_COUNT = max_io_size of systemIn Oracle8i the default for this is 64 blocks.(In Oracle9i, it is replaced by _DB_FILE_DIRECT_IO_COUNT which governsthe size of direct I/Os in BYTES (not blocks). The default is 1Mb butwill be sized down if the max_io_size of the system is smaller.)ORA-19863 during RMAN duplicateApplies to: Oracle Server - Enterprise Edition - Version: 10.2.0.3 This problem can occur on any platform. Symptoms -- Problem Statement: Duplicate failed during the datafile restore stage:Starting restore at 2008-Apr-09 09:28:24 using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting datafile backupset restore channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00003 to /u06/oradata/hcmprdc/sysaux01.dbf ... restoring datafile 00121 to /u06/oradata/hcmprdc/waapp.dbf channel ORA_AUX_DISK_1: reading from backup piece /u04/oradata/flash_recovery_area/HCMPRD/mdjd8s5v_1_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of Duplicate Db command at 04/09/2008 09:28:28 RMAN-03015: error occurred in stored script Memory Script ORA-19870: error reading backup piece /u04/oradata/flash_recovery_area/HCMPRD/mdjd8s5v_1_1 ORA-19863: device block size 1040384 is larger than max allowed: 262144Cause The database parameter _db_file_direct_io_count in the target and auxiliary instance does not match. Solution-- To implement the solution:Ensure that parameter _db_file_direct_io_count on the target and auxiliary database the same_DB_FILE_DIRECT_IO_COUNT need to be set to the same value between the source database where the backup was taken and the target database where the backup is being restored.2.0 Size of Input/Output Buffers ================================a. input buffers ----------------NOTE : DB_FILE_DIRECT_IO_COUNT is not available in Oracle9i onwards.In Oracle9i, it is replaced by a hidden _DB_FILE_DIRECT_IO_COUNT which governs the size of direct I/Os in BYTES (not blocks). The default is 1Mb butwill be sized down if the max_io_size of the system is smaller.The input buffer size is:buffersize = db_block_size * db_file_direct_io_countAs there are 4 input buffers, the total input buffer memory use per channel is:memory(input) = #buffers * #files * buffersize= 4 * #files * buffersizeFor example, if 2 channels are used, and each of these channels backs up 3 files, then for each channelmemory(input) = 4 * 3 * db_block_size * db_file_direct_io_countb. output buffers -----------------For disk channels, the output buffer size is:buffersize = db_block_size * db_file_direct_io_countFor SBT_TAPE channels, the output buffer size in Oracle8/8i is o/s dependant. (On Solaris, this defaults to 64k) On 9i/10g it defaults to 256k for all platforms. The BLKSIZE argument to 'allocate channel...' can be used to override the default value.As there are 4 output buffers,memory(output) = #buffers * buffersize= 4 * buffersize 一般來說使用該隱藏參數的默認值即可,通過重置該參數后修復啟動問題: SQL> select * from v$version;BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production PL/SQL Release 11.2.0.1.0 - Production CORE 11.2.0.1.0 Production TNS for 32-bit Windows: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - ProductionSQL> alter system reset "_db_file_direct_io_count" scope=spfile;System altered.SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describFROM SYS.x$ksppi x, SYS.x$ksppcv yWHERE x.inst_id = USERENV ('Instance')AND y.inst_id = USERENV ('Instance')AND x.indx = y.indx AND x.ksppinm LIKE '%db_file_direct_io_count%' /NAME VALUE DESCRIB ------------------------------ -------------------- ------------------------------ _db_file_direct_io_count 1048576 Sequential I/O buf sizewindows上的11gr2默認該參數為1MB

總結

以上是生活随笔為你收集整理的Oracle内部错误:ORA-07445[kcflfi()+466] [INT_DIVIDE_BY_ZERO]一例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。