当前位置:   article > 正文

oracle数据库刷内存语句,修改oracle数据库内存报错

alter system set memory_ max_

今天修改oracle数据库内存时,

alter system set memory_max_target=10240M scope=spfile;

语句正确修改;

但重启时却报错 :

SQL> alter system set memory_max_target=10240M scope=spfile;

System altered.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORA-00845: MEMORY_TARGET not supported on this system

SQL>

百度了一下,发现是/dev/shm过小:

[root@db1 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

tmpfs                 7.8G   88K  7.8G   1% /dev/shm

/dev/sda1             485M   38M  422M   9% /boot

查找资料后发现问题如下,见metalinikID 460506.1

在oracle 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错

解决方案

1.初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,可以增大/dev/shm

如:

# mount -t tmpfs shmfs -o size=7g /dev/shm

2.为了确保操作系统重启之后能生效,需要修改/etc/fstab文件

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2012-12/76976.htm

修改/dev/shm大小:

1.Vim /etc/fstab

原来是这样:

tmpfs /dev/shm tmpfs defaults 0 0

修改成如下,也就是20G

tmpfs /dev/shm tmpfs defaults,size=20000M 0 0

2.重新mount /dev/shm后生效

# mount -o remount /dev/shm

或者umount /dev/shm

mount /dev/shm

通过df –Th查看是否生效

也可以用下面的方式

# mkdir /mnt/tmp

# mount -t tmpfs -o size=256m,mode=1777 tmpfs /mnt/tmp

问题解决:

有时会遇到/dev/shm 卸载不掉的情况

# umount /dev/shm

umount: /dev/shm: device is busy.

用fuser处理

# fuser -km /dev/shm

# umount /dev/shm

# mount /dev/shm

fuser命令

-k:kill processes accessing the named file(杀死所有正在访问指定文件的进程

)

-m 表示指定文件所在的文件系统或者块设备(处于 mount 状态)。所有访问该文件系统的进程都被列出。

参考:

标签:TARGET,mount,dev,报错,内存,MEMORY,oracle,tmpfs,shm

来源: https://www.cnblogs.com/last-summer/p/10481716.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/程序代码艺术家2/article/detail/61881
推荐阅读
相关标签
  

闽ICP备14008679号