重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 35|回复: 0

[原创] oracle数据库服务器内存扩容小记

[复制链接]
发表于 2020-9-5 13:27:03 | 显示全部楼层 |阅读模式
      前几日一朋友为一客户升级服务器硬件,升级后,咨询oracle数据库内存扩容相关事宜,虽说ocp证书已到手,但还真没有实际操过,为保险起见,晚上利用值班时间通过虚拟环境进行测试,现将整个过程进行记录,以便日后方便查找,希望各位老师给与指正完善。
环境:redhat7.0+oracle 11G R2
原内存为16G(kernel.shmmax =17179869184),现将服务器内存扩展到24G(kernel.shmmax =25769803776),注: kernel.shmmax=物理内存*1024*1024*1024
一、 查看内存管理方式
showparameter shared_pool_size
如果value 为0,管理方式为自动管理
二、查看sga和pga、mem
show parameter sga
397885f5320a32d440.png
Show parameter pag
417515f5320b2dc386.png
Show parameter mem
163455f5320bf46c41.png
三、 修改kernel.shmmax参数
Cat /etc/sysctl.conf
763175f5320ce4c63a.png
四、 查看扩容后的shm的容量
Df –hT
480615f5320d9ba649.png
Shm的容量为物理内存的50%。
五、 调整oracle参数
alter system setmemory_max_target=19660M scope=spfile;
alter system setmemory_target=19660M scope=spfile;
alter system setsga_max_size=9830M scope=spfile;
alter system set sga_target=9830Mscope=spfile;
973095f5320e7312bf.png
注: memory_max_target=24G*0.8*1024M,sga_max_size=24G*0.8*0.5*1024
关闭数据库重新启动
Shutdown immediate
Startup
977115f5320f61d7aa.png
内存扩容成功
854845f532102f3776.png
遇到的问题一:
295875f5321137d73a.png
ORA-00844: Parameternot taking MEMORY_TARGET into account
ORA-00851:SGA_MAX_SIZE 64692944896 cannot be set to more than MEMORY_TARGET 17179869184.
分析原因以及解决办法:
由于memory_target小于sga_max_size导致的,通常memory_target值需为sga+pga内存的和,因此需将memory_target值调大。
[color=rgba(90, 90, 90, 0.93)]先使用的pfile启动Oracle,重新创建spfile,并重启数据库
startuppfile='/u01/app/oracle/admin/pxdb/pfile/init.ora.252018173428';
create spfile frompfile='/u01/app/oracle/admin/pxdb/pfile/init.ora.252018173428';
shutdown immediate;
startup
对memory_max_target参数进行重新调整,memory_max_target=物理内存*80%,
遇到的问题二:

353455f53214d2ab00.png
分析原因以及解决办法:
查找资料后发现在oracle11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小,就会报错。
988075f532158ca579.png
sga_max_size 、sga_target参数设置错误导致
altersystem set sga_target = (总物理内存* 0.8) * 0.5 scope=spfile;
alter system set sga_max_size =
(总物理内存* 0.8) * 0.5 scope=spfile;
参照思庄论坛


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2020-9-19 07:47 , Processed in 0.172621 second(s), 24 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表