ORA-00845 MEMORY_TARGET not supported on this system 的解决

本文来源:宁静致远 的《ORA-00845 MEMORY_TARGET not supported on this system 的解决》

oracle11g数据库在执行dbca或者调整sga后重启oracle的时候可能会出现ORA-00845 MEMORY_TARGET not supported on this system 错误。

究其原因就是Linux系统的shm的大小比SGA设置的小,造成的,距离来说,SGA设置4G,而shm可能只有1G

网上提供两种解决办法:
01、调整sga的大小,这个明显不是我们所希望的
02、调整shm的大小,这样相对简单,具体操作如下
vi /etc/fstab
修改如下行的设置
tmpfs /dev/shm tmpfs defaults 0 0
改成
tmpfs /dev/shm tmpfs defaults,size=6G 0 0
保存退出
重新mount下shm使其生效
mount -o remount /dev/shm
通过df可以查看下,没有问题就可以继续安装数据库或者启动数据库了!

说明:服务器上有两个不同数据库实例,启动一个实例的时候没问题。在启动第二个INSTANCE的时候报ORA-00845错误。该测试服务器仅8G内存。  tmpfs  默认是4G  4.0G  1.6G  2.4G  40% /dev/shm.  两个实例的使用内存应该超过了4G,所以安装网上这篇文章进行修改tmpfs,问题解决了。  但是新问题tmpfs 大小的限制如何确定呢?观察一下内存使用在说吧

SQL> show parameter memory

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 1G
memory_target                        big integer 1G
shared_memory_address                integer     0
SQL> show parameter sga 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 1G
sga_target                           big integer 0
SQL> alter system set memory_target=500m;

System altered.

SQL> show parameter memory 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 1G
memory_target                        big integer 500M
shared_memory_address                integer     0

SQL> alter system set memory_max_target=800m  scope=spfile;

System altered.

SQL> show parameter memory;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 1G
memory_target                        big integer 500M
shared_memory_address                integer     0
  1 [oracle@BJRMANTS ~]$ su - root
  2 Password:
  3 [root@BJRMANTS ~]# vi /etc/fstab
  4 [root@BJRMANTS ~]# df -g
  5 df: invalid option -- 'g'
  6 Try `df --help' for more information.
  7 [root@BJRMANTS ~]# df -h
  8 Filesystem            Size  Used Avail Use% Mounted on
  9 /dev/sda2              20G  5.8G   13G  31% /
 10 tmpfs                 4.0G  1.6G  2.4G  40% /dev/shm
 11 /dev/sda1             485M   51M  409M  12% /boot
 12 /dev/sda6             197G  160G   28G  86% /orabak
 13 /dev/sda8              20G  6.2G   13G  34% /oracle
 14 /dev/sda5             690G  549G  106G  84% /oradata
 15 /dev/sda7             187G   75G  104G  42% /oralog
 16 [root@BJRMANTS ~]# mount -o remount /dev/shm
 17 [root@BJRMANTS ~]# df -h
 18 Filesystem            Size  Used Avail Use% Mounted on
 19 /dev/sda2              20G  5.8G   13G  31% /
 20 tmpfs                 6.0G  1.6G  4.5G  26% /dev/shm
 21 /dev/sda1             485M   51M  409M  12% /boot
 22 /dev/sda6             197G  160G   28G  86% /orabak
 23 /dev/sda8              20G  6.2G   13G  34% /oracle
 24 /dev/sda5             690G  549G  106G  84% /oradata
 25 /dev/sda7             187G   75G  104G  42% /oralog
 26 [root@BJRMANTS ~]#
 27 
 28 
 29 
 30 [oracle@BJRMANTS ~]$ export ORACLE_SID=oelncbi
 31 [oracle@BJRMANTS ~]$ sqlplus / as sysdba
 32 
 33 SQL*Plus: Release 11.2.0.3.0 Production on Wed Dec 5 10:48:51 2012
 34 
 35 Copyright (c) 1982, 2011, Oracle.  All rights reserved.
 36 
 37 Connected to an idle instance.
 38 
 39 SQL> startup;
 40 ORA-00845: MEMORY_TARGET not supported on this system
 41 SQL> exit
原文地址:https://www.cnblogs.com/ios9/p/7740643.html