关于ORACLE11g SGA PGA的设置
各位大牛,小弟最近在一个服务器上手工搭建一个数据库实例,在创建initxxx.ora时MEMORY_TARGET,SGA_TARGET等SGA设置时有很多困惑,比较混乱,总是设置了然后startup时报ORA-00845或者ORA-00838等各种错,由于里面还有几个实例是生产的,所以不敢乱动了,再这想问问各位init里面的那些设置有没有什么原则可遵循还是要设为自动,是11g的。有这方面的经验给我介绍哈。
@ctudb etl]$ df -h | grep shm
tmpfs 24G 15G 8.6G 64% /dev/shm
@ctudb etl]$ free -m
total used free shared buffers cached
Mem: 48248 47962 286 0 157 44780
-/+ buffers/cache: 3024 45224
Swap: 20479 2848 17631
------解决方案--------------------兄弟,不要在生产库上搞这些东西啊。。。
如果是为了测试,建议另找机器。
如果是以后确实要应用于生产库的,并且只有这一台服务器,建议创建新的用户而不是新的数据库。
你可以使用dbca建库,里面会有建议的。10g和11g可以设置总共使用多少内存,然后让数据库自己分配
------解决方案--------------------11G有主动管理内存的能力,只要设一下memory_max_target,memory_target一般这两个参数设为一样大记住(scope=spfile),还有就是把SGA和PGA的值设为0让数据库制动管理。
注:切记memory_target不能比memory_max_target小太多不然在重启是会报错。