ORA-00845: MEMORY_TARGET not supported on this system

查询到的原因如下:

 

     // *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 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

你可能感兴趣的:(ORA-00845: MEMORY_TARGET not supported on this system)