Oracleデータベースのバックアップと4文の違いの回復を回復4文差の[復刻版] Oracleバックアップおよびリカバリのデータベースを回復

オラクル4文差のデータベースのバックアップの回復を回復

 

HTTPS://がwww.cnblogs.com/andy6/p/5925433.html 

について学ぶ必要があります。

 

1バックアップ制御を使用してデータベースを回復する
キャンセルするまで2は、データベースを回復する
3キャンセルされるまで、バックアップ制御ファイルを使用してデータベースを回復します。
4バックアップ制御ファイルを使用してキャンセルされるまでデータベースを回復します。

このホワイトペーパーでは、次の4つを説明し 、復元 方法の違いを意味します:
 
1.バックアップ制御ファイルを使用してデータベースを回復

 現行の制御ファイルが失われた場合、冷たい バックアップ 伝えるために使用された場合、制御ファイルの回復、 Oracleは 、SCNの回復の終わりとしてCONTROLFILEしないでください。
 
キャンセルするまで2.データベースを回復
 
手動でエンドポイントを指定して、あなたの現在のアクティブ/ REDOを紛失した場合。
 
3.キャンセルするまでバックアップ制御を使用してデータベースを回復します。
 
 あなたが失われ、あなたの現行の制御および現在のすべてのアクティブ/ REDOを紛失した場合、それはあなたが最大の回復を達成することができ、自動的に行くアーカイブ・ログを適用します。
 
バックアップ制御ファイルを使用してキャンセルするまで4.データベースを回復します。
 
 あなたは現行の制御および現在のアクティブ/ REDOを紛失した場合、すべての仕上げを復元するために、古いSCNをやり直す失いました。何のアプリケーションアーカイブログが存在しないので、すべてのデータが失われます。 
制御ファイルのデータベースを復旧、バックアップを使用して理解するために、まず理解ケースCONTROLFILEバックアップを使用せずに、つまり、データベースを回復します。
通常では、データベースを回復するか、表領域を回復し、データファイルを復元する場合、Oracleは、現在のSCN制御ファイルの件名を記録し、REDOログおよびアーカイブREDOログエントリを使用し、SCNの「現行の制御レコードに関連するデータ・ファイル・ブロックを復元します"
そして、いくつかの例では、Oracleは制御ファイルにデータをリストアする必要がある現在のレコードSCNは、位置(例えば、制御ファイルがバックアップ制御され、または制御ファイルのベースとなって作成しトレースします。)この時間に依存するよりも、我々は必要バックアップ制御ファイルを使用して。リカバリー「現行の制御は、記録SCN」の制限によって影響されることはありません。この時間制限は、(SCNまで、時間まで)あなたの文から来る、または使用可能なアーカイブ・ログ(キャンセルされるまで)されます...

結果は以下の通りである:
制御ファイルが欠落している場合、バックアップ制御ファイルをリストアし、あなたが使用してバックアップCONTROLFILEオプションを使用する必要があります。そして、キャンセルされるまで、リストアが終了した後、すなわち、現在のアクティブ/ REDOがアーカイブデータベースからファイルを紛失したり、行方不明、完全には回復しません。

結論:
1、古い制御ファイルを復元するために適用され、アーカイブログおよびcuurrent /アクティブのREDO全てがケースを失っていません。すべてのアーカイブ・ログとオンラインが無傷でログインした場合は、データを失うことができません。同様のデータベースを復旧
(制御ファイルが古い復元する必要はありません)2、現在失われていない制御ファイルを、ログ・ファイルやケースを失った現在/アクティブなログがあり、それが終了されます。可能な最大データ復旧
3,4:私は、Oracle 10.2.0.4環境試験効果で午前は、システムは、アプリケーション制御ファイルのバックアップを促すメッセージが表示されますその瞬間制御ファイルのバックアップを復元した後、古い制御ファイルを復元するために、すなわち同じですアーカイブ・ログ、場合は、停止しません。データの最大可能回復。

 

