ORA-00443: background process “PMON” did not start分析

张维照 2019-05-31
22
0 0
摘要:怀疑是不是sga会不会某一时间占用了全部或大部分的内存,而导致pGA不足

问题描述

在虚拟机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


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部