Oracle:ORA-00845

来自WHY42
imported>Soleverlee2015年3月19日 (四) 03:09的版本 (以“<pre> SQL> startup ORA-00845: MEMORY_TARGET not supported on this system </pre> <br/> 在oracle 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动...”为内容创建页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system 


在oracle 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错

  • 解决方案

初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,可以增大/dev/shm

df -lh
mount -t tmpfs shmfs -o size=7g /dev/shm

为了确保操作系统重启之后能生效,需要修改/etc/fstab文件

shmfs /dev/shm tmpfs size=7g 0

或者: 修改/etc/fstab文件,修改成下列形式(添加size=4G)

tmpfs /dev/shm tmpfs defaults,size=4G 0 0

重启系统,或者,重新挂载:

umount /dev/shm
mount /dev/shm
df -k /dev/shm

umount时如果出现device is busy的情况,可使用fuser命令杀掉进程。

fuser -km /dev/shm