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