Datapumpを用いたインポート・エクスポートの停止方法

Views: 2877

データベースのデータ移動やデータ復元に用いられる事が多いDatapump

うちの職場でも環境間のデータ移送やデータバックアップ、リカバリに
に活用しています。

このDatapump、とても便利なツールなのですが、たまに暴走します。
StreamsPoolが不足したために、待機して動かなくなったり、
インデックス作成処理がLibraryCacheLockで終わらなくなったり、
振り回されることもしばしばなんですよね。

しかし、DataPumpを今すぐ止めたいというシチュエーションに遭遇した時の
止め方が特殊です。

Datapump停止手順

1.ジョブ名の確認
まずはDBA権限を持つユーザでDatapumpが動いているデータベースに
接続しましょう。

そこで以下のコマンドを実行します。

SELECT ✳︎ FROM DBA_DATAPUMP_JOBS;

このコマンドで接続先データベースにて実行中のDatapumpのジョブ一覧
が参照できます。

この時の検索結果にJOB_NAMEという項目があり、ここに
ジョブ名が表示されています。
一旦、ジョブ名をメモってください。

Windows前提でお話しします
2.データベースが稼働しているサーバにて、コマンドプロンプトを起動し、
以下のコマンドを実行します。

Impdp DBAユーザ名/パスワード attach=ジョブ所有ユーザ名.ジョブ名

このコマンドを実行すると、Datapumpジョブにattachされます
attachの概念がよくわかりませんが、ジョブの中に乗り込む、
でコントロールできる権限を取得する、みたいな感じ?

3.KILL_JOBでジョブの息の根を止める。

以上の操作で、平和的にDatapumpを停止する事ができます。

セッションをkillしただけで止めた気分になっていると、
あとでえらい目にあいますので、確実な停止をお願いします。

ちなみに、上記手順でも停止させることができないことが
たまにあります。
そういう場合は、Datapumpのマスター表というものがあるので
そいつをDropすれば後腐れなく停止させる事ができますのでご安心を。

スポンサーリンク
test
test

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
test