ORA-00845: MEMORY

    技术2025-03-17  17

    查询到的原因如下:

     

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

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

     

     

     

    系统的虚拟内存小于sga的大小,既然知道原因了,就可以解决了

     

     

     

    设置sga的大小,修改SGA_MAX_SIZE的大小

     

    alter system set sga_max_size=xxxM

     

    不过建议修改虚拟内存。在windows上我的电脑右击->高级->性能设置->高级->更改

     

    在linux上是修改/dev/shm的大小,

     

    修改vi /etc/fstab

     

    [root@abc ~]# more /etc/fstab LABEL=/ / ext3 defaults 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=62 0 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda2 swap swap defaults 0 0 You have new mail in /var/spool/mail/root

     

     

    在tmpfs哪行修改成

     

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

     

    保存退出后;重新加载一下

     

    umount /dev/shm

    mount /dev/shm

     

    再次查看df -k /dev/shm

     

     

     

     

    或者是执行一下操作:

     

    [root@abc ~]# mount -o remount,size=4G /dev/shm

     

    linux下/dev/shm是什么?   默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是 安装它,它就可以使用了。   tmpfs有以下优势:   1,动态文件系统的大小。   2,tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。   3,tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

    最新回复(0)