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

NeilZhang
NeilZhang
管理员
140
文章
106.8千
浏览
Linux Oracle评论3,801字数 664阅读2分12秒阅读模式

On the day before last day, my client told me the resource of EC2 instance had been increased, so I decided to increase memory setting for Oracle instance.

The total memory was 4G, so I changed the memory_target to 2800M, and set the option of system parameter filesystemio_options to 'setall', then rebooted the instance, and got below error at first:

  1. SQL> startup
  2. ORA-00845: MEMORY_TARGET not supported on this system

The error message was a little misunderstanding, and in fact the issue was that the size of /dev/shm was not enough. I modified the /etc/fstab to get a bigger /dev/shm, then remounted it and got below result:

  1. [root@ip-172-XXX-1-224 ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/xvda2 500G 70G 431G 14% /
  4. devtmpfs 1.9G 0 1.9G 0% /dev
  5. tmpfs 3.0G 0 3.0G 0% /dev/shm
  6. tmpfs 1.8G 17M 1.8G 1% /run
  7. tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
  8. tmpfs 354M 0 354M 0% /run/user/1000

OK, then started the instance again, and got the 443 error:

  1. SQL> startup
  2. ORA-00443: background process "PMON" did not start

I checked the alert log and did not find any useful information, also got no help from Oracle support webiste(Metalink), so even I though the memory_target was not so big to cause this issue, I still decreased it and do some tests, but all of these failed again and again.

I installed the instance just on the previous day, so I made sure it worked well before the change, and I knew if I roll-backed the change it should work again. But now the memory was increased from 2G to 4G, and I did want to make use of more memory. So something was different now, and I should find it.

I recalled one thing that on RHEL7, the /etc/rc.local would not be called after the fresh installation, and I did add one line in it to enable the swap file. so I checked the memory usage again:

  1. [oracle@ip-172-XXX-1-224 shm]$ free
  2. total used free shared buff/cache available
  3. Mem: 3618512 95920 1696860 16648 1825732 3236460
  4. Swap: 0 0 0

I noticed there was no swap space. Was this the reason? Now the memory size changed, so I made a new swap file and started the instance again:

  1. [root@ip-172-XXX-1-224 shm]# dd if=/dev/zero of=/swapfile bs=1048576 count=4096
  2. 4096+0 records in
  3. 4096+0 records out
  4. 4294967296 bytes (4.3 GB) copied, 53.2875 s, 80.6 MB/s
  5. [root@ip-172-XXX-1-224 shm]# mkswap /swapfile
  6. Setting up swapspace version 1, size = 4194300 KiB
  7. no label, UUID=ccd1af8b-a182-4a86-8ee0-4bd29dd672ab
  8. [root@ip-172-XXX-1-224 shm]# chmod 600 /swapfile
  9. [root@ip-172-XXX-1-224 shm]# swapon /swapfile
  10. [root@ip-172-XXX-1-224 shm]# su - oracle
  11. Last login: Fri Mar 24 02:05:59 EDT 2017 on pts/0
  12. [oracle@ip-172-31-1-224 ~]$ sqlplus "/as sysdba"
  13.  
  14. SQL*Plus: Release 12.2.0.1.0 Production on Fri Mar 24 02:32:12 2017
  15.  
  16. Copyright (c) 1982, 2016, Oracle. All rights reserved.
  17.  
  18. Connected to an idle instance.
  19.  
  20. SQL> startup
  21. ORACLE instance started.
  22.  
  23. Total System Global Area 2936012800 bytes
  24. Fixed Size 8625032 bytes
  25. Variable Size 2432697464 bytes
  26. Database Buffers 486539264 bytes
  27. Redo Buffers 8151040 bytes
  28. Database mounted.
  29. Database opened.
  30. SQL> exit

And I checked the memory usage again:

  1. [oracle@ip-172-31-1-224 ~]$ free
  2. total used free shared buff/cache available
  3. Mem: 3618512 400420 159116 885016 3058976 2048104
  4. Swap: 4194300 0 4194300
  5. [oracle@ip-172-31-1-224 ~]$ df -h
  6. Filesystem Size Used Avail Use% Mounted on
  7. /dev/xvda2 500G 71G 430G 15% /
  8. devtmpfs 1.9G 0 1.9G 0% /dev
  9. tmpfs 3.0G 848M 2.2G 28% /dev/shm
  10. tmpfs 1.8G 17M 1.8G 1% /run
  11. tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
  12. tmpfs 354M 0 354M 0% /run/user/1000

So even the swap space was not used, if the configured memory_target was large and could not be placed in the memory, the instance would not be started!

But why I made the swap file? Why not use a swap partition directly?

  1. There is no swap for some kinds of AWS EC2 instance.
  2. The default file system is XFS on RHEL7, and it could not be shrunk.

So when you create a XFS file system, you have to plan the size carefully as it cannot be reduced online like EXT4/3.

 
  • 本文由 NeilZhang 发表于26/03/2017 22:48:30
  • Repost please keep this link: https://www.dbcloudsvc.com/blogs/linux/ora-00443-background-process-pmon-did-not-start/
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定