您好,欢迎访问一九零五行业门户网

新特性:/dev/shm对Oracle 11g的影响

oracle 从11g版本开始,引入了一个自动内存管理(automatic memory management)特性,该特性需要更多的共享内存(/dev/shm),因此如
/dev/shm对oracle 11g的影响:
      oracle 从11g版本开始,引入了一个自动内存管理(automatic memory management)特性,该特性需要更多的共享内存(/dev/shm),因此如果决定应用该特性的话, 必须要确保共享内存大于oracle 中初始化参数memory_max_target 和memory_target(特别提示,这两个参数即自动内存管理特性对应的初始化参数)的值。
      如果在初始化参数中设置了memory_max_target 和memory_target 两参数为非0值,并且不符合系统共享内存,则oracle 数据库启动时,,就会触发ora-00845:memory_target not supported on this system 错误。
oracle 11g的linux版本在修改了memory_target或者sga_target后启动可能会报错:
sql> shutdown immediate
database closed.
sql> startup
ora-00845: memory_target not supported on this system
在数据库的alert日志中将有下面的报错:
starting oracle instance (normal)
warning: you are trying to use the memory_target feature. this feature requires the /dev/shm file system to be mounted for at least 10536091648 bytes. /dev/shm is either not mounted or is mounted with available space less than this size. please fix this so that memory_target can work as expected. current available is 8589852672 and used is 81920 bytes.
memory_target needs larger /dev/shm
问题很明显:是因为/dev/shm的可用空间(非shm的总大小)小于了参数文件中设置的memory_target值。
解决办法就是增大/dev/shm或是减小memory_target,下面是通过增加/dev/shm来解决:
修改前:
osedb01:~ # cat /etc/fstab | grep shm
shm                  /dev/shm             tmpfs      size=11g               0 0
osedb01:~ # df -h /dev/shm
filesystem            size  used avail use% mounted on
shm                    11g  6.5g   4.5g  59% /dev/shm
memory_target 设置为10g,而/dev/shm可用空间的只有4.5g。
修改/dev/shm大小:
osedb01:~ # cat /etc/fstab | grep shm
shm                  /dev/shm             tmpfs      size=18g               0 0
修改完后,需要重新挂载/dev/shm生效:
osedb01:~ # mount -o remount /dev/shm
osedb01:~ # df -h /dev/shm
filesystem            size  used avail use% mounted on
shm                    18g  6.5g   12g  36% /dev/shm
再次重启数据库,正常!!
附加:/dev/shm中的数据,在系统重启后,数据会被清空,注意!
其它类似信息

推荐信息