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