DBA_TABLES中的NUM_ROWS未反映在元数据共享上

时间:2017-10-23 16:31:12

标签: oracle oracle12c database-metadata

在Oracle 12c中,我有一个使用sharing = metadata创建的表。以下是sql语句:

create table fedcommusr.md_commtab1 sharing=metadata
(deptno number, dname varchar2(100));
insert into fedcommusr.md_commtab1 values (1, 'One');
insert into fedcommusr.md_commtab1 values (2, 'Two');
comment on column fedcommusr.md_commtab1.deptno is 'department number';
comment on column fedcommusr.md_commtab1.dname is 'Department name is';

按如下方式执行DBMS_STATS:

exec DBMS_STATS.GATHER_SCHEMA_STATS(ownname=>'FEDCOMMUSR');

以下是为获取num_rows而执行的查询

select owner,table_name, NUM_ROWS from dba_tables where owner like upper('%fed%') ; 

,输出如下:

FEDCOMMUSR  MD_COMMTAB1 (null)

为什么num_rows没有更新?

1 个答案:

答案 0 :(得分:1)

在12.2最新的RU中我测试过没有问题:在应用程序根目录和应用程序PDB上收集和显示统计信息。 您可以使用dbms_stats.set_global_prefs(' trace',1 + 4)跟踪统计信息收集,并设置serveroutput以显示它。 问候, 弗兰克。