2

常にオンラインである必要があるグローバルインデックスを持つパーティションテーブルからデータをエクスポートする必要がありますが、それを行うのに問題があります。データのエクスポートには、Data Pump Export --expdpを使用しており、1つのパーティションのみをエクスポートしています。アクティブなものではなく、最も古いもの。

私のexpdpコマンドは正しいデータをエクスポートし、次のようになります。

expdp user/pass@SID DIRECTORY=EXP_DIR 
DUMPFILE=part23.dmp TABLES=SCHEMA_NAME.TABLE_NAME:TABLE_PARTITION_23`

データベースを使用するアプリケーションの接続タイムアウトは10秒です。このパラメーターは変更できません。INSERTクエリが10秒以内に終了しない場合、データはバックアップファイルに書き込まれます。

私の問題は、数分間続くエクスポートプロセス中に、一部のデータがデータベースではなくバックアップファイルに保存されることです。理由を知りたいのですが、避けたいです。

パーティションは毎週整理されており、4つのパーティションをアクティブにしています(過去4週間)。すべてのパーティションは最大3GBです。

Oracle11.2を使用しています

4

1 に答える 1

1

AWR を使用するライセンスはありますか? その場合、タイムアウトが発生したときのスナップショットの AWR レポートはありますか?

Oracle リーダーはライターをブロックせず、エクスポート プロセスが新しい挿入に影響を与えるものをロックする理由はありません。

これは、タイムアウトが 10 秒の単一の INSERT 操作ですか (つまり、単一の INSERT ステートメントで多数の行を挿入していますか)? それとも、これは個々の挿入のバッチで、挿入の一部は 10 秒のウィンドウで成功し、一部は失敗する可能性がありますか? 「一部のデータは最終的にバックアップ ファイルに保存される」とおっしゃっていますが、どちらのシナリオがより正確かはわかりません。

通常の操作中に、10 秒のタイムアウトにどれくらい近づいていますか?

システムが I/O バウンドで、エクスポートを実行すると I/O システムの負荷が増加し、すべての操作が遅くなる可能性はありますか? I/O のボトルネックがあり、3 GB のパーティションを読み取ってそのデータをディスク (おそらくデータベース サーバーにも) に書き込む必要があるエクスポート プロセスを追加すると、全体的な速度低下が確実に発生する可能性があります。すでに 10 秒のタイムアウトにかなり近づいている場合は、確実に限界を超えている可能性があります。

于 2011-07-01T19:55:54.507 に答える