首页 > 数据库 > Oracle > 19C PGA占用过载优化
数据发生hang住十分钟,无法连接scan ip,后自动恢复。
查看alert 文件发现报错如下:

查看当前pga内存使用量
SELECT server, s.username, oSUSEr, NAME, VALUE / 1024 / 1024 MB, s.SID, s.serial#, spid
FROM v$session s, v$sesstat st, v$statname sn, v$process p
WHERE st.SID = s.SID
AND st.statistic# = sn.statistic#
AND sn.NAME LIKE 'session pga memory'
AND p.addr = s.paddr
ORDER BY VALUE DESC;

以上count后发现pga使用9.5G左右,
查看DB pga配置

另外根据oracle自带优化表v$pga_target_advice进行查看建议项
SELECT pga_target_for_estimate / 1024 / 1024 "PGA(MB)",
pga_target_factor,
estd_pga_cache_hit_percentage,
estd_overalloc_count
FROM v$pga_target_advice;

第一列为pga的具体大小值
第二列PGA_TARGET_FACTOR为“1”表示当前的pga_aggregate_target设置大小(其他数值都是以这个数据为基础的倍数),我这里是20M,通过pga_aggregate_target参数可以确认一下
第三列表示PGA的估算得到的Cache命中率的百分比,100%为最优化值
第四列如果为“0”表示可以消除PGA的过载
综合以上的结论,我们最终可以将PGA的大小设置为20G及以上。
由于修改PGA_target值需要重启数据库
择时停机修改并优化一些19C的部分选项
实施步骤
修改参数操作流程:
show parameter spfile
--备份spfile
create pfile=’/home/oracle/pfile20230112.ora’ from spfile;
--修改参数
恢复LGWR的post/wait通知方式
alter system set "_use_adaptive_log_file_sync"=false sid='*' scope=spfile;
关闭DRM(因DRM导致的问题非常多)
alter system set "_gc_policy_time"=0 sid='*' scope=spfile;
alter system set "_gc_undo_affinity"=FALSE sid='*' scope=spfile;
几个参数都是用于关闭 adaptive cursor sharing、cardinality feedback 特性,避免出现 SQL 性能不稳定、SQL 子游标过多的问题
alter system set "_optimizer_extended_cursor_sharing"='NONE' sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing_rel"='NONE' sid='*' scope=spfile;
alter system set "_optimizer_adaptive_cursor_sharing"=FALSE sid='*' scope=spfile;
设置数据文件的个数
alter system set db_files=8192 sid='*' scope=spfile;
设置开启的游标数
alter system set open_cursors=1000 scope=spfile sid='*';
单个session可以缓存多少coursor
alter system set session_cached_cursors=300 scope=spfile sid='*';
设置PGA大小
alter system set pga_aggregate_target=30G sid='*' scope=spfile;
数据库checkpoint
alter system checkpoint;
alter system checkpoint;
alter system checkpoint;
--重启数据库
su – oracle
srvctl stop database -d mesdb -o immeidate
srvctl start database -d mesdb
--检查PDBS
show pdbs
alter pluggable database all open
show pdbs
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29551564/viewspace-2932213/ ,如需转载,请注明出处,否则将追究法律责任。