ORA-00443: background process “PMON” did not start分析
周末在虚拟机rhel 5 装oracle 11r2 ,偶尔出现了ORA-00443: background process “PMON” did not start
环境:虚拟机分配了大概1G内存
启用了oracle 11g AMM 自动内存管理
[oracle@ora11g ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sun Sep 18 19:58:55 2011 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-00443: background process "PMON" did not start
alert log content:
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 /oracle/product/10.2.0/db_1/dbs/spfileanbob.ora System parameters with non-default values: processes = 150 memory_target = 408M control_files = "/oracle/oradata/anbob/control01.ctl" control_files = "/oracle/flash_recovery_area/anbob/control02.ctl" db_block_size = 8192 compatible = "11.2.0.0.0" db_recovery_file_dest = "/oracle/flash_recovery_area" db_recovery_file_dest_size= 3852M undo_tablespace = "UNDOTBS1" remote_login_passwordfile= "EXCLUSIVE" db_domain = "com" dispatchers = "(PROTOCOL=TCP) (SERVICE=anbobXDB)" audit_file_dest = "/oracle/admin/anbob/adump" audit_trail = "DB" db_name = "anbob" open_cursors = 300 diagnostic_dest = "/oracle" Process PMON died, see its trace file USER (ospid: 9691): terminating the instance due to error 443 Instance terminated by USER, pid = 9691
[oracle@ora11g trace]$ ps -ef|grep ora_ oracle 9826 9647 0 20:02 pts/0 00:00:00 grep ora_ [oracle@ora11g trace]$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems 0xaa9517dc 622592 oracle 660 154 ------ Message Queues -------- key msqid owner perms used-bytes messages [oracle@ora11g trace]$ ipcrm -s 622592 [oracle@ora11g trace]$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems ------ Message Queues -------- key msqid owner perms used-bytes messages [oracle@ora11g trace]$ ora SQL*Plus: Release 11.2.0.1.0 Production on Sun Sep 18 20:03:36 2011 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-00443: background process "PMON" did not start SQL> exit Disconnected [oracle@ora11g trace]$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems 0xaa9517dc 753664 oracle 660 154 ------ Message Queues -------- key msqid owner perms used-bytes messages [oracle@ora11g trace]$ lsnrctl stop LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 18-SEP-2011 20:04:01 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) The command completed successfully [oracle@ora11g trace]$ ora SQL*Plus: Release 11.2.0.1.0 Production on Sun Sep 18 20:07:49 2011 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 426852352 bytes Fixed Size 1336988 bytes Variable Size 264243556 bytes Database Buffers 155189248 bytes Redo Buffers 6082560 bytes Database mounted. Database opened. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options [oracle@ora11g trace]$ ps -ef|grep -v grep |grep ora_ oracle 10345 1 0 20:07 ? 00:00:00 ora_pmon_anbob oracle 10347 1 0 20:07 ? 00:00:00 ora_vktm_anbob oracle 10351 1 0 20:07 ? 00:00:00 ora_gen0_anbob oracle 10353 1 0 20:07 ? 00:00:00 ora_diag_anbob oracle 10355 1 0 20:07 ? 00:00:00 ora_dbrm_anbob oracle 10357 1 0 20:07 ? 00:00:00 ora_psp0_anbob oracle 10359 1 0 20:07 ? 00:00:00 ora_dia0_anbob oracle 10361 1 1 20:07 ? 00:00:00 ora_mman_anbob oracle 10363 1 0 20:07 ? 00:00:00 ora_dbw0_anbob oracle 10365 1 0 20:07 ? 00:00:00 ora_lgwr_anbob oracle 10367 1 0 20:07 ? 00:00:00 ora_ckpt_anbob oracle 10369 1 0 20:07 ? 00:00:00 ora_smon_anbob oracle 10371 1 0 20:07 ? 00:00:00 ora_reco_anbob oracle 10373 1 2 20:07 ? 00:00:00 ora_mmon_anbob oracle 10375 1 0 20:07 ? 00:00:00 ora_mmnl_anbob oracle 10377 1 0 20:07 ? 00:00:00 ora_d000_anbob oracle 10379 1 0 20:07 ? 00:00:00 ora_s000_anbob oracle 10435 1 0 20:07 ? 00:00:00 ora_qmnc_anbob oracle 10451 1 1 20:08 ? 00:00:00 ora_cjq0_anbob oracle 10453 1 0 20:08 ? 00:00:00 ora_q000_anbob oracle 10455 1 0 20:08 ? 00:00:00 ora_q001_anbob oracle 10457 1 0 20:08 ? 00:00:00 ora_q002_anbob [oracle@ora11g trace]$ oerr ora 443 00443, 00000, "background process \"%s\" did not start" // *Cause: The specified process did not start. // *Action: Ensure that the executable image is in the correct place with // the correct protections, and that there is enough memory. [oracle@ora11g trace]$ vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 108 77048 14656 863332 0 0 259 639 1080 622 6 18 73 4 0
不明白是哪出了问题?网上查询
Solution Description:
=====================
In order to resolve this issue you can attempt the following:
(1) Reduce the size of your SGA.
(2) Add more swap space.
(3) Add more pyhsical memory.
Explanation:
============
The reason behind this error is because the server has insufficient memory.
Solution 1 may be a quick workaround, however may cause performance
issues to the database due to minimising the SGA size.
Solutions 2 & 3 are more likely to solve your problem as the memory
required by the background process will become available.
Reduce the init.ora parameters (shared_pool_size, db_block_buffers etc.) to
reduce the SGA size to one which will fit into the available RAM.
You are attempting to start an Oracle instance with an SGA size that is too
large for the available RAM on your system.
查看我的配置
SQL> show parameter target
NAME TYPE VALUE
———————————— ———– ——————————
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 408M
memory_target big integer 408M
parallel_servers_target integer 4
pga_aggregate_target big integer 0
sga_target big integer 0
SQL> show parameter sga
NAME TYPE VALUE
———————————— ———– ——————————
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 408M
sga_target big integer 0
note:
出现这个问题一般是因为内存不足,当然也看到了memory_target 是408M,也就是sga+pga总共可以使用408M,而sga_max_size 也是408M,我怀疑是不是sga会不会某一时间占用了全部或大部分的内存,而导致pGA不足,也看到了解决方法有几个,1,加大物理内存,2,减小SGA,3增加swap,我觉的合理分配SGA与PGA才是关键,不要太依赖自动的设置,比如AMM
声明只代表个人观点如有错误希望指正
目前这篇文章有1条评论(Rss)评论关闭。