[20260629]跟踪library cache lock library cache pin使用bpftrace.txt

[20260629]跟踪library cache lock library cache pin使用bpftrace.txt

--//以前写过一个跟踪library cache lock library cache pin使用gdb的脚本,尝试使用bpftrace在写一个类似脚本。

$ cat lkpn.gdb
set pagination off
set logging file /tmp/lkpn.log
set logging overwrite on
set logging on
set $lk  = 0
set $pn  = 0
set $lock  = 0

break kgllkal
commands
 silent
 printf "kgllkal count %02d -- handle address: %016x, mode: %d ", ++$lk ,$rdx ,$rcx
 echo kglnaobj address:
 x/s $rdx+0x1c8
 c
 end

break kglpnal
commands
 silent
 printf "kglpnal count %02d -- handle address: %016x, mode: %d ", ++$pn ,$rdx ,$rcx
 echo kglnaobj address:
 x/s $rdx+0x1c8
 c
 end

--//修改使用bpftrace的脚本.注:通过kimi,AI建立的脚本:

$ cat lkpn21c.bt
#!/usr/bin/env bpftrace
uprobe:/u01/app/oracle/product/21.0.0/dbhome_1/bin/oracle:kgllkal
/ $1 == 0 || pid == $1 /
{
    @lk++;
    printf("kgllkal count %02d -- handle address: %016lx, mode: %d ", @lk, arg2, arg3);
//  printf("spid %d ",pid);
    printf("kglnaobj address: %s\n", str(arg2 + 0x1c8, 256));
}

uprobe:/u01/app/oracle/product/21.0.0/dbhome_1/bin/oracle:kglpnal
/ $1 == 0 || pid == $1 /
{
    @pn++;
    printf("kglpnal count %02d -- handle address: %016lx, mode: %d ", @pn, arg2, arg3);
//  printf("spid %d ",pid);
    printf("kglnaobj address: %s\n", str(arg2 + 0x1c8, 256));
}
--//仅仅输出kglnaobj的前256字节.

--//简单测试如下:
1.环境:
SCOTT@book01p> @ver2
==============================
PORT_STRING                   : x86_64/Linux 2.4.xx
VERSION                       : 21.0.0.0.0
BANNER                        : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
BANNER_FULL                   : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
BANNER_LEGACY                 : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
CON_ID                        : 0
PL/SQL procedure successfully completed.
--//测试在centos 9下进行.

SCOTT@book01p> @ spid
==============================
SID                           : 33
SERIAL#                       : 46766
PROCESS                       : 3261
SERVER                        : DEDICATED
SPID                          : 3263
PID                           : 8
P_SERIAL#                     : 6
KILL_COMMAND                  : alter system kill session '33,46766' immediate;
PL/SQL procedure successfully completed.

2.测试:
--//执行如下语句多次,避免递归。
select * from dept where deptno=49;

--//以root用户执行如下:
# bpftrace /home/oracle/study/202606/lkpn21c.bt  3263
Attached 2 probes
--//select * from dept where deptno=50;第1次
kgllkal count 01 -- handle address: 000000006f4cad88, mode: 1 kglnaobj address: select * from dept where deptno=50
kglpnal count 01 -- handle address: 000000006f4cad88, mode: 2 kglnaobj address: select * from dept where deptno=50
kgllkal count 02 -- handle address: 0000000073d5cac8, mode: 2 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 03 -- handle address: 000000006f200ed8, mode: 2 kglnaobj address: 1847639831SYSCDB$ROOT
kgllkal count 04 -- handle address: 00000000698802d8, mode: 2 kglnaobj address: ae6f29635de13efcbc72a9fe72ea2715$BUILD$BOOK01P
kgllkal count 05 -- handle address: 000000006f4cab58, mode: 1 kglnaobj address:
kglpnal count 02 -- handle address: 000000006f4cab58, mode: 3 kglnaobj address:
kgllkal count 06 -- handle address: 0000000073d5cac8, mode: 2 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 07 -- handle address: 000000006f200ed8, mode: 2 kglnaobj address: 1847639831SYSCDB$ROOT
kgllkal count 08 -- handle address: 00000000698800a8, mode: 1 kglnaobj address: ae6f29635de13efcbc72a9fe72ea2715Child:0BOOK01P
kglpnal count 03 -- handle address: 00000000698800a8, mode: 3 kglnaobj address: ae6f29635de13efcbc72a9fe72ea2715Child:0BOOK01P
kgllkal count 09 -- handle address: 00000000676c9270, mode: 1 kglnaobj address: SCOTTBOOK01P
kgllkal count 10 -- handle address: 0000000073d5cac8, mode: 2 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 11 -- handle address: 000000006f200ed8, mode: 2 kglnaobj address: 1847639831SYSCDB$ROOT
kgllkal count 12 -- handle address: 0000000063edf248, mode: 2 kglnaobj address: DEPTSCOTTBOOK01P0c
kglpnal count 04 -- handle address: 0000000063edf248, mode: 2 kglnaobj address: DEPTSCOTTBOOK01P0c
kgllkal count 13 -- handle address: 0000000063ed57c8, mode: 2 kglnaobj address: 356430430180546253BOOK01P
kglpnal count 05 -- handle address: 0000000063ed57c8, mode: 2 kglnaobj address: 356430430180546253BOOK01P
kgllkal count 14 -- handle address: 0000000063ecc138, mode: 2 kglnaobj address: 7574277674127661070BOOK01P
kglpnal count 06 -- handle address: 0000000063ecc138, mode: 2 kglnaobj address: 7574277674127661070BOOK01P
kgllkal count 15 -- handle address: 0000000063ec10f8, mode: 2 kglnaobj address: 4204170303842060717BOOK01P
kglpnal count 07 -- handle address: 0000000063ec10f8, mode: 2 kglnaobj address: 4204170303842060717BOOK01P
kgllkal count 16 -- handle address: 0000000063ebfcc8, mode: 2 kglnaobj address: 5467474030038125289BOOK01P
kglpnal count 08 -- handle address: 0000000063ebfcc8, mode: 2 kglnaobj address: 5467474030038125289BOOK01P
kgllkal count 17 -- handle address: 0000000063ecc138, mode: 2 kglnaobj address: 7574277674127661070BOOK01P
kglpnal count 09 -- handle address: 0000000063ecc138, mode: 2 kglnaobj address: 7574277674127661070BOOK01P

--//select * from dept where deptno=50;第2次
kgllkal count 18 -- handle address: 000000006f4cad88, mode: 1 kglnaobj address: select * from dept where deptno=50
kgllkal count 19 -- handle address: 000000006f4cab58, mode: 1 kglnaobj address:
kgllkal count 20 -- handle address: 0000000063edf248, mode: 2 kglnaobj address: DEPTSCOTTBOOK01P0c
kglpnal count 10 -- handle address: 0000000063edf248, mode: 2 kglnaobj address: DEPTSCOTTBOOK01P0c

--//select * from dept where deptno=50;第3次
kgllkal count 21 -- handle address: 000000006f4cad88, mode: 1 kglnaobj address: select * from dept where deptno=50
kgllkal count 22 -- handle address: 000000006f4cab58, mode: 1 kglnaobj address:

--//select * from dept where deptno=50;第4次
--//已经没有输出。

--//按ctrl+c中断退出,出现如下信息,记录lk,pn的数值。
^C
@lk: 22
@pn: 10

3.继续:
--//如果跟踪一些特殊sql语句,第4次执行也会出现library cache lock /library cache pin访问对象的情况。
--//例子:

--//在pdb下执行select sid from v$mystat where rownum=1;仅仅输出第3,4次结果的情况,前面几次输出太多。
# bpftrace /home/oracle/study/202606/lkpn21c.bt  3193
Attached 2 probes
--//select sid from v$mystat where rownum=1;第3次
kgllkal count 01 -- handle address: 0000000063ee3af8, mode: 1 spid 3193 kglnaobj address: select sid from v$mystat where rownum=1
kgllkal count 02 -- handle address: 0000000063ee2398, mode: 1 spid 3193 kglnaobj address:
--//select sid from v$mystat where rownum=1;第4次
--//已经没有输出。

--//而在cdb下执行select sid from v$mystat where rownum=1;仅仅输出第3,4次结果的情况,前面几次输出太多。
# bpftrace /home/oracle/study/202606/lkpn21c.bt  3268
...
--//select sid from v$mystat where rownum=1;第3次
kgllkal count 29 -- handle address: 0000000063ee3af8, mode: 1 spid 3268 kglnaobj address: select sid from v$mystat where rownum=1
kgllkal count 30 -- handle address: 0000000070db1450, mode: 1 spid 3268 kglnaobj address:
kgllkal count 31 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 32 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 33 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 34 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 35 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 36 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 37 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 38 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT

--//select sid from v$mystat where rownum=1;第4次
kgllkal count 39 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 40 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 41 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 42 -- handle address: 000000007294eb40, mode: 2 spid 3268 kglnaobj address: bookSYSCDB$ROOT
--//可以发现第4次执行会访问book.SYS.CDB$ROOT对象。

SYS@book> @ sharepool/shp4z 000000007294eb40 -1
HANDLE_TYPE            KGLHDADR         KGLHDPAR         C40         KGLHDLMD   KGLHDPMD   KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLHDBID   KGLOBT09
---------------------- ---------------- ---------------- --------- ---------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ---------- ----------
parent handle address  000000007294EB40 000000007294EB40 SYS.book           0          0          0 00               00                        0          0          0         0          0 2789284771                    72611          0

SYS@book> @ kglob '' 2789284771  ''
==============================
INST_ID                       : 1
OWNER                         : SYS
NAME                          : book
DB_LINK                       :
NAMESPACE                     : DBINSTANCE
TYPE                          : CURSOR
NAMESPACE_NUM                 : 74
NAMESPACE_HEX                 : 4a
SHARABLE_MEM                  : 0
PERSISTENT_MEM                : 0
RUNTIME_MEM                   : 0
LOADS                         : 0
EXECUTIONS                    : 0
LOCKS                         : 0
PINS                          : 0
KEPT                          : NO
CHILD_LATCH                   : 72611
INVALIDATIONS                 : 0
HASH_VALUE                    : 2789284771
HASH_HEX                      : a6411ba3
LOCK_MODE                     : NONE
PIN_MODE                      : NONE
STATUS                        : UNKOWN
TIMESTAMP                     :
PREVIOUS_TIMESTAMP            :
LOCKED_TOTAL                  : 10592
PINNED_TOTAL                  : 0
PROPERTY                      :
FULL_HASH_VALUE               : b885bb910059a4d2fdbfc245a6411ba3
CON_ID                        : 1
CON_NAME                      : CDB$ROOT
ADDR                          : 000000007294EB40
PAR_ADDR                      : 000000007294EB40
HANDLE_TYPE                   : parent handle address
KGLOBHD0                      : 00
KGLOBHD6                      : 00
EDITION                       :
SQL_ID                        :
KGL_BUCKET                    : 72611
OBJECT_STR                    : book.SYS.CDB$ROOT\x4a\0\0\0
PL/SQL procedure successfully completed.
--//数据库实例对象。
--//参考链接:[20260604]为什么cdb与pdb下密集执行性能差异巨大.txt

--//并不是讲在pdb下执行不会出现以上现象,例子:

--//在pdb下执行select count(*)  from dba_tab_statistics;第4次执行,以后类似。
kgllkal count 01 -- handle address: 0000000070c16700, mode: 2 spid 3406 kglnaobj address: X$COMVW$SYSc4be4350BOOK01P
kglpnal count 01 -- handle address: 0000000070c16700, mode: 2 spid 3406 kglnaobj address: X$COMVW$SYSc4be4350BOOK01P
kgllkal count 02 -- handle address: 000000006fc092f8, mode: 1 spid 3406 kglnaobj address: SELECT /*CROSSCON*/ /* */ /*"INT$DATA_LINK_TAB_STATISTICS"*/ /* NONE */ * FROM NO_COMMON_DATA("SYS"."INT$DATA_LINK_TAB_STATISTICS")
kgllkal count 03 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 02 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 04 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 03 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 05 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 04 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 06 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 05 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 07 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 06 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 08 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 07 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 09 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 08 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 10 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 09 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 11 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 10 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 12 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 11 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 13 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 12 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 14 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 13 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 15 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 14 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 16 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 15 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 17 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 16 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 18 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 17 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 19 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 18 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 20 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 19 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 21 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 20 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 22 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 21 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 23 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 22 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 24 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 23 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 25 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 24 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 26 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 25 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 27 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 26 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 28 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 27 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 29 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 28 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 30 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kglpnal count 29 -- handle address: 000000006f676680, mode: 2 spid 3406 kglnaobj address: EAP$NULLSYSCDB$ROOT
kgllkal count 31 -- handle address: 000000006f7627f8, mode: 1 spid 3406 kglnaobj address: SELECT /*+ NO_STATEMENT_QUEUING RESULT_CACHE (SYSOBJ=TRUE SHELFLIFE=30) OPT_PARAM('_ENABLE_VIEW_PDB', 'FALSE') */ "ORIGIN_CON_ID","APPLICATION" FROM NO_CROSS_CONTAINER("SYS"."INT$DATA_LINK_TAB_STATISTICS") "INT$DATA_LINK_TAB_STATISTICS" WHERE "INT$DATA_LI
kgllkal count 32 -- handle address: 000000006f6e25c8, mode: 1 spid 3406 kglnaobj address:
kgllkal count 33 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 34 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 35 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 36 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 37 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 38 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 39 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 40 -- handle address: 000000007294eb40, mode: 2 spid 3406 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 41 -- handle address: 000000006fc092f8, mode: 1 spid 3406 kglnaobj address: SELECT /*CROSSCON*/ /* */ /*"INT$DATA_LINK_TAB_STATISTICS"*/ /* NONE */ * FROM NO_COMMON_DATA("SYS"."INT$DATA_LINK_TAB_STATISTICS")
kgllkal count 42 -- handle address: 000000006f6d3938, mode: 1 spid 3406 kglnaobj address: SELECT /*+ NO_STATEMENT_QUEUING RESULT_CACHE (SYSOBJ=TRUE SHELFLIFE=30) OPT_PARAM('_ENABLE_VIEW_PDB', 'FALSE') */ "ORIGIN_CON_ID","APPLICATION" FROM NO_CROSS_CONTAINER("SYS"."INT$DATA_LINK_TAB_STATISTICS") "INT$DATA_LINK_TAB_STATISTICS" WHERE "INT$DATA_LI
kgllkal count 43 -- handle address: 000000006f75dd38, mode: 1 spid 3406 kglnaobj address:

--//在cdb下执行select count(*)  from dba_tab_statistics;第4次执行,以后类似。
# bpftrace /home/oracle/study/202606/lkpn21c.bt  3592
Attached 2 probes
kgllkal count 01 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 02 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 03 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 04 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 05 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 06 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 07 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 08 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 09 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 10 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 11 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 12 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 13 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 14 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 15 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 16 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 17 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 18 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 19 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 20 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 21 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 22 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 23 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 24 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 25 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
kgllkal count 26 -- handle address: 000000007294eb40, mode: 2 spid 3592 kglnaobj address: bookSYSCDB$ROOT
--//出现26次

--//你可以测试 select count(*)  from dba_tab_statistics where rownum=1;在pdb与cdb下的执行情况,不再贴出。
--//pdb下执行第4次以后不再输出,而cdb下执行第4次以后与cdb下执行select count(*)  from dba_tab_statistics;类似。
posted @ 2026-06-30 21:53  lfree  阅读(1)  评论(0)    收藏  举报