签到成功

知道了

CNDBA社区CNDBA社区

Oracle 12C R2-新特性-限制PDB的内存使用大小

2017-12-19 10:52 5901 0 原创 Oracle 12C
作者: Expect-乐

说明

12.2中,可以通过PDB的初始化参数来限制PDBSGAPDB的大小。http://www.cndba.cn/Expect-le/article/2500

参数为:

l DB_CACHE_SIZE
2 SHARED_POOL_SIZE
3 PGA_AGGREGATE_LIMIT
4 PGA_AGGREGATE_TARGET
5 SGA_MIN_SIZE
6 SGA_TARGET

关于参数的详细说明,参考官方文档:http://www.cndba.cn/Expect-le/article/2500

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/admin/using-oracle-resource-manager-for-pdbs-with-sql-plus.html#GUID-A3459A8B-A36A-44D4-9FCD-75CA0E3D3252

 

要想使用以上参数来控制PDB的内存使用,必须要满足下面两种情况:

1. NONCDB_COMPATIBLE参数必须设置为falsehttp://www.cndba.cn/Expect-le/article/2500

2. CDB中的MEMORY_TARGET设置为0或不设置http://www.cndba.cn/Expect-le/article/2500

具体例子

2.1   查看参数是否满足

SQL> show parameter NONCDB_COMPATIBLE

NAME	  TYPE    VALUE
------------------------------------ ----------------------
noncdb_compatible	boolean   FALSE

SQL> show parameter memory_target

NAME	  TYPE     VALUE
-------------------  ---------------- ----------------------
memory_target	big integer   1392M

SQL> alter system set memory_target=0 scope=spfile;
System altered.

重启数据库。

SQL> show parameter memory_target

NAME	  TYPE     VALUE
-------------------  ---------------- ----------------------
memory_target	big integer   0

2.2   设置PDBPGA大小

切换到PDB下执行。

SQL> show pdbs;

CON_ID CON_NAME	  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
 2 PDB$SEED	  READ ONLY  NO
 3 LEIPDB	  MOUNTED -要打开

SQL> alter session set container=leipdb;
Session altered.

SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 90M SCOPE = BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 90M SCOPE = BOTH

*
ERROR at line 1:
ORA-01219: database or pluggable database not open: queries allowed on fixed
tables or views only

SQL> alter database open;
Database altered.

SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 90M SCOPE = BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 90M SCOPE = BOTH

*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00093: pga_aggregate_limit must be between 256M and 100000G --提示必须要大于等于256M

SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 256M SCOPE = BOTH;
System altered.

不需要重启。

查看结果

http://www.cndba.cn/Expect-le/article/2500

http://www.cndba.cn/Expect-le/article/2500

SQL> show parameter PGA_AGGREGATE_LIMIT
NAME	     TYPE     VALUE
----------------------------------- ----------------------
pga_aggregate_limit	big integer   256M

http://www.cndba.cn/Expect-le/article/2500

其他参数修改也一样。

http://www.cndba.cn/Expect-le/article/2500

 http://www.cndba.cn/Expect-le/article/2500

注意:http://www.cndba.cn/Expect-le/article/2500

所有的参数大小都不要超过CDB的相应参数的总大小。

所有参数的修改,必须是在相应的PDB下执行。

否则,如下报错:

SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 257G SCOPE = BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_LIMIT = 257G SCOPE = BOTH

*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-56747: invalid value 275951648768 for parameter pga_aggregate_limit; must
be smaller than parameter pga_aggregate_limit of the root container

版权声明:本文为博主原创文章,未经博主允许不得转载。

PGA 内存

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1600353次
  • 积分:1957
  • 等级:核心会员
  • 排名:第4名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