古いデータベースのバックアップ、アーカイブ・ログとオンライン・ログが状況下で、すべてそのままを保存する場合の結果は、使用してデータベースを回復したり、バックアップ制御を使用してデータベースを回復し、描画することができます。データの損失
がある場合に、バックアップ・データ・ファイルでは、アーカイブ・ログをリストアしていない、またはオンラインジャーナルは(アクティブ、現在の)状況が失われ、あなたが不足している、以前のログファイルに復元することができます

 

キャンセルがするまでだけで完全には回復しない
ALTER DATABASE OPEN RESETLOGSを必要と
するデータベースは完全バックアップを実行するために理解するためのオープンが必要になった後

 

オンラインログファイルが不足しています:

通常のデータベース、起動時にエラーの場合:

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效


SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

 

https://www.cnblogs.com/andy6/p/5925433.html

需要学习一下. 

 

1  recover database using backup controlfile
2  recover database until cancel
3  recover database using backup controlfile until cancel;
4  recover database until cancel using backup controlfile;

本文主要介绍以下四种 恢复方式的含义与区别:
 
1. recover database using backup controlfile

 如果丢失当前控制文件,用冷 备份的控制文件恢复的时候,用来告诉 oracle,不要以controlfile中的scn作为恢复的终点;
 
2. recover database until cancel
 
如果丢失current/active redo的时候,手动指定终点。
 
3. recover database using backup controlfile until cancel;
 
 如果丢失当前controlfile并且current/active redo都丢失,会先去自动应用归档日志,可以实现最大的恢复;
 
4. recover database until cancel using backup controlfile;
 
 如果丢失当前controlfile并且current/active redo都丢失,以旧的redo中的scn为恢复终点。因为没有应用归档日志,所有会丢失数据。 
要理解recover database using backup controlfile,先理解 recover database,也就是说,不加using backup controlfile的情况。
在普通的recover database 或者 recover tablespace, recover datafile时, Oracle会以当前controlfile所纪录的SCN为准,利用archive log和 redo log的redo entry, 把相关的datafile 的 block恢复到“当前controlfile所纪录的SCN”
而某些情况下,Oracle需要把数据恢复到比当前controlfile所纪录的SCN还要靠后的位置(比如说,control file是backup controlfile , 或者 controlfile是根据trace create的。),这时候,就需要用using backup controlfile.   恢复就不会受“当前controlfile所记录的SCN”的限制。这时候的限制就来自于你的语句(until time , until scn),或者可用的archive log(until cancel) ...

结果如下:
如果控制文件丢失,restore备份的控制文件后,则必须使用using backup controlfile选项。而until cancel则是不完全恢复,即current/active redo丢失,或者从restore数据库后某个归档文件缺失,则终止。

结论:
1、适用于restore旧的控制文件,且归档日志和cuurrent/active redo都没有丢失情况。如果一切归档日志和在线日志完好,可以不丢失数据。类似于recover database
2、当前控制文件未丢失(不需要restore旧的控制文件),此时有归档日志或者current/active log有丢失情况下,则终止。最大可能恢复数据
3、4:我在oracle 10.2.0.4环境下测试效果是相同的,即适用于restore旧的控制文件,在恢复到控制文件备份那刻后,系统会提示应用控制文件备份后的归档日志,如果没有则停止。也是最大可能的恢复数据。

 

可以得出结果,如果有旧的数据库备份,在归档日志和在线日志全部保存完好的情况下,使用recover database或recover database using backup controlfile。则不丢失数据
如果存在备份数据文件restore后,归档日志或者在线日志(active、current)丢失情况下,则可以恢复到丢失的前一个归档日志

 

until cancel就是不完全恢复
需要alter database open resetlogs
数据库打开后需要理解做一个全库备份

 

在线日志文件丢失:

如果正常关闭数据库,然后启动时报错:

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效


SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

おすすめ

転載: www.cnblogs.com/jinanxiaolaohu/p/10967994.html