当前位置:数据库 > Oracle >>

【Oracle问题集1】ORA-00845: MEMORY_TARGET not supported on this system

【Oracle问题集1】ORA-00845: MEMORY_TARGET not supported on this system
 
执行语句:
                 启动Oracle数据库(startup)
 
出错现象:
            ORA-00845: MEMORY_TARGET not supported on this system
 
错误原因:
                 由于设置SGA的大小超过了操作系统/dev/shm的大小
 
解决方法:
                   第一种方法:修改初始化参数,使得初始化参数中的SGA设置小于/dev/shm的大小.
                   第二种方法:是调整/dev/shm的大小  
 
调整/dev/shm的方法如下:
 
[root@localhost ~]# vim /etc/fstab
 
tmpfs                   /dev/shm                tmpfs   defaults,size=10240M  0 0   【修改tmpfs大小】
 
[root@localhost ~]# umount /dev/shm
 
[root@localhost ~]# mount /dev/ssh
 
[root@localhost ~]# df -h /dev/shm
 
文件系统              容量  已用 可用 已用% 挂载点
 
tmpfs                  10G     0   10G   0% /dev/shm
 
 
相关知识
A、tmpfs有以下特点:
 
tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。
动态文件系统的大小。
tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。
tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载、绑定的操作。
B.linux /dev/shm 默认容量
 
linux下/dev/shm的容量默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是绝不会被系统回收重新划分的,否则谁还敢往里头存文件呢?
通过df -h查看linux /dev/shm的大小
[root@db1 shm]# df -h /dev/shm
 
              Filesystem            Size  Used Avail Use% Mounted on
 
              tmpfs                 1.5G     0  1.5G   0% /dev/shm
 
C.linux /dev/shm 容量(大小)调整
 
linux /dev/shm容量(大小)是可以调整,在有些情况下(如oracle数据库)默认的最大一半内存不够用,并且默认的inode数量很低一般都要调高些,这时可以用mount命令来管理它。
mount -o size=1500M -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
在2G的机器上,将最大容量调到1.5G,并且inode数量调到1000000,这意味着大致可存入最多一百万个小文件
通过/etc/fstab文件来修改/dev/shm的容量(增加size选项即可),修改后,重新挂载即可:
[root@db1 shm]# grep tmpfs /etc/fstab
                 tmpfs /dev/shm tmpfs defaults,size=2G 0 0
[root@db1 /]# umount /dev/shm
[root@db1 /]# mount /dev/shm
[root@db1 /]# df -h /dev/shm
                 Filesystem Size Used Avail Use% Mounted on
                  tmpfs 2.0G 0 2.0G 0% /dev/shm
[root@db1 /]# # mount -o remount /dev/shm
[root@db1 /]# df -h
               Filesystem                     Size  Used Avail Use% Mounted on
               /dev/mapper/rootvg-lv01 97G  9.2G   83G  10% /
              /dev/sda1                     99M   15M   80M  16% /boot
              tmpfs                            2.0G     0  2.0G   0% /dev/shm
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,