`
langzixin
  • 浏览: 127396 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

oracle设置memory_max_target

 
阅读更多

设置oracle11g自动内存管理,重新设置了memory_max_target,但重新启动数据库时却报错:

ORA-00845: MEMORY_TARGET not supported on this system

 

原因:Oracle的官方解析是

Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory should be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. If MEMORY_MAX_TARGET or MEMORY_TARGET is set to a non zero value, and an incorrect size is assigned to the shared memory, it will result in an ORA-00845 error at startup.

大概意思就是:MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小(shm默认的实际内存的一半)

 

解决方案:

df -h |grep shm 查看大小

 

可以修改大小 /etc/fstab中

tmpfs                   /dev/shm                tmpfs   defaults        0 0   为

tmpfs                   /dev/shm                tmpfs   defaults,size=新大小        0 0

然后umount /dev/shm mount /dev/shm使设置生效

重新启动数据库

 

但尝试过程中还会遇到其它错误,都是由于参数设置错误导致的

 

可以看到之前设置参数的语句alter system set memory_max_target=32G scope=spfile

可见,设置只针对spfile有效,则可以用pfile启动数据库

即,startup pfile='pfile存放路径'

create spfile from pfile='pfile存放路径'

 

最后再次重启数据库即可

 

直接从参数配置数据库,需要操作人员对oracle不同版本的特性有深刻的了解,否则就容易出现这种不经意的错误,但危害极大

分享到:
评论
1 楼 qaddzzq 2011-08-11  
怎么这么牛逼呢

相关推荐

Global site tag (gtag.js) - Google Analytics