Oracle 11g ORA-00845 在Linux 下的解决方案


环境:CentOS 6.2 + Oracle 11.2.0.3

问题描述:安装oracle或配置dataguard时,数据无法启动,错误信息ORA-00845: MEMORY_TARGET not supported on this system

这个错误的主要原因是tmpfs的值小于memory_target的值。

 

[root@dac-vm02 ~]#oerr ora 845

00845, 00000, "MEMORY_TARGET notsupported on this system"

// *Cause: The MEMORY_TARGET parameter wasnot supported on this operating system or /dev/shm was not sized correctly onLinux.

// *Action: Refer to documentation for alist of supported operating systems. Or, size /dev/shm to be at least theSGA_MAX_SIZE on each Oracle instance running on the system.

解决方案:

因此我们只需要将tmpfs的值改大一点就好了。

先来看一下memory_target的值是多大

SQL> show parameter memory_target

NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------

memory_target big integer 1296M

SQL>

只需要将tmpfs的值设置大于800M即可,tmpfs的初始值为内存的一半

编辑/etc/tmpfs文件,将tmpfs的值定为3G

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=3G 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0

加入红显部分即可,接着要将tmpfs重新mount一下

[root@Ginna ~]# umount tmpfs

[root@Ginna ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
28G 11G 16G 40% /
/dev/sda1 99M 22M 72M 24% /boot

[root@Ginna ~]# mount tmpfs

[root@Ginna ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
28G 11G 16G 40% /
/dev/sda1 99M 22M 72M 24% /boot
tmpfs 3.0G 0 3.0G 0% /dev/shm


OK,更改完毕,接着就可以启动Oracle数据库了,但是在OEL下,更改tmpfs有点区别,还需要更改/etc/rc.d/rc.sysinit文件,详细见

相关内容