建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

eygle

发帖: 1粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2020-2-27 10:49:17 414 5
直达本楼层的链接
楼主
显示全部楼层
[交流求助] GaussDB T 的问题:DV_DC_RANKINGS 的查询输出成对出现

在 GaussDB 1.0.1 中,对于 DV_DC_RANKINGS 的查询,大量对象的数据成对出现。

不仅对象名称相同,而且 PAGES 数量也完全相同,需要确认是否是BUG,或者能解释原因。

以下是一个测试输出:

SQL> select * from DV_DC_RANKINGS order by 1,2;

USER_NAME  OBJ_NAME                                           PAGES       
---------- -------------------------------------------------- ------------
ENMO       ENMOTECH                                           1           
ENMO       ENMOTECH                                           1           
SYS        ADM_HIST_SNAPSHOT                                  1           
SYS        ADM_TABLESPACES                                    1           
SYS        ADM_TAB_PARTITIONS                                 1           
SYS        DV_BUFFER_PAGE_STATS                               1           
SYS        DV_BUFFER_POOLS                                    1           
SYS        DV_BUFFER_POOL_STATS                               1           
SYS        DV_CONNPOOL_STATS                                  1           
SYS        DV_DATABASE                                        1           
SYS        DV_DC_POOLS                                        1           
SYS        DV_DC_RANKINGS                                     1           
SYS        DV_DYNAMIC_VIEWS                                   1           
SYS        DV_GMA                                             1           
SYS        DV_GMA_STATS                                       1           
SYS        DV_INSTANCE                                        1           
SYS        DV_LATCHS                                          1           
SYS        DV_LIBRARY_CACHE                                   1           
SYS        DV_LOCKED_OBJECTS                                  1           
SYS        DV_LOCKS                                           1           
SYS        DV_LONG_SQL                                        1           
SYS        DV_MEM_STATS                                       1           
SYS        DV_OPEN_CURSORS                                    1           
SYS        DV_PARAMETERS                                      1           
SYS        DV_SEGMENT_STATS                                   1           
SYS        DV_SESSIONS                                        1           
SYS        DV_SESSION_EVENTS                                  1           
SYS        DV_SQLS                                            1           
SYS        DV_SQL_POOL                                        1           
SYS        DV_SYSTEM                                          1           
SYS        DV_SYS_EVENTS                                      1           
SYS        DV_SYS_STATS                                       1           
SYS        DV_TABLESPACES                                     1           
SYS        DV_TEMP_POOLS                                      1           
SYS        DV_TRANSACTIONS                                    1           
SYS        DV_UNDO_SEGMENTS                                   1           
SYS        DV_WAIT_STATS                                      1           
SYS        V$PARAMETER                                        1           
SYS        WSR_CONTROL                                        1           
SYS        WSR_EXCEPTION_LOG                                  1           
SYS        WSR_INSTANCE_SNAP                                  26          
SYS        WSR_INSTANCE_SNAP                                  26          
SYS        WSR_LATCH                                          1           
SYS        WSR_LIBRARYCACHE                                   1           
SYS        WSR_LOCK_OBJECT                                    26          
SYS        WSR_LOCK_OBJECT                                    26          
SYS        WSR_LONGSQL                                        19          
SYS        WSR_PARAMETER                                      1           
SYS        WSR_SEGMENT                                        24          
SYS        WSR_SEGMENT                                        24          
SYS        WSR_SESSION_EVENTS                                 24          
SYS        WSR_SESSION_EVENTS                                 24          
SYS        WSR_SESSION_SQL                                    26          
SYS        WSR_SESSION_SQL                                    26          
SYS        WSR_SNAPSHOT                                       1           
SYS        WSR_SQLAREA                                        14          
SYS        WSR_SQLAREA                                        14          
SYS        WSR_SQLPLAN                                        26          
SYS        WSR_SQLTEXT                                        26          
SYS        WSR_SQLTEXT                                        26          
SYS        WSR_SYSTEM                                         1           
SYS        WSR_SYSTEM_EVENT                                   1           
SYS        WSR_SYS_STAT                                       1           
SYS        WSR_TRANSACTION                                    14          
SYS        WSR_TRANSACTION                                    13          
SYS        WSR_WAITSTAT                                       1           

66 rows fetched.


举报
分享

分享文章到朋友圈

分享文章到微博

GaussDB粉e...

发帖: 64粉丝: 10

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2020-2-27 11:19:34
直达本楼层的链接
沙发
显示全部楼层

问题收到哦,我们会尽快答复您:)

点赞 评论 引用 举报

平常心

发帖: 44粉丝: 6

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2020-2-27 16:03:23
直达本楼层的链接
板凳
显示全部楼层

这个不是bug,因为DC是多版本的,会查出来多个版本。


点赞 评论 引用 举报

eygle

发帖: 1粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2020-2-28 09:53:48
直达本楼层的链接
地板
显示全部楼层

根据文档描述:

DV_DC_RANKINGS 是 将DC队列中占用SGA页面最大对象进行排序并输出。

我之前的理解,这应该是对DC对象占用内存的一个聚合汇总信息。


所以正确的理解应该是:DV_DC_RANKINGS 是 DC 对象占据共享内存页的一个明细化、多版本输出?


谢谢!


点赞 评论 引用 举报

eygle

发帖: 1粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2020-2-28 10:09:55
直达本楼层的链接
5#
显示全部楼层

并且,这个多版本,还没有考虑会话一致性?


是因为是视图的原因吗?

点赞 评论 引用 举报

好时巧克力

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2020-3-3 11:11:53
直达本楼层的链接
6#
显示全部楼层

回复:eygle 发表于 2020-2-28 09:53 根据文档描述:DV_DC_RANKINGS 是 将DC队列中占用SGA页面最大对象进行排序并输出。我之前的理解,这应该是对DC对象占用内存的一个聚合汇总信息。所

这个视图是表的数据字典缓存(DICTIONARY CACHE即DC)的一个按占用空间大小排序后输出的情况。这个视图编写的初衷是因为客户经常遇到SHARED_POOL(DC_POOL是SHARED_POOL的一部分)被占满但是却不知道是哪些表的DC占用过大导致SHARED_POOL被占满,故开发了这么一个视图协助客户了解更详细的信息。DC的多版本是为了实现读/改的不阻塞,当表上发生DDL操作修改了表结构时,老的查询可以继续使用老的DC版本进行查询,故而会出现这种一个视图里查出同一张表的多条记录的情况,其实它们是一张表进行过多次DDL后产生的不同的DC版本,并且尚未淘汰产生的现象,可以想象后面还有一个隐藏列叫版本号。

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册