您的位置:首页 > 数据库 > Oracle

ORA-00845: MEMORY_TARGET not supported on this system

2015-03-18 17:18 639 查看
在启动数据库instance到nomount过程中遇到以下错误:

SQL> startup nomount
ORA-00845: MEMORY_TARGET not supported on this system
SQL>


Cause:

查看错误解释:

[oracle@localhost~]$ oerr ora 00845
00845, 00000,"MEMORY_TARGET not supported on this system"
// *Cause: TheMEMORY_TARGET parameter was not supported on this operating system or /dev/shmwas not sized correctly on Linux.
// *Action: Refer todocumentation for a list of supported operating systems. Or, size /dev/shm tobe at least the SGA_MAX_SIZE on each Oracle instance running on the system.

从这里我可以看出有两种可能

1、是当前操作系统不支持,扯淡,redhat都不支持还能支持啥。

2、是/dev/shm 的大小设置不正确,看来原因就是他了。

查看当前的文件系统状况:

[oracle@localhost ~]$ df -h /dev/shm

Filesystem            Size  Used Avail Use% Mounted on

tmpfs                1004M     0 1004M   0% /dev/shm

[oracle@localhost ~]$


是1004M,怎么就设置不正确了,跟谁比较呢?由于是在将实例启动到nomount过程中出现的错误,这过程中唯一被读取的就是初始化参数文件啦(initXXX.ora),那他肯定脱不了干系。

[oracle@localhost dbs]$ pwd

/u01/app/oracle/product/11.2.0/db_11g/dbs

[oracle@localhost dbs]$ grep -i MEMORY_TARGET initPROD.ora

*.memory_target=1G

[oracle@localhost dbs]$


查看发现,设置的是1G,比1004M大一丢丢,1G的memory对数据库来说已经是最低配置了,所以考虑增加/dev/shm/的大小。

Solution:

在/etc/fstab中,添加如下行:

tmpfs                   /dev/shm                tmpfs   defaults,size=1500M      0 0

然后执行以下命令:

[root@localhost ~]# mount -o remount /dev/shm

[root@localhost ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

tmpfs                 1.5G     0  1.5G   0% /dev/shm


修改完毕后,再来一次:

SQL>  startup nomount pfile=/u01/app/oracle/product/11.2.0/db_11g/dbs/initPROD.ora

ORACLE instance started.

Total System Global Area 1068937216 bytes

Fixed Size                  2220200 bytes

Variable Size             616566616 bytes

Database Buffers          444596224 bytes

Redo Buffers                5554176 bytes


ok了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 数据库