相关文章推荐
曾深爱过的眼镜  ·  视图的部件 - Tableau·  1 年前    · 
大鼻子的盒饭  ·  简单的c# ...·  1 年前    · 
按照SCHEMA收集统计信息后,查询了下是否SCHEMA下的统计信息都收集了。
结果发现绝大部分表的LAST_ANALYZED都变化了,只有几张表的LAST_ANALYZED时间还是没变。
感觉很奇怪,用的OPTION是GATHER,GATHER会处理所有的对象,怎么有些表的统计信息还是不变呢?
begin
dbms_stats.gather_schema_stats( ownname=> '"A"' , cascade=> DBMS_STATS.AUTO_CASCADE, estimate_percent=> dbms_stats.auto_sample_size, degree=> 16, no_invalidate=> DBMS_STATS.AUTO_INVALIDATE, granularity=> 'AUTO', method_opt=> 'FOR ALL COLUMNS SIZE AUTO', options=> 'GATHER' );
单独把表给拿出来
SQL>  BEGIN
2        DBMS_STATS.GATHER_TABLE_STATS(ownname          => 'A',
3                                      tabname          =>'B1',
4                                      estimate_percent =>100,
5                                      method_opt       =>'for all columns size AUTO',
6                                      no_invalidate    =>FALSE,
7                                      degree           => 8,
8                                      cascade          =>TRUE);
9      END;
10      /
BEGIN
第 1 行出现错误:
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: 在 "SYS.DBMS_STATS", line 24281
ORA-06512: 在 "SYS.DBMS_STATS", line 24332
ORA-06512: 在 line 2
SQL> set linesize 9999 pagesize 9999
SQL> select owner,table_name from DBA_tab_statistics where OWNER='A' AND stattype_locked is not null;
OWNER                                                        TABLE_NAME
------------------------------------------------------------ ------------------------------------------------------------
A                                                     B1
A                                                     B2
A                                                     B3

广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员