在Oracle 11g安装中,会经常遇到如下2种问题:
Oracle 11gORA-00845: MEMORY_TARGET not supported on this system 说明 http://www.linuxidc.com/Linux/2012-03/55604.htm
[INS-35172]Target database memory (XXMB) exceeds the systems available shared memory({0}MB) 解决方法 http://www.linuxidc.com/Linux/2012-02/54217.htm
解决方法都是在:/etc/fstab中添加参数,让系统启动时自动加载配置:
tmpfs /dev/shm tmpfs defaults,size=3G 0 0
tmpfs 的值默认情况是为系统内存的一半,这种配置放在,在RedHat 系统下可以正常使用,但是我在Oracle Linux 6.1 下测试,发现这个参数不能生效,即使这里设成3G,OS 启动完毕后,查看tmpfs 的大小还是会变成内存的一半。
需要在启动之后,手工的mount一下才可以生效:
[root@rac1 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 14G 11G 2.4G 83% /
tmpfs 3.0G 0 3.0G 0% /dev/shm
/dev/sda1 194M 46M 139M 25% /boot
tmpfs 3.0G 0 3.0G 0% /dev/shm
[root@rac1 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Nov 2213:02:55 2011
#
# Accessible filesystems, by reference, aremaintained under '/dev/disk'
# See man pages fstab(5), findfs(8),mount(8) and/or blkid(8) for more info
#
UUID=b1d2de8e-de31-4deb-b4e8-755c0ed01616/ ext4 defaults 1 1
UUID=4df5aa5f-8ef0-473a-931a-51d11e21aa53/boot ext4 defaults 1 2
UUID=82085104-5021-4aaf-8e85-f213998107b6swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=3G 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
[root@rac1 ~]#
因此如果我们只修改/etc/fstab,在Oracle Linux6.1 下没有影响。
我们还需要修改另一个配置文件,才可以使fstab中tmpfs的修改生效:/etc/rc.d/rc.sysinit
第一步:注释如下语句
#mount -f /dev/shm >/dev/null2>&1
第二步:
在rc.sysinit 中找到如下内容:
# Mount all other filesystems (except forNFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in singleuser mode.
if [ "$READONLY" !="yes" ] ; then
action $"Mounting local filesystems: " mount -a -tnonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
else
action $"Mounting local filesystems: " mount -a -n -tnonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
fi
在如下部分里添加tmpfs 这个类型进去:
if [ "$READONLY" !="yes" ] ; then
action $"Mounting local filesystems: " mount -a -ttmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
else
action $"Mounting local filesystems: " mount -a -n -t tmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -Ono_netdev
fi
然后重启OS:
[root@rac1 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 14G 11G 2.4G 83% /
tmpfs 3.0G 88K 3.0G 1% /dev/shm
/dev/sda1 194M 46M 139M 25% /boot
现在重启之后,tmpfs 就可以自动按照我们设定的值进行变化了。