问题描述
一些性能不佳的pdb可能会导致整个db机器的灾难,为了避免这种情况,我们需要限制pdb资源的使用!
我们的12cR2中有几十个pdb,每个都需要不同的资源,我们必须用不同的配置来限制它们。
1) 众所周知,我们可以分配SGA_TARGET,但是如何更改某些特定pdb的sga_max_size?
我们已经触发了 '改变系统集SGA_MAX_SIZE =...SCOPE = SPFILE' 子句,但遇到ORA-65040错误。
2) 另外,我们想为某些pdb分配CPU上限,CPU_COUNT参数是否有效,还是应该考虑CDB资源管理器计划?CPU_COUNT似乎方便多了。
3) 顺便说一句,我们都设置了max_iops和max_mbps来限制PDB的IO,这2个参数会对撤消tbs生效吗?
谢谢!
我们的12cR2中有几十个pdb,每个都需要不同的资源,我们必须用不同的配置来限制它们。
1) 众所周知,我们可以分配SGA_TARGET,但是如何更改某些特定pdb的sga_max_size?
我们已经触发了 '改变系统集SGA_MAX_SIZE =...SCOPE = SPFILE' 子句,但遇到ORA-65040错误。
SQL> alter session set container=n2dev; SQL> ALTER SYSTEM SET SGA_MAX_SIZE=2G container=CURRENT scope=spfile; ALTER SYSTEM SET SGA_MAX_SIZE=2G container=current scope=spfile * ERROR at line 1: ORA-65040: operation not allowed from within a pluggable database
2) 另外,我们想为某些pdb分配CPU上限,CPU_COUNT参数是否有效,还是应该考虑CDB资源管理器计划?CPU_COUNT似乎方便多了。
3) 顺便说一句,我们都设置了max_iops和max_mbps来限制PDB的IO,这2个参数会对撤消tbs生效吗?
谢谢!
专家解答
在容器中,SGA_TARGET实际上将与SGA_MAX_SIZE同义,因为它限制可插入数据库消耗该数量的内存。
同样,可插拔级别的cpu_count的工作方式与数据库级别的实例缓存类似,我们将使用资源管理器来限制实例 (在本例中,可插拔) 使用价值那么多的CPU,例如
有关详细信息,请查看此白皮书
https://www.oracle.com/technetwork/database/multitenant/overview/multitenant-wp-12c-2078248.pdf
同样,可插拔级别的cpu_count的工作方式与数据库级别的实例缓存类似,我们将使用资源管理器来限制实例 (在本例中,可插拔) 使用价值那么多的CPU,例如
SQL> conn / as sysdba Connected. SQL> show parameter cpu_count NAME TYPE VALUE ------------------------------------ ----------- ---------- cpu_count integer 16 SQL> SQL> SQL> alter session set container = pdb122a; Session altered. SQL> alter system set cpu_count = 4; System altered.
有关详细信息,请查看此白皮书
https://www.oracle.com/technetwork/database/multitenant/overview/multitenant-wp-12c-2078248.pdf
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




