Oracle 11g 只要设置 memory 就可以了。不需要单独对 sga_max_size 进行设置,
设置memory_max_target、memory_target 一般原则是 物理内存的1/2。设好了重启实例,sga_max_size 将自动变成memory_max_target设置的值
memory_max_target < shm 切记,
查看sga
show parameter sga
查看pga
show parameter pga
查看内存
show parameter memory
查看shm大小
df -h | grep shm
修改shm大小
vi /etc/fstab
增加大小
tmpfs /dev/shm tmpfs defaults,size=20G 0 0
修改后重新加载shm空间
mount -o remount /dev/shm
进入oracle用户
su - oracle
sqlplus方式登录oracle
sqlplus / as sysdba
创建pfile文件
create spfile from pfile;
修改 内存空间
alter system set memory_max_target = 3G scope=spfile;
alter system set memory_target = 3G scope=spfile;
alter system set sga_target=1500M scope=spfile; //设置自动分配无需设置
重启数据库
关闭数据库
shutdown immediate
启动数据库
startup
修改后数据库起不来后处理方式
创建 pfile文件
create pfile = '/home/oracle/initora11g.ora' from spfile;
设置内存空间
!echo '*.memory_target=1900m' >>'/home/oracle/initora11g.ora';
!echo '*.MEMORY_MAX_TARGET=1900m' >>'/home/oracle/initora11g.ora';
从新建的pfile文件启动数据库
startup pfile='/home/oracle/initora11g.ora';