2012-10-15 22 views
1

我試圖將統計數據從一個模式複製到另一個模式。我使用以下命令,但在all_tables視圖上的目標架構num_rows上保持不變。有什麼看法可以檢查驗證統計信息移動的目標架構嗎?複製優化器統計信息 - Oracle 10g

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'); 

謝謝。

+1

什麼是「後續命令」? – APC

回答

1

您正在導出和導入到相同的模式。如果你想從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所必需的。

+0

謝謝你jonearles。缺少的是更新C5列。 – SWE