关于ORACLE11g SGA PGA的设置

时间:2022-10-30 08:32:06
  各位大牛,小弟最近在一个服务器上手工搭建一个数据库实例,在创建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

4 个解决方案

#1


关于ORACLE11g SGA PGA的设置

#2


兄弟,不要在生产库上搞这些东西啊。。。

如果是为了测试,建议另找机器。
如果是以后确实要应用于生产库的,并且只有这一台服务器,建议创建新的用户而不是新的数据库。

你可以使用dbca建库,里面会有建议的。10g和11g可以设置总共使用多少内存,然后让数据库自己分配

#3


引用 楼主 gaohuirong08 的回复:
nit里面的那些设置有没有什么原则可遵循还是要设为自动,……
11G有主动管理内存的能力,只要设一下memory_max_target,memory_target一般这两个参数设为一样大记住(scope=spfile),还有就是把SGA和PGA的值设为0让数据库制动管理。
注:切记memory_target不能比memory_max_target小太多不然在重启是会报错。 关于ORACLE11g SGA PGA的设置

#4


没得办法,要求就是这样,你也不能总是所有生产都往一个实例上建,有很多影响的。
引用 2 楼 xinpingf 的回复:
兄弟,不要在生产库上搞这些东西啊。。。

如果是为了测试,建议另找机器。
如果是以后确实要应用于生产库的,并且只有这一台服务器,建议创建新的用户而不是新的数据库。

你可以使用dbca建库,里面会有建议的。10g和11g可以设置总共使用多少内存,然后让数据库自己分配

#1


关于ORACLE11g SGA PGA的设置

#2


兄弟,不要在生产库上搞这些东西啊。。。

如果是为了测试,建议另找机器。
如果是以后确实要应用于生产库的,并且只有这一台服务器,建议创建新的用户而不是新的数据库。

你可以使用dbca建库,里面会有建议的。10g和11g可以设置总共使用多少内存,然后让数据库自己分配

#3


引用 楼主 gaohuirong08 的回复:
nit里面的那些设置有没有什么原则可遵循还是要设为自动,……
11G有主动管理内存的能力,只要设一下memory_max_target,memory_target一般这两个参数设为一样大记住(scope=spfile),还有就是把SGA和PGA的值设为0让数据库制动管理。
注:切记memory_target不能比memory_max_target小太多不然在重启是会报错。 关于ORACLE11g SGA PGA的设置

#4


没得办法,要求就是这样,你也不能总是所有生产都往一个实例上建,有很多影响的。
引用 2 楼 xinpingf 的回复:
兄弟,不要在生产库上搞这些东西啊。。。

如果是为了测试,建议另找机器。
如果是以后确实要应用于生产库的,并且只有这一台服务器,建议创建新的用户而不是新的数据库。

你可以使用dbca建库,里面会有建议的。10g和11g可以设置总共使用多少内存,然后让数据库自己分配