0 检查大页空间
查看大页空间
grep Huge /proc/meminfo
- HugePages_Total: 总共页
- HugePages_Free: 空闲页
- HugePages_Rsvd: 操作系统承诺给Oracle预留页
Hugepagesize: 2048 kB 每页是2M,不可修改
HugePages_Free * Hugepagesize = 剩余大页空间
备注1:理论上大页不超过内存的60%,大页比SGA稍大一点就好。
备注2:所有计算节点都需要检查。
1 查看当前SGA & 备份参数文件
su - oracle
ps -ef | grep pmon
export ORACLE_SID=实例名
sqlplus / as sysdba
show parameter sga
备份参数文件 !!!
show parameter spfile
create pfile='/tmp/woqu_date.ora' from spfile;
2 修改SGA
alter system set sga_max_size=xxxG scope=spfile sid='*'; #不可动态修改
alter system set sga_target=xxxG scope=spfile sid='*'; #自动管理内存
备注:sga_max_size限制 sga_target,防止sga_target调整出错【比如多写个0,这个时候,oracle就会瞬间崩溃】
3 重启数据库
srvctl stop database -d dbname-o immediate
srvctl start database -d dbname
备注:先协调业务部门停应用,断开会话,这样关库会快点。
4 查看SGA是否修改成功
show parameter sga
5 回退步骤
srvctl stop database -d dbname-o immediate
startup nomount pfile='/tmp/woqu_date.ora';
create spfile='+NVMEDG' from pfile='/tmp/woqu_date.ora';
srvctl stop database -d dbname -o immediate
srvctl start database -d dbname