📢 最新动态
根据2025年7月Oracle官方技术社区消息,18c/19c版本中新增了_MEMORY_TARGET_AUTO_ADJUST
隐式参数,可智能缓解因SGA设置不当导致的ORA-04031错误,不过老规矩——手动调优仍是DBA的必修课!
System Global Area(系统全局区)是Oracle的"内存心脏"💓,存放着:
👉 比喻:SGA就像数据库的"工作台",所有SQL操作都在这里拼装、缓存、执行
ALTER SYSTEM SET memory_target=8G SCOPE=BOTH; ALTER SYSTEM SET memory_max_target=12G SCOPE=SPFILE;
✅ 优点:自动分配SGA+PGA
❌ 缺点:可能产生内存碎片(19c后改善明显)
ALTER SYSTEM SET sga_target=6G SCOPE=BOTH; ALTER SYSTEM SET sga_max_size=8G SCOPE=SPFILE;
📌 关键参数:
db_cache_size
shared_pool_size
large_pool_size
ALTER SYSTEM SET db_cache_size=4G SCOPE=BOTH; ALTER SYSTEM SET shared_pool_size=2G SCOPE=BOTH;
⚠️ 警告:需要精确计算各组件大小,否则容易翻车
ALTER SYSTEM SET sga_target=10G CONTAINER=CDB$ROOT; ALTER SYSTEM SET sga_target=2G CONTAINER=PDB1;
🌐 适用于多租户环境
-- 查看当前配置 SELECT * FROM v$sgnifo; -- 内存建议(超实用!) SELECT * FROM v$memory_target_advice; -- 组件命中率检查 SELECT (1-(phy.value/(cur.value + con.value)))*100 "Buffer Cache Hit Ratio" FROM v$sysstat cur, v$sysstat con, v$sysstat phy WHERE cur.name = 'db block gets' AND con.name = 'consistent gets' AND phy.name = 'physical reads';
📊 参考公式:
SGA_SIZE = (DB_CACHE_SIZE + SHARED_POOL_SIZE) × 1.2
shared_pool_size
db_cache_size
cursor_sharing
💬 DBA老鸟说:"SGA调优就像调咖啡☕,太少没劲,太多会吐——找到平衡点才是艺术!"
(注:所有参数调整建议通过SPFILE持久化,并预留10%-20%缓冲空间应对峰值负载)
本文由 逯曼安 于2025-07-30发表在【云服务器提供商】,文中图片由(逯曼安)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/482300.html
发表评论