日付がどのように動作するようにしなければならない前に、テーブルには、データの誤用がクリアされているソフトウェアアプリケーションで、現在は2013年8月に、このような午後2時13分時点の、空間を回復したいですか?
これは、この問題を通じて知識の一連のシリーズをトリガすることができます。
1、あなたが戻ってテーブルにオープンフラッシュバックフラッシュを使用することができます。
どのように自分のデータベースを表示するには、フラッシュバックになっていません
フラッシュバック・データベースは、データベースがでなければならないことを要求するアーカイブモード、およびリセットログはデータベースのオープンフラッシュバックした後に使用しなければならない
ビューのデータベースのアーカイブおよびフラッシュバック・モードが有効になっている
。> SELECT log_mode、open_mode、五$データベースからflashback_on SQLを
LOG_MODEのopen_modeのFLASHBACK_ONを
------ ------------- ----------------- -------------------- ----
ARCHIVELOG読み書きNO
FLASHBACK_ONはNOに、それがフラッシュバックが有効になっていない機能を意味します
Oracleデータベースのアーカイブ・モード
Oracle Databaseは、ログは、挿入、削除、更新データとしてデータベースに行われたレコードの変更は、これらの操作は、オンラインREDOログに記録されますされ、オンラインREDOログを持っています。
モード紹介
アーカイブモードまたは非アーカイブモードでは、現在のOracleを表示する方法
1、
selectname、log_mode、五$データベースからopen_mode;
NAMEのLOG_MODEのopen_mode
--------- ------------ ---------------- -
CKDB ARCHIVELOG のREAD WRITE
モードを提出する場合は、LOG_MODE = ARCHIVELOG
非ファイリングモードの場合、LOG_MODE = NOARCHIVELOG
2、
入力:アーカイブログリスト入力し、アーカイブモードかどうかを確認することができます
SQL>アーカイブログのリスト;
データベースのログ・モードはありませんアーカイブモード
自動アーカイブ使用不可
アーカイブ先USE_DB_RECOVERY_FILE_DEST
古いオンライン・ログ順序31
現行のログ順序33
Oracleデータベースはオープンアーカイブでどのように
あなたは、Oracleデータベースのアーカイブ・モードを開けない場合は、悪用のためにそれは悲惨、および復元することは不可能だろう。ここでファイリングモードをオンにする方法オラクルのアーカイブモデルや手法がオンになっているかどうかを確認する方法を説明します。
- オープンアーカイブモード
1>まず、cmdのコマンドウィンドウを開きます。sqlplusを/ SYSDBAのログインデータベースとして
ファイリングモードを確認するために使用される五$データベースから選択log_mode:2>データベースへのログインに成功すると、コマンドを入力します。
3>クエリモードをLOG_見ることができた後は、アーカイブモードアーカイブされていないモードを説明NOARCHIVELOGです
4>通常のシャットダウン即時停止とするか、データベースを閉じます
5>通常は閉じて、データベースを待って
データベースが閉じられた後6>、起動してデータベースを起動すると、マウントデータベースのインスタンスをロードするが、閉じます
7>のコマンドを使用します。データベースのアーカイブログを変更し、ログファイルを開き、データベースのメッセージは、コマンドの実行が成功した後に変更されている返します
全体の動作を完了するために、データベースを開く、開いているデータベースを変更する:8>のコマンドを使用します。
(自動アーカイブを有効にする); 9>システムアーカイブログ開始を変えます
10>出口(出口)
11>アーカイブ・ログを確認してください。最初のステップを繰り返し、次のコマンドを実行しますlog_modeの五$データベースを選択し、実行結果のアーカイブ・ログを参照してください
ので、フルバックアップを実行します。非アーカイブ・ログ・アーカイブモデル用に生成バックアップログモードが使用できなくなっている。このステップは、非非常に重要です!
非アーカイブモードに変更しますアーカイブモード:
チェックOracleは、レコードを削除表示するには、フラッシュバックになっています
、オラクルのフラッシュバック機能がオンになって確認してください
NOに--FLASHBACK_ONを、それがフラッシュバックが有効になっていない機能を意味
log_mode、open_mode、五$データベースからflashback_onを選択します。
ビューの削除レコードオラクル
USER_RECYCLEBINから*を選択します。
上述の困難なプロセスの後に、以下ではフラッシュバックを操作します:
(A)
あなたはフラッシュバックをオンにするとフラッシュバック表を使用することができます。
log_mode、五$データベースからflashback_onを選択し 、
結果はオープニングフラッシュバックを下回っている場合
LOG_MODEのFLASHBACK_ON
------------ ------------------
ARCHIVELOG YES
コマンドを実行することができる
テーブルのテーブルは、行移動を有効に変更; -移動テーブルの行をオン
にフラッシュバックテーブルTO_TIMESTAMPタイムスタンプテーブル('20、130813夜02時○○分00'秒、 『YYYYMMDD HH24:MI:SS』);
-フラッシュバック2013年8月13日の14:00
あなたが開いていない場合は、論理バックアップは、インポートデータにIMPコマンドを使用することができます。
役に立たない論理バックアップ、オープン・アーカイブモードでは、物理的なバックアップをシャットダウンすることができた場合は、データの損失は、それは完全には回復しない使用することができる
Recovery Managerのログインで
Recovery Managerターゲット/
コマンドの実行
RUN {即時シャットダウン、
起動時のマウントを;
(までの時間=」TO_DATEを設定'20、130813 14時00'分00秒、 'YYYYMMDD HH24:MI:SS')「;
データベースの復元、
データベースを回復し、
ALTERオープンデータベースRESETLOGS;}
覚えています!バックアップ、または後悔の問題を作るよりも、より多くの何かを行う前に。
そして、私はあなたがこの問題に対処するためのデータベース管理者に連絡してください示唆しています。
(二)
一つだけのテーブルならば、それは非常に簡単です。
次に例を示します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
SQL>
CREATE
TABLE
test_fb_table (
2 ID
int
,
3 VAL VARCHAR2(10)
4 );
Table
created.
SQL>
INSERT
INTO
test_fb_table
VALUES
(1,
'TEST'
);
1 row created.
SQL>
commit
;
Commit
complete.
假如 数据被错误的删除/更新
需要检索某个时间点上,表原有的数据。
SQL>
SELECT
TO_CHAR(sysdate,
'yyyy-mm-dd hh24:mi:ss'
)
FROM
dual;
TO_CHAR(SYSDATE,
'YYYY-MM-DDHH24:MI:SS'
--------------------------------------
2010-11-07 13:01:37
这里删除掉数据。
SQL>
delete
from
test_fb_table;
1 row deleted.
SQL>
commit
;
Commit
complete.
确认数据已经被删除。
SQL>
select
*
from
test_fb_table;
no
rows
selected
|
1
2
3
4
5
6
7
|
这里检索出,指定时间点上,指定表的数据情况。
SQL>
select
*
from
test_fb_table
2
AS
OF
TIMESTAMP
TO_TIMESTAMP(
'2010-11-07 13:01:37'
,
3
'yyyy-mm-dd hh24:mi:ss'
);
ID VAL
---------- --------------------
1 TEST
|
あなたのために、つまり、あなたがする必要があります
一時テーブルは、CREATE TABLE ASは
データを削除し、あなたのテーブルから選択*
TIMESTAMP TO_TIMESTAMPのもの( '2013年8月13日午前14時○○分00秒'、 ':MI:YYYY-MM-DDのHH24 SS')。
このように、その時点で内部の一時テーブルにコピーし、そのテーブルのデータを入れていました。
それから
INSERT INTOは、あなたの削除されたデータテーブルは、一時テーブルSELECT * FROMこと。
注意:あなたが何のトリガーか何かが存在しない上記のデータテーブルを削除したものを、決定する必要があります。
はい、あなたは再び上のデータ復旧を挿入し、一時的にスワップを無効にする必要があります。
(C)(NO DBA権限)
あなたは持っている場合は、データベースのバックアップをして時点にデータを復元するために、あなたの問題を解決するために、バックアップを記録します。
それ以外の場合は、達成することは不可能です。
あなたがバックアップを持っている場合は、DBAは、新しいデータベースを復元助けるために聞かせて、その後、元のデータベースにこのテーブルからのデータ、あなたをコピーすることができます。
(無許可DBA)(D)
バック表フラッシュバックテーブルにフラッシュを使用する必要がある、あなたが行うことができない、それがDBA見つけます