2022年8月29日月曜日

誤って削除したアプリケーションを回復する

 誤ってアプリケーションを削除してしまっても、削除したアプリケーションと同じIDのアプリケーションを作成した後に、過去のアプリケーションをエクスポート/インポートすると、削除したアプリケーションを回復することができます。

例えば、アプリケーションIDが102のアプリケーションパラメータ付きレポートを誤って削除してしまった状況を考えます。

アプリケーションが削除されると、アプリケーションを開くことができないためエクスポートの機能も呼び出せません。

ワークスペース・ユーティリティのエクスポートを開きます。

エクスポートする対象としてアプリケーションを選択します。

削除されたアプリケーションは選択リストに含まれないため、エクスポートできません。

そこで、アプリケーション作成ウィザードを起動し、アプリケーションID102(回復するアプリケーションのアプリケーションIDと同じ)のアプリケーションを作成します。アプリケーションの名前はなんでも構いませんが、回復するアプリケーションも含めて、他のアプリケーションとは異なる名前(英数字が望ましい)にします。今回の例ではdummyです。

アプリケーションが作成されたら、エクスポートを実行します。

現在から○○分前の指定として、削除されたアプリケーションが確実に存在していた時刻となる分を設定します。以下の例では20分としています。

エクスポートを実行します。

ファイルがエクスポートされます。続けて、エクスポートされたファイルをインポートします。


インポートを実行し、エクスポートされたファイルを選択します。


予めエクスポートされたファイルを確認しアプリケーション名に間違いがなければ、次のアプリケーションとしてインストールに、エクスポート・ファイルからアプリケーションID 102を再利用を選びます。確信が持てない場合は、新規アプリケーションIDを自動割当てを選んで、一旦別アプリケーションとしてインポートします。


アプリケーションを置き換える場合は、アプリケーションの置換を行う確認が求められます。表示されているメッセージに、置き換えられるアプリケーションの名前置き換えるアプリケーションの名前が表示されるので(置き換えるアプリケーションの名前はUnicodeそのままなのでわかりにくいですが)、それぞれ間違いが無いことを確認します。


インポートが完了すると、削除してしまったアプリケーションが回復していることが確認できます。


削除したデータが回復できるのはデータベースの初期化パラメータundo_retentionに依存します。設定値を確認し、その期間内にエクスポート作業を実施する必要があります。

残念なことにundo_retentionが有効な期間内にエクスポートができなかった場合は、直近の変更までを回復する方法はありません。その場合は、自動的にバックアップされているアプリケーションより、最近のアプリケーションを回復します。

ワークスペース・ユーティリティバックアップの管理を開きます。


リストア対象のアプリケーションを開きます。


アクションからリストアを実行します。


次のアプリケーションとしてインストールRestore Application ID 102を選択ます。

アプリケーションのリストアを実行します。


直近ではありませんが、これで最近のバックアップより削除されたアプリケーションを回復することができます。