设为首页收藏本站
查看: 97|回复: 0

[PHP] Oracle启动提示ORA-00845:内存错误的解决办法

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2018-7-3 09:23:00 | 显示全部楼层 |阅读模式
    来自Oracle的官方解析是:Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared

      今天把虚拟机的内存改小了一点,,然后启动数据的时候就出现如下错误:
    SQL> startup
    ORA-00845: MEMORY_TARGET not supported on this system
    我猜想应该是系统内存和sga冲突的问题,后来到网上查了一下,果然如此:
    来自Oracle的官方解析是:
    Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory should be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. If MEMORY_MAX_TARGET or MEMORY_TARGET is set to a non zero value, and an incorrect size is assigned to the shared memory, it will result in an ORA-00845 error at startup.
    也就是由于设置SGA的大小超过了操作系统/dev/shm的大小:
    解决这个问题只有两个方法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的大小。
    一.修改/dev/shm的大小
    root 登录
    #vi /etc/fstab  将上面的size改成超过sga的大小。然后重启或者重新挂载
    #umount /dev/shm
    #mount /dev/shm
    二.修改sga的大小

    然后重新启动数据库。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表