「Oracleのデータを復元する」の編集履歴(バックアップ)一覧はこちら
Oracleのデータを復元する - (2007/11/21 (水) 15:29:32) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
***フラッシュリカバリ領域
フラッシュリカバリ領域は、バックアップファイルやアーカイブログファイルを格納する場所です。
Database Controlでは、「メンテナンス」タブ→「バックアップ/リカバリ」リージョンの「リカバリ設定の構成」リンクから構成できます
***NOARCHIVELOGモードとARCHIVELOGモード
Oracleデータベースは、
・NOARCHIVELOGモード
・ARCHIVELOGモード
のいずれかで運用できます。
|&bold(){NOARCHIVELOGモード}|&bold(){ARCHIVELOGモード}|
|バックアップ時、データベースを停止する必要がある |バックアップ時、データベースがオープンしていてもよい|
|同じタイミングで取得したデータベース全体のバックアップが必要(一貫性バックアップ) |個々のデータファイル、表領域単位で取得したバックアップでよい(非一貫性バックアップ)|
|データファイルに障害が発生した場合、バックアップ全体をリストアする必要がある |データファイルに障害が発生した場合、障害が発生したファイルのみリストアすればよい|
|アーカイブログファイルを適用するリカバリができない。 |アーカイブログファイルを適用するリカバリができる。アーカイブログファイルを失うとリカバリできなくなるため、適切な管理が必要|
ARCHIVELOG モードへの変更は、
Database Controlでは「メンテナンス」タブ→「バックアップ/リカバリ」リージョンの「リカバリ設定の構成」リンクから行えます。
&u(){アーカイブログファイルの保存先はデフォルトではフラッシュリカバリ領域になっていますが、最大10カ所を指定できます}
***一貫性バックアップと非一貫性バックアップ
バックアップには、
・一貫性バックアップ
・非一貫性バックアップ
があります。
|&bold(){一貫性バックアップ(完全バックアップ) }|&bold(){非一貫性バックアップ(部分バックアップ)}|
|インスタンスが停止した状態でバックアップ |データベースがオープンしている状態でバックアップ|
|REDOログファイル内のすべての変更が適用済み|データファイルに適用されていない変更がREDOログファイル、アーカイブログファイルに含まれる|
|リストア操作直後にデータベースをオープンできる|リストア操作後、リカバリ操作を行う必要がある|
|NOARCHIVELOGモードでは、一貫性バックアップのみ有効です。| ARCHIVELOGモードでは、一貫性バックアップと非一貫性バックアップの両方を使用することができます。|
***完全リカバリとPoint-in-Timeリカバリ
リカバリの基本的な流れはREDOログレコードを適用するロールフォワードとUNDOデータを適用するロールバックで構成されます。
ロールフォワードによって変更が適用されると、COMMITされたデータだけでなく、COMMITされていないデータも適用されてしまいます。そのため、ロールフォワード中にUNDOデータを再構築し、UNDOデータを使用してCOMMITされていないものをロールバックします。
リカバリには、
・完全リカバリ
・Point-in-Time(不完全)リカバリがあります。
|&bold(){完全リカバリ}|&bold(){Point-in-Time(不完全リカバリ)}|
|アーカイブログファイルとREDOログファイルに含まれるすべての変更を適用する|データファイルをバックアップした後の任意の時点までのアーカイブログファイル、REDOログファイルに含まれる変更を適用する|
|障害発生直前のCOMMITされた状態に回復する|指定した時点の状態に回復する|
|NOARCHIVELOGモードでは、一貫性バックアップをすべてリストアします。|ARCHIVELOGモードでは、完全リカバリとPoint-in-Timeリカバリを使用できます。|
***フラッシュバックドロップとフラッシュバックテーブル
Oracleデータベースでは、次のようなフラッシュバック操作が提供され、過去の特定の時点に戻ることが可能です。
|フラッシュバック問い合わせ|ある時間を指定して問い合わせを実行し、その時点で表示されるはずの問い合わせ結果を表示する|
|行履歴フラッシュバック|指定した2つの時点の間で生成されたすべてのバージョンのデータを表示|
|トランザクション履歴フラッシュバック |トランザクションによって行われた変更を戻すためのSQL文を表示する|
|フラッシュバックテーブル |表を指定した時点の状態に戻す|
|フラッシュバックドロップ|削除された表を戻す|
|フラッシュバックデータベース |データベース全体を指定した時点の状態に戻す|
試験ではフラッシュバックドロップとフラッシュバックテーブルに注意しましょう。
Oracle Database 10gで表を削除すると、関連する索引、制約、データベーストリガーは元の表領域内にリネームされた状態で残されています。これをごみ箱に置かれた状態といいます。ごみ箱から元に戻すことをフラッシュバックドロップといいます。
ごみ箱からパージを行うと表内のすべての行が削除され、データディクショナリから定義が削除されます。表に作成された索引も同時に削除されます(ビューは自動的に削除されません)。
フラッシュバックテーブルではUNDOデータを使用し、1つ以上の表を特定の時点の状態に戻すことができます。特定の時点の状態を判断するために、フラッシュバック問い合わせ、行履歴フラッシュバック、トランザクション履歴フラッシュバックなどを活用します。
実行には、行の移動が有効であることなどの条件があります。
表示オプション
横に並べて表示:
変化行の前後のみ表示: