データベース -> ORACLE -> リストア


リストア例

想定

 _______
 | Arc |
 | 346 |
 -------
  * Arc xxx の値は 順序番号(SEQUENCE#)
    SELECT * FROM V$ARCHIVED_LOG; で確認。
    REDOログのSEQUENCE# 値は V$LOG で確認。
    
  リカバリ時のアーカイブログファイル名を指定された場合に使用する。
    0000000346_xxxxxxxx_0001.arc
    

バックアップ運用
  毎日 23:00 にデータベースのコールドバックアップを取得する。
   * データベース (データファイル *.dbf / 制御ファイル *.ctl / REDOログ *.log)
  故障発生時、前日夜間 1/20 23:00 のバックアップをリストア対象とする。

故障発生
  1/21 13:00 DISK障害により データベースが復旧不能になった。

リカバリ想定
  最後にアーカイブされたのは 12:00 である為 12:00から13:00 間の
  データは消滅する。
  * REDOログが壊れていない場合は故障時直前までの復旧が可能

  最終アーカイブ取得時  1/21 12:00 の状態に復旧させる。
  手順:
    前日のバックアップファイルからデータベースをリストアする。上図@
    リカバリ処理により、アーカイブログ Aを使用する。
    リカバリ処理により、アーカイブログ Bを使用する。

リカバリ手順

Oracle停止

oracle$ lsnrctl stop
oracle$

SQL> SHUTDOWN IMMEDIATE
SQL>

データフィル・制御ファイル・REDOログのリストア


バックアップファイル
/backup/Backup_ORCL_20110120.tar.gz

データファイルの上位ディレクトリへ移動
$ cd /opt/oradata

データファイルディレクトリを削除する。
$ rm -rf ORCL

バックアップファイルからのリストア
バックアップに含まれるのは(*.dbf *.ctl *.log)
アーカイブログは含まれない。
$ gzip -dc /backup/Backup_ORCL_20110120.tar.gz | tar xf -



アーカイブログによるリカバリ


SQL> CONN /AS SYSDBA
アイドル・インスタンスに接続しました。

SQL> STARTUP MOUNT
ORACLEインスタンスが起動しました。

Total System Global Area xxxxxxx bytes
Fixed Size                 xxxxx bytes
Variable Size             xxxxxx bytes
Database Buffers         xxxxxxx bytes
Redo Buffers              xxxxxx bytes
データベースがマウントされました。
SQL>
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE;
ORA-00279 変更xxxxxxxx(05/09/2011 12:12:12で生成)にはスレッド1が必要です
ORA-00289
検討すべきログ・ファイル:/opt/oracle/oraarch/TKDB/0000000345_xxxxxxxx_0001.arc
ORA-00280: 変更xxxxxxx(スレッド1)は順序番号345に存在します。

ログの指定: {<RET>=suggested | filename | AUTO | CANCEL}
 * バックアップしておいたアーカイブログファイルを指定する
/backup/oraarch/TKDB/0000000345_xxxxxxxx_0001.arc
ORA-00279 変更xxxxxxxx(05/09/2011 18:30:30で生成)にはスレッド1が必要です
ORA-00289
検討すべきログ・ファイル:/opt/oracle/oraarch/TKDB/0000000346_xxxxxxxx_0001.arc
ORA-00280: 変更xxxxxxx(スレッド1)は順序番号346に存在します。
ORA-00278:
ログ・ファイル '/backup/oraarch/TKDB/0000000345_xxxxxxxx_0001.arc' は
このリカバリでは必要なくなりました

ログの指定: {<RET>=suggested | filename | AUTO | CANCEL}
* バックアップしておいたアーカイブログファイルを指定する 2つめ
/backup/oraarch/TKDB/0000000346_xxxxxxxx_0001.arc
ログが適用されました。
メディア・リカバリが完了しました。
SQL>

SQL> ALTER DATABASE OPEN RESETLOGS;

データベースが変更されました。

SQL> QUIT


先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google