2024-09-24
Oracle SYS.X$KTFBFE 关联查询无法获取 con_id
CDB模式下,在监控表空间时,关联查询基表SYS.X$KTFBFE,无法获取con_id
SYS.X$KTFBFE 自带一个字段con_id,但是默认值都是0
在CDB或者PDB下查询如下两个SQL的结果都是一样的
SQL> SELECT * FROM CONTAINERS(SYS.X$KTFBFE) F WHERE KTFBFETSN=1;
ADDR INDX INST_ID CON_ID KTFBFETSN KTFBFEFNO KTFBFEBNO KTFBFEBLKS
---------------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
00007F0FD8EE2C28 0 1 0 1 4 9392 8
00007F0FD8EE2C28 1 1 0 1 4 16368 8
00007F0FD8EE2C28 2 1 0 1 4 34144 8
00007F0FD8EE2C28 3 1 0 1 4 43744 32
00007F0FD8EE2C28 4 1 0 1 4 43904 2176
SQL> SELECT * FROM SYS.X$KTFBFE F WHERE KTFBFETSN=1;
ADDR INDX INST_ID CON_ID KTFBFETSN KTFBFEFNO KTFBFEBNO KTFBFEBLKS
---------------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
00007F0FD8EE2C28 0 1 0 1 4 9392 8
00007F0FD8EE2C28 1 1 0 1 4 16368 8
00007F0FD8EE2C28 2 1 0 1 4 34144 8
00007F0FD8EE2C28 3 1 0 1 4 43744 32
00007F0FD8EE2C28 4 1 0 1 4 43904 2176
SQL> desc SYS.X$KTFBFE
Name Null? Type
----------------------------------------------- -------- --------------------------------
ADDR RAW(8)
INDX NUMBER
INST_ID NUMBER
CON_ID NUMBER
KTFBFETSN NUMBER
KTFBFEFNO NUMBER
KTFBFEBNO NUMBER
KTFBFEBLKS NUMBER
SQL>
在与SYS.TS、SYS.FILE关联时,如果不限定con_id,每个PDB下的TS#都是从0开始自增,那么像这些表空间就会重复计算,导致结果错误,直接查询CDB_FREE_SPACE又很慢,不知是否有解?
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
Markdown
请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
