如何配置Oracle 19c CDB资源管理_PDB级别的CPU与内存限制

必须先在CDBROOT启用RESOURCE_MANAGER_PLAN(如DEFAULT_PLAN),否则cpu_count、cpu_min_count、pdb_memory_limit等PDB级资源参数均不生效;再于目标PDB中设置具体值,并配合profile控制并发、注意IO限值适用范围。怎么确认当前PDB有没有启用资源管理没开 resource_manager_plan,所有 cpu_count、cpu_min_count、pdb_memory_limit 都不生效------这是最常被忽略的前提。cdb 默认不启用资源计划,哪怕你改了参数,也等于没设。查 CDB 当前是否启用:SELECT plan, status FROM DBA_RSRC_PLANS WHERE status = 'ACTIVE';,再看 SELECT value FROM vparameter WHERE name = 'resource_manager_plan'; 是否非空必须在 CDBROOT 执行:ALTER SYSTEM SET resource_manager_plan = 'DEFAULT_PLAN' SCOPE=BOTH;(DEFAULT_PLAN 是 Oracle 自带的、支持 PDB 级别控制的基础计划)注意:不是所有 plan 都支持 PDB 级资源指令;自定义 plan 若没显式包含 PDB_DIRECTIVE,改 PDB 参数也没用怎么给单个PDB设CPU硬限制(不是配额,是上限)cpu_count 是 PDB 能用的最大并发线程数(逻辑 CPU),不是物理核数,也不是百分比------它直接卡死并行度和前台进程调度上限。设成 2,意味着哪怕 CDB 有 48 核,这个 PDB 永远拿不到第 3 个线程。进目标 PDB:ALTER SESSION SET CONTAINER = pdb01;设最大可用线程数:ALTER SYSTEM SET cpu_count = 2 SCOPE=BOTH;设保底线程数(防饥饿):ALTER SYSTEM SET cpu_min_count = 1 SCOPE=BOTH;(小数如 0.5 仅在 cpu_count 为整数时按比例算,不推荐混用)坑:如果 cpu_min_count \> cpu_count,启动会报错 ORA-600;如果只设 cpu_count 不设 cpu_min_count,保底为 0,高负载时可能被彻底饿死怎么限制PDB内存用量(SGA+PGA总和)Oracle 19c 引入 pdb_memory_limit,这才是真正意义上的 PDB 内存硬限。它管的是该 PDB 所有进程 SGA+PGA 的总和,单位是字节(但支持 1G、2048M 这类写法),超限后新连接或大排序操作会直接报 ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT 或触发自动终止会话。在 CDBROOT 中对指定 PDB 设限:ALTER PLUGGABLE DATABASE pdb01 SET PARAMETER pdb_memory_limit = '4G';立即生效(无需重启 PDB),但只影响后续新建会话;已有会话继续运行,直到其 PGA/SGA 增长触碰全局 pga_aggregate_limit 或 sga_target坑:pdb_memory_limit 不拆分 SGA/PGA,也不替代 sga_target 或 pga_aggregate_target;若后者设得过大(比如 pga_aggregate_target=2G),而 pdb_memory_limit=1G,则 PDB 可能因 PGA 分配失败而报错,需协同调低验证是否生效:SELECT con_id, name, value FROM v$system_parameter2 WHERE name = 'pdb_memory_limit' AND con_id = (SELECT con_id FROM cdb_pdbs WHERE pdb_name = 'PDB01');为什么IO和并发限制不能只靠参数硬控max_iops 和 max_mbps 看似能限 IO,但它们只约束用户 I/O(如全表扫描、索引范围扫描),不拦 LGWR、DBWR、归档等后台关键 IO;而并发控制(比如会话数)根本不在资源计划里管------它得靠 profile。 Tellers AI Tellers是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。

相关推荐
qq_225891746615 分钟前
基于Python的中药药材数据可视化分析系统
python·机器学习·数据分析·django
changshuaihua00115 分钟前
Redis 详解:Redis 与 MySQL 的区别、数据类型与缓存三大问题
数据库·redis·缓存
qetfw23 分钟前
Debian 配置 AIDE 文件完整性检测:基线初始化、变更检查与数据库更新
linux·网络·数据库·debian
卷无止境37 分钟前
LangExtract:让LLM从杂乱文本中"抠"出结构化数据的开源工具
后端·python
Elastic 中国社区官方博客38 分钟前
Elasticsearch:搜索教程 - 语义搜索(三)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
栈溢出的浪漫42 分钟前
码界领航:Python拓界-机器学习Web跨平台
python·机器学习·跨平台·web开发·个人项目
卷无止境1 小时前
软件复杂度:那些让代码变得难以理解的东西,到底能不能量化?
后端·python
随风M记忆s2 小时前
Redis支持事务吗?了解Redis的持久化机制吗?
数据库·redis·bootstrap
老白干3 小时前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j