ITPub博客

首页 > 数据库 > Oracle > [20220419]19c _enable_shared_pool_durations.txt

[20220419]19c _enable_shared_pool_durations.txt

原创 Oracle 作者:lfree 时间:2022-04-19 09:48:04 0 删除 编辑

[20220419]19c _enable_shared_pool_durations.txt

--//19c生产系统,我发现奇怪的现象做一个记录:

1.环境:
> @ prxx
==============================
PORT_STRING                   : x86_64/Linux 2.4.xx
VERSION                       : 19.0.0.0.0
BANNER                        : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
BANNER_FULL                   : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.0.0.0
BANNER_LEGACY                 : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
CON_ID                        : 0
PL/SQL procedure successfully completed.

2.查看:
> @ pd _kghdsidx_count
Show all parameters and session values from x$ksppi/x$ksppcv...
 NUM N_HEX NAME              VALUE   DESCRIPTION
---- ----- ----------------- ------- ------------------
 292   124 _kghdsidx_count   5       max kghdsidx count

> @ pd _enable_shared_pool_durations
Show all parameters and session values from x$ksppi/x$ksppcv...
 NUM N_HEX NAME                           VALUE   DESCRIPTION
---- ----- ------------------------------ ------- --------------------------------------
 161    A1 _enable_shared_pool_durations  TRUE    temporary to disable/enable kgh policy

> SELECT DISTINCT ksmchidx, ksmchdur FROM x$ksmsp ORDER BY 1, 2;
       KSMCHIDX        KSMCHDUR
--------------- ---------------
              1               1
              1               4
              2               1
              2               4
              3               1
              3               4
              4               1
              4               4
              5               1
              5               4
10 rows selected.
--//注意这个执行很容易死机,小心!! 或者报ora-00600 之类的错误。
--//你可以发现 KSMCHDUR 没有2,3.也就是现在仅仅存在1,4.

--//可以看出19c在这方面做了改进,不再细分4个子子池,而是仅仅存在2个。oracle这样改进也许主要目的避免ora-04031之类的错误。
--//做一个转储也可以验证:
> oradebug setmypid
Statement processed.

> oradebug dump heapdump 2;
Statement processed.

$ grep "^HEAP DUMP"  dyhis1_ora_2216.trc
HEAP DUMP heap name="sga heap"  desc=0x60147cc0
HEAP DUMP heap name="sga heap(1,0)"  desc=0x60149618
HEAP DUMP heap name="sga heap(1,3)"  desc=0x6014df20
HEAP DUMP heap name="sga heap(2,0)"  desc=0x6015dd40
HEAP DUMP heap name="sga heap(2,3)"  desc=0x60162648
HEAP DUMP heap name="sga heap(3,0)"  desc=0x60172468
HEAP DUMP heap name="sga heap(3,3)"  desc=0x60176d70
HEAP DUMP heap name="sga heap(4,0)"  desc=0x60186b90
HEAP DUMP heap name="sga heap(4,3)"  desc=0x6018b498
HEAP DUMP heap name="sga heap(5,0)"  desc=0x6019b2b8
HEAP DUMP heap name="sga heap(5,3)"  desc=0x6019fbc0
HEAP DUMP heap name="IMCA_RO"  desc=0x60001030
HEAP DUMP heap name="IMCA_RW"  desc=0x60001178

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2887687/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7971388