联系:手机/微信(+86 17813235971) QQ(107644445)
标题:ORA-07445 [ACCESS_VIOLATION] [UNABLE_TO_READ] []
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
alert中发现ORA-07445错误
ORA-07445: exception encountered: core dump [PC:0x7FFF65D0] [ACCESS_VIOLATION] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0] [UNABLE_TO_READ] []错误,导致数据库down掉
Mon May 14 14:34:34 2012 Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0, {empty}] Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_p001_1280.trc: ORA-07445: exception encountered: core dump [PC:0x7FFF65D0] [ACCESS_VIOLATION] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0] [UNABLE_TO_READ] [] Mon May 14 14:34:35 2012 Trace dumping is performing id=[cdmp_20120514143435] Mon May 14 14:35:10 2012 Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0, {empty}] Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_smon_1072.trc (incident=164712): ORA-07445: exception encountered: core dump [PC:0x7FFF65D0] [ACCESS_VIOLATION] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0] [UNABLE_TO_READ] [] ORA-12080: Buffer cache miss for IOQ batching Incident details in: d:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_164712\orcl_smon_1072_i164712.trc
分析trace文件
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Windows Server 2003 Version V5.2 Service Pack 2 CPU : 8 - type 586, 4 Physical Cores Process Affinity : 0x00000000 Memory (Avail/Total): Ph:4892M/8189M, Ph+PgF:5638M/9795M, VA:925M/4095M Instance name: orcl Redo thread mounted by this instance: 1 Oracle process number: 12 Windows thread id: 1072, image: ORACLE.EXE (SMON) --以上信息得出操作系统和数据库版本2003 sp2+oracle11g(11.1.0.6 32位) Dump continued from file: d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_smon_1072.trc ORA-07445: exception encountered: core dump [PC:0x7FFF65D0] [ACCESS_VIOLATION] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0] [UNABLE_TO_READ] [] ORA-12080: Buffer cache miss for IOQ batching ========= Dump for incident 164712 (ORA 7445 [PC:0x7FFF65D0]) ======== ----- Beginning of Customized Incident Dump(s) ----- Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0xFFFFFFFF] [PC:0x7FFF65D0, {empty}] --这里的ORA-07445 [ACCESS_VIOLATION][UNABLE_TO_READ]根据经验结合这里的32位的环境, --怀疑是sga使用的内存太多,ORACLE数据库不能读SGA相关内存导致 --在trace中找出相关参数配置. [0004]: processes=300 [0004]: sessions=335 [0004]: __shared_pool_size=1124073472 [0004]: __large_pool_size=8388608 [0004]: __java_pool_size=16777216 [0004]: __streams_pool_size=251658240 [0004]: streams_pool_size=251658240 [0004]: sga_target=0 [0004]: __sga_target=1887436800 [0004]: memory_target=3145728000 [0004]: memory_max_target=4722786304 [0004]: db_block_size=8192 [0004]: __db_cache_size=478150656 [0004]: __shared_io_pool_size=0 [0004]: compatible=11.1.0.0.0 [0004]: log_buffer=8851456 [0004]: __pga_aggregate_target=780140544 --这里可以看到sga_target分配了内存为1887436800=1.7578125G --pga_aggregate_target分配了780140544=0.7265625G --两者内存之和大于2G,超过了32位ORACLE默认限制
查询MOS发现[1341681.1]
该错误原因
This is a resource issue (memory in particular). 32-bit windows systems, are limited to 2GB of addressable memory so if you are on this platform it's likely you are simply exceeding the capabilities of the 32bit operating system.
解决建议
First recommendation : If you have not already done so, add the /3GB switch to your boot.ini file and reboot the server. The boot.ini will be located in the root directory on the drive where windows is installed. The switch, /3GB, is placed at the end of the line that executes the WinNT loading process. This will allow applications such as oracle access to 3Gb or memory instead of 2Gb. Example: [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Server Version 4.00" /3GB Second recommendation : You do not want to increase memory target. If anything, this should be decreased. You are limited to under 2GB of addressable memory on 32bit windows (the limit is actually about 1.85GB). This is for both SGA and PGA memory for all instances; you have to reduce the SGA size for the instance. The recommendation is to reduce sga_target, memory_target, and memory_max_target.
Database Unexpectedly Hung Due To An ORA-07445 [PC:0x7C810A5B] [ACCESS_VIOLATION] [ADDR:0x6A590420] [PC:0x7C810A5B] [UNABLE_TO_READ] [ID 1341681.1]