dbms_datapump
を使用して、異なるサーバー間でデータをコピーするか、新しいスキーマをすばやくセットアップしています。
ただし、統計のインポートには通常、時間がかかり、インポート後にスキーマ統計がロックされるという欠点もあります。
だから私は統計のインポートをスキップする方法を見つけようとしています。
Metalink Doc ID 1392981.1によれば、これは以下を使用して可能であるはずです。
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_LIST',
value => '''STATISTICS''');
しかし、それを試してみると、「ORA-39001:無効な引数値」エラーが発生します。
また、別の場所にある他のさまざまなフォーマットも試しました。
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_LIST',
value => 'STATISTICS');
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_EXPR',
value => 'like ''%/TABLE/STATISTICS/TABLE_STATISTICS''');
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_EXPR',
value => 'like ''%STATISTICS%''');
しかし、それらはすべて、ORA-39001で戻ります。
私が使用しているバージョンは次のとおりです。
Oracle Database 11g Enterprise Editionリリース11.2.0.4.0-64ビット本番
オペレーティングシステムはWindowsサーバーですが、これはLinuxインストールでも発生します。
DBMS_DATAPUMP
APIを使用してインポート(またはエクスポート)中に統計をスキップする方法はありますか?
使用する必要があります:
DBMS_DATAPUMP.METADATA_FILTER(l_job_handle,
'EXCLUDE_PATH_EXPR',
'IN (''STATISTICS'')');