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

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 359|回复: 0
打印 上一主题 下一主题

[Oracle] SHARES 的计算方式

[复制链接]
跳转到指定楼层
楼主
发表于 2025-11-30 17:12:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. SHARES 的核心概念

SHARES 是一个权重值,用于在 PDB 之间 分配 CDB 的总资源。它的关键特点是:

    只比较 PDB 之间的 SHARES 值

    CDB$ROOT 不参与 SHARES 计算

    计算的是相对比例,不是绝对资源量

2. 计算公式

每个PDB的资源份额 = (该PDB的SHARES / 所有PDB的SHARES总和) × 可用资源

注意:分母是 所有PDB的SHARES之和,不包括 CDB$ROOT。


3.案例

PLUGGABLE_DATABASE    SHARES    PARALLEL_SERVER_LIMIT
-------------------   --------  ---------------------
ORA$AUTOTASK          略        100
ORA$DEFAULT_PDB_DIRECTIVE 1     0
PDB1                  2         100  
PDB2                  2         25
PDB3                  1         ?

    ORA$AUTOTASK:系统自动任务,通常单独管理,不参与 PDB 间的 shares 计算

    ORA$DEFAULT_PDB_DIRECTIVE:为所有没有单独指定 shares 的 PDB 提供默认值,它本身不是一个 PDB

    PDB1、PDB2、PDB3:真正的 PDB,参与计算

总 SHARES = PDB1(2) + PDB2(2) + PDB3(1) = 5

    PDB1: 2/5 = 40% 的可用资源

    PDB2: 2/5 = 40% 的可用资源

    PDB3: 1/5 = 20% 的可用资源

4. ORA$DEFAULT_PDB_DIRECTIVE 的作用

这是一个默认指令,作用如下:

    任何没有单独指定资源计划的 PDB 都使用这个默认配置

    在计算时,每个使用默认配置的 PDB 都视为有 1 个 SHARE

    如果有 3 个 PDB 使用默认配置,它们总共贡献 3 个 SHARES 到总和中
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-17 21:11 , Processed in 0.203849 second(s), 24 queries .

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

© 2001-2020

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