2

我正在尝试将统计信息从一种模式复制到另一种模式。我使用以下命令,但在 all_tables 视图上的目标模式 num_rows 上保持不变。是否有任何视图可以检查验证统计数据移动的目标架构?

EXEC DBMS_STATS.create_stat_table('DBASCHEMA','STATS_TABLE');
EXEC DBMS_STATS.export_schema_stats('APPSCHEMA','STATS_TABLE',NULL,'DBASCHEMA');
EXEC DBMS_STATS.import_schema_stats('APPSCHEMA','STATS_TABLE',NULL,'DBASCHEMA');
EXEC DBMS_STATS.drop_stat_table('DBASCHEMA','STATS_TABLE');

谢谢你。

4

1 回答 1

2

您正在导出和导入相同的架构。如果要将统计信息从 APPSCHEMA 复制到 DBASCHEMA,这将起作用:

BEGIN
    DBMS_STATS.create_stat_table('DBASCHEMA','STATS_TABLE');
    DBMS_STATS.export_schema_stats('APPSCHEMA','STATS_TABLE',NULL,'DBASCHEMA');

    EXECUTE IMMEDIATE 'UPDATE DBASCHEMA.STATS_TABLE SET c5 = ''DBASCHEMA''';
    COMMIT;

    DBMS_STATS.import_schema_stats('DBASCHEMA','STATS_TABLE');
    DBMS_STATS.drop_stat_table('DBASCHEMA','STATS_TABLE');
end;
/

我将导入更改为使用 DBASCHEMA。正如 My Oracle Support 文档 1430225.1 中所解释的,中间UPDATE的是避免错误所必需的。ORA-20000: no statistics are imported

于 2012-10-16T05:31:42.703 回答