Oracleインスタンスの解析削除で誤ってテーブルデータを削除した後に回復する方法

WBOY
リリース: 2022-07-25 20:18:22
転載
2979 人が閲覧しました

この記事では、Oracle に関する関連知識を提供します。Oracle データを使用しているときに、テーブル内のデータが誤って削除され、送信されてしまいました。以下は、Oracle 削除エラーについてです。この情報が役立つことを願っています。テーブルデータを削除した後に復元する方法について皆さんに教えてください。

Oracleインスタンスの解析削除で誤ってテーブルデータを削除した後に回復する方法

推奨チュートリアル: 「

Oracle ビデオ チュートリアル

##時間に基づいた復元

#この方法では、delete ステートメントが実行される時刻を大まかに知る必要があります。

現在のシステム時刻をクエリします:

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from Dual;

現在が 2022 であると仮定します。 -04- 02 16:27:11 分、削除ステートメント

デモから削除が実行されました;


この時点で、データはテーブル内でクエリを実行することはできません。削除の実行時間がわかっているので、1 分進めて (削除の実行時間は前でもかまいませんが、小さいほど良いです。この例では例として 1 分を使用します)、次のステートメント

select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');
ログイン後にコピー

# を実行します。

##現在のデモ テーブルにはデータがありませんが、1 分前のデモ テーブルからデータをクエリできることがわかります。

リカバリ 1: 現時点では、plsql ツールのクエリ結果のエクスポート機能を使用して SQL ファイルをエクスポートし、SQL ファイル内の挿入ステートメントを再実行してデータをリカバリできます。

リカバリ 2: データ リカバリのために次の SQL を実行します:

flashback table DEMO to timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');
ログイン後にコピー

エラーが報告された場合 ORA-08189: 行移動機能が有効になっていないため、テーブルをフラッシュ バックできません

実行:

alter table DEMO enable row movement;
ログイン後にコピー

表の行移動関数を追加した後、リカバリのためにフラッシュバック文を実行します

エラーが報告された場合: ORA-08194: マテリアライズされた表ではフラッシュバック表操作は許可されていませんビューを作成し、次にテーブルのリカバリで説明するように新しい一時テーブルを作成します。

リカバリ 3 (新しい一時テーブル):

新しいデモ 1 テーブルを作成し、復元する必要があるデータを挿入します。

create table DEMO1 as select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:30:11',‘yyyy-mm-dd hh24:mi:ss');
ログイン後にコピー

デモ 1 テーブルのデータをデモ テーブル

insert into DEMO select * from DEMO1 where not exists (select * from DEMO where DEMO.id=DEMO1.id);
ログイン後にコピー

リカバリ 4 (scn に基づいて復元):

現在の scn 番号をクエリ

select current_scn from v$database;
ログイン後にコピー

scn 番号を次のように減らします。データを削除するまで確認してください。

select * from DEMO as of scn 166937913;
ログイン後にコピー
適切な scn 番号を使用して、データ回復のための SQL ステートメントを実行します。

flashback table DEMO to scn 166937913;
ログイン後にコピー

推奨チュートリアル: "

Oracle ビデオ チュートリアル

"

以上がOracleインスタンスの解析削除で誤ってテーブルデータを削除した後に回復する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!