Oracle
Direct Seminar
Oracle
Direct Seminar
【
Pl ti
列伝セミナ 】
【
Platinum列伝セミナー】
Pl ti
が語る
!
Platinumが語る !
現場から学ぶバックアップ
&リカバリの極意
2010年3月30日
株式会社富士通北陸システムズ
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
富士通北陸システムズ(FJH)について
富士通北陸システムズ(FJH)について
ORACLE MASTER Platinum AWARD 受賞!
オラクルデータベース認定資格制度 オラクルデ タベ ス認定資格制度
ORACLE MASTERの最高峰である、 ORACLE MASTER Platinum
Oracle Database 10g 資格 得者数 年連続 国内 資格取得者数 2年連続 国内NO.1 (2009/9 発表)
富士通グル プを代表するオラクルデ タベ スプロフ
シ ナル集団
富士通グループを代表するオラクルデータベースプロフェッショナル集団
独自ソリューションの提供、DBを中心としたインフラ全体の設計/構築、 製品サポート、DB関連製品開発など多方面でビジネス展開 製品サポ ト、DB関連製品開発など多方面でビジネス展開講師自己紹介
講師自己紹介
氏名
齋藤 拓哉(サイトウ タクヤ)
ORACLE MASTER Platinum Oracle Database 10g (2008年4月取得)
業務経歴
業務経歴
2005年 株式会社富士通北陸システムズ入社。
入社当初よりオラクル関連業務に従事。
ORACLE DATABASEバックアップリカバリ用ソフト
ORACLE DATABASEバックアップリカバリ用ソフト
Recovery Manager for Oracleの開発を担当。
現在はそこで培った技術を元に、 Oracle Database
を含むインフラ全般のフィ ルドSEを担当している
を含むインフラ全般のフィールドSEを担当している。
取得 得たも
Platinum取得で得たもの
お客様からの信頼や期待が大きくなったことを実感。
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
Agenda
Agenda
現場から学ぶバ クア プ&リカバリの極意
y
現場から学ぶバックアップ&リカバリの極意
–バックアップ編
カバ 編
–リカバリ編
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
バックアップ編
バックアップ編
y
推奨バックアップ構成
バ クア プが必要ないフ イルは?
y
バックアップが必要ないファイルは?
y
全データファイルを取得する時間がない!?
y
オンラインバックアップの影響
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
推奨バックアップ構成
推奨バックアップ構成
ARCHIVEログモード + オンラインバックアップ
ARCHIVEログモ ド + オンラインバックアップ
もしくは RMAN
・システムを停止しなくてもバックアップが可能
・障害発生直前までリカバリすることが可能
・リカバリ時の選択肢(回復方法 回復ポイント)が豊富
リカバリ時の選択肢(回復方法、回復ポイント)が豊富
バックアップが必要ないファイルは?
バックアップが必要ないファイルは?
運用スケジュール上、全ファイルをバックアップする時間がない。
バ ク
プを省略 きる
イ
は
バックアップを省略できるファイルは?
・オンラインREDOログ
オンライン
グ
ARCHIVEログモード - ログスイッチ後、アーカイブログをバックアップ NOARCHIVEログモード - RESETLOGSで復旧可能 ※不用意なリストアにより最新デ タが失われる場合も ※不用意なリストアにより最新データが失われる場合も・ローカル管理の一時表領域
V$TEMPFILEで確認できる一時ファイルはバックアップ不要ALTER TABLESPACE ADD TEMPFILE で復旧可能 (復旧時間も早い)
・読取り専用表領域(変更時に一回のみ)
読取り専用に変更した時に、一回のみバックアップを取得しておく
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
全データファイルを取得する時間がない!!
全デ タファイルを取得する時間がな
・1週間かけてバックアップを分散する
(アーカイブモード)
火 水 木 金 曜日 日 月 火 水 木 金 土 対象 表領域A アーカイブ ログ 表領域B アーカイブ ログ 表領域C アーカイブ ログ 表領域D アーカイブ ログ 表領域E アーカイブ ログ 表領域F アーカイブ ログ 表領域G アーカイブ ログ ログ ログ ログ ログ ログ ログ ログ データ ファイル A B C B D F E G アーカイ ブログ 35 36 37 38 39 40 41 42 43 44 45 46 47 48・ストレージ装置の高速コピー機能
コピー命令は即時に復帰、バックアップは瞬時に完了オンラインバックアップの影響
オンラインバックアップの影響
オンラインバックアップ時には何が起きている?
オ ラ
ック ッ 時
何
起
る
・データファイルヘッダのチェックポイントSCN固定
・データファイルヘッダのチェックポイントSCN固定
・データブロックへの書込みは継続
・更新される毎にデータファイルのブロックコピーを
REDOログファイルに追記
REDOログファイルに追記
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
オンラインバックアップ中の内部動作
オンライン
ックアップ中の内部動作
更新SQL発行
/ /②ブロック更新
INSERT/UPDATE/DELETE①REDO生成
②ブロック更新
※チェンジベクタ バッファキャッシュブロックの変更内容
+
※チェンジベクタ (アドレス、SCN、 オペレーションなど) データファイル 38 DataFile更新前の
ブロックコピー
REDOログオンライン
バックアップ
ブロックコピー
※DB_BLOCK_SIZE単位 2KB/4KB/8KB/16KB/32KB オンラインバックアップ中の更新が多いと REDOログファイルへのブロックコピ のモードの場合
REDOログファイルへのブロックコピーの 格納量が増加しREDOログのI/Oが増大 ※1バイトの更新でも数KB単位で REDOログファイルの書込が発生 REDOログファイルの書込が発生REDOログファイルのI/O増加を防ぐには
REDO グファイルのI/O増加を防ぐには
・更新の少ない時間帯にバックアップを取得する
・データファイルのコピーが完了した表領域は
・デ タファイルのコピ が完了した表領域は
すぐにオンラインバックアップモードを解除する
ALTER TABLESPACE SYSTEM BEGIN BACKUP; !cp system01.dbf /backup
ALTER TABLESPACE SYSTEM END BACKUP; ALTER TABLESPACE UNDOTBS BEGIN BACKUP;
○
表領域毎に
Begin/Endを実施
ALTER TABLESPACE UNDOTBS BEGIN BACKUP; !cp undotbs01.dbf /backup
ALTER TABLESPACE UNDOTBS END BACKUP; ALTER TABLESPACE SYSTEM BEGIN BACKUP; ALTER TABLESPACE UNDOTBS BEGIN BACKUP; !cp system01.dbf /backup
×
全ての表領域で
Begin/Endを実施
!cp undotbs01.dbf /backup
ALTER TABLESPACE SYSTEM END BACKUP; ALTER TABLESPACE UNDOTBS END BACKUP;
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
y
リカバリの基本
y
リカバリの基本
y
ケーススタディ
– CASE.1 ASM構成のディスクグループが存在しない状態構成 ィ クグ 存在 状態 でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリy
<付録>
– CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? – CASE.8 ACTIVE状態のREDOログが破損すると・・・ バ プが 在 バ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE.11 ORA-1578:ブロック障害が発生!リカバリの基本
リカバリの基本
・障害発生ファイルの特定
エラーメッセージ、アラートログ等から障害発生箇所を特定する・リストアの必要性を判断
障害の発生状況、一時表領域、読取専用表領域などを見極める 障害の発生状況、 時表領域、読取専用表領域などを見極める・リカバリ方針の決定(完全/不完全)
障害の発生状況 バ クア プ/ア カイブログの存在状況から 障害の発生状況、バックアップ/アーカイブログの存在状況から 完全回復か不完全回復かを決定するリカバリ実施後の影響を考慮
・リカバリ実施後の影響を考慮
不完全回復などのリカバリを実施した後の影響を把握する (スタンバイDBの再作成など)・リストア/リカバリ実施
バックアップをリストアし リカバリを実施するCopyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
バックアップをリストアし、リカバリを実施する
リカバリが必要なケース
リカバリが必要なケ ス
・SCNの不整合が発生した場合
場
※SCN(System Change[Commit] Number)
内部で変更状態を管理するタイムスタンプのようなもの REDOログ、制御ファイル、各データファイルに格納
・ファイルが破損した場合
バックアップファイルをリストアした場合、そのファイルの SCNが過去に戻るため、他のファイルとSCNの不整合が 発生することになるリカバリとはSCNの不整合を修復する作業
リカバリとはSCNの不整合を修復する作業
リカバリの基本動作
リカバリの基本動作
DataFile1 [SCN]①リストア
②SCNの不整合が発生
⇒ リカバリが必要!
データファイル DataFile3 DataFile2 DataFile2障害発生
DataFile3 オンラインリカバリルートを確立する
36 37 38 REDOログ アーカイブログ③リカバリ
31 32 35 36 37 ・・・・・・ ア イ グ 30Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
リカバリの基本動作
④SCNの
致
リカバリの基本動作
④SCNの一致
⇒ リカバリ完了
DataFile1 [SCN]①リストア
②SCNの不整合が発生
⇒ リカバリが必要!
データファイル DataFile3 DataFile2 DataFile2 DataFile3 オンラインリカバリルートを確立する
36 37 38 REDOログ アーカイブログ③リカバリ
31 32 ・・・・・・ 35 36 37 ア イ グ 30リカバリ不可能な場合
リカバリ不可能な場合
DataFile1 [SCN]Ⅰ. バックアップの欠落
バックアップ データファイル DataFile3 DataFile2 DataFile3 オンラインこのルートが寸断されると
リカバリは不可能
36 37 38 REDOログ アーカイブログⅢ. REDOログの欠落
(未アーカイブ) 31 32 35 36 ・・・・・・ 30Ⅱ. アーカイブログの欠落
(未ア カイブ)Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CURRENT状態のREDOログが重要な理由
CURRENT状態のREDOログが重要な理由
・運用中はチェックポイントSCNと 最新SCNにギャップが存在 バッファキャッシュ [SCN] 最新SCNチェックポイントSCN
最新SCNにギャップが存在・
チェックポイントの実行時に デ タフ イルのSCNが増加 [SCN] DataFile1 データ ファイル データファイルのSCNが増加 ・データファイル+バッファキャッシュで 最新デ タの整合性を保証 DataFile2 最新データの整合性を保証 ・バッファキャッシュが失われた場合、 REDOログからのみリカバリ可能 SCNの ギャップ 37 38 オンライン REDOログ REDOログからのみリカバリ可能 ・完全回復には CURRENT状態のREDOログが必要 CURRENT INACTIVE CURRENT状態のREDOログが必要 ログスイッチ 稼動中の データベース グ イッチ データベースRECOVERコマンドによる動作の違い
RECOVERコマンドによる動作の違い
バックアップSCN
ターゲットSCN
[SCN] オンラインREDOログリストア
完全回復 36 37 38 DataFile2オンラインREDOログ RECOVER DATABASE
RECOVER DATABASE 不完全回復 35 36 37 ・・・・・・ 30 RECOVER DATABASE
USING BACKUP CONTROLFILE UNTIL CANCEL/TIME/CHANGE
アーカイブログ
RECOVERコマンドの違いによってリカバリルートが異なる
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
リカバリの概念(完全回復)
リカバリの概念(完全回復)
ターゲットSCN
バックアップSCN
DataFile1 [SCN]①リストア
DataFile2障害発生
DataFile3 DataFile2 データファイル オンライン DataFile3 デ タファイル②リカバリルート決定
36 37 38 REDOログ アーカイブログ②リカバリル ト決定
RECOVER DATABASE 31 32 ・・・・・・ 35 36 37 ア イ グ 30リカバリの概念(完全回復)
リカバリの概念(完全回復)
ターゲットSCN
バックアップSCN
[SCN]完全回復
DataFile1①リストア
DataFile2 DataFile2 DataFile3 DataFile2 データファイル オンライン DataFile3 デ タファイル③リカバリ
②リカバリルート決定
36 37 38 REDOログ アーカイブログ②リカバリル ト決定
RECOVER DATABASE 31 32 35 36 37 ・・・・・・ ア イ グ 30Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
リカバリの概念(不完全回復)
リカバリの概念(不完全回復)
ターゲットSCN
バックアップSCN
DataFile1 [SCN] DataFile1①リストア
DataFile2 DataFile3 DataFile2 DataFile3 DataFile3 データファイル障害発生
デ タファイル②リカバリルート決定
RECOVER DATABASE 36 37 38 オンライン REDOログ アーカイブログ障害発
35 RECOVER DATABASE UNTIL CANCEL 31 32 ・・・・・・ 35 36 37 30リカバリの概念(不完全回復)
リカバリの概念(不完全回復)
ターゲットSCN
バックアップSCN
[SCN] DataFile1 DataFile1不完全回復
①リストア
③リカバリ
DataFile2 DataFile2 DataFile3 DataFile3 データファイルデ タファイル②リカバリルート決定
RECOVER DATABASE④RESETLOGS
38 オンライン REDOログ アーカイブログ RECOVER DATABASE UNTIL CANCEL 1 31 32 35 36 37 ・・・・・・ 30Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
デ
クグ
プがな 状態
カバ
–CASE.1 ASMディスクグループがない状態でのリカバリエラー
–CASE.2 ローカル管理の一時表領域のリカバリ
y <付録>録 – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 – CASE 5CASE.5 オンラインバックアップ中の障害オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! CASE 11 ORA 1578 ブロック障害が発生! – CASE.11 ORA-1578:ブロック障害が発生!Oracle ASM(
Automatic Storage Management
)とは
Oracle ASM(
Automatic Storage Management
)とは
y
Oracle データベースファイルを管理するための
ボリューム・マネージャ
y
ASMによる利点
・可用性の向上
・可用性の向上
:ミラーリングの機能を実装
パフォ マンスの向上
・パフォーマンスの向上
:ストライピングの機能を実装
管理の容易性の向上
・管理の容易性の向上
:DISK配置を意識しないデータベースの作成が可能
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
Oracle ASM(
Automatic Storage Management
)とは
Oracle ASM(
Automatic Storage Management
)とは
y
ASMではディスク・グループ管理用のインスタン
を
成す
があ
スを作成する必要がある
データベースインスタンス
ASM用インスタンス
データベースインスタンス
ASM用インスタンス
ディスクを使用する
ディスクを管理する
ディスク・グループ1
ディスク・グループ2
<CASE.1 ASM構成のディスクグループが存在
しない状態でのリカバリエラー>
<事象>
ASM構成でのデータベースでファイル破損が発生。
発生事例:
☆☆☆
データベースリカバリを試みたが、「ORA-19870」等のエラーにより、
リカバリが失敗してしまった。
<原因>
<原因>
①ASMインスタンスが未起動でディスク・グループが認識できない。
もしくは
もしくは
②ASMディスクグループ自体が破壊されたため、
RMANにより取得したバックアップファイルのリストア先が見つからない。
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.1
ASMディスクグループがない状態での
CASE.1
ASMディスクグル プがない状態での
リストアエラー
制御ファイルリストア開始 制御ファイルリストア開始
RMAN> restore controlfile; :
ORA-19870: error reading backup
/ora01/arch_log/ctl/backupset/backup_ctl.2vkh5dmh_1_1 ORA-19504: failed to create file "+DG_REDO/ora01/control01.ctl"
ORA-17502: ksfdcre:3 Failed to create file +DG_REDO/ora01/control01.ctl ORA-15001: diskgroup "DG_REDO" does not exist or is not mounted ORA-15077: could not locate ASM instance serving a required diskgroup failover to previous backup
CASE.1
ASMディスクグループがない状態での
CASE.1
ASMディスクグル プがない状態での
リストアエラー
<対処方法>
<対処方法>
ASMインスタンスの起動状態を確認し、停止していれば起動する。
ASMインスタンスの状態確認 $ crs stat t $ crs_stat –t 名前 型 ター...ト 状態 ホスト ---ora....ra01.db application OFFLINE OFFLINEora....11.inst application OFFLINE OFFLINE ora....11.inst application OFFLINE OFFLINE ora....12.inst application OFFLINE OFFLINE
ora....SM1.asm application OFFLINE OFFLINE
ora....1P.lsnr application ONLINE ONLINE racsv1 ora....n1p.gsd application ONLINE ONLINE racsv1 1 li ti ONLINE ONLINE 1 ora....n1p.ons application ONLINE ONLINE racsv1 ora....n1p.vip application ONLINE ONLINE racsv1
ora....SM2.asm application OFFLINE OFFLINE
ora....2P.lsnr application ONLINE ONLINE racsv2 ora....n2p.gsd application ONLINE ONLINE racsv2 ora....n2p.gsd application ONLINE ONLINE racsv2 ora....n2p.ons application ONLINE ONLINE racsv2 ora....n2p.vip application ONLINE ONLINE racsv2
ASMインスタンスの起動
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
ASMインスタンスの起動
$ srvctl start asm -n racsv1
CASE.1
ASMディスクグループがない状態での
CASE.1
ASMディスクグル プがない状態での
リストアエラー
ASMインスタンスの起動してもリストアに失敗する場合 ASMインスタンスの起動してもリストアに失敗する場合 ⇒ASMディスクグループ自体が破損しています。この場合、ASMディスクグループを再作成します。
この場合、ASMディスクグル プを再作成します。
ASMディスクグループの再作成 $ export ORACLE_SID=+ASM1$ sqlplus / as sysdba ←ASMインスタンスに接続
$ q p y 接続
SQL> create diskgroup DG_CTL external redundancy disk '/dev/raw/raw4'; ディスク・グループが作成されました。
リストア実行
RMAN> restore controlfile; : が restoreが完了しました(完了時間: 2009/10/08-16:26:47) ★注意★ デ スクグル プ破損時に備えて デ スクグル プ作成 ンドは予め準備 ディスクグループ破損時に備えて、ディスクグループ作成コマンドは予め準備
<CASE 2 ロ カル管理の
時表領域のリカバリ>
<CASE.2 ローカル管理の一時表領域のリカバリ>
<事象>
発生事例:
☆☆
データベースは正常にオープンするがアラートログには「ORA-01110」等
が出力されている。
また、大量ソート処理がエラーとなる。
<原因>
ローカル管理の一時表領域に障害が発生しています。
ローカル管理の一時表領域の障害の場合、データベースは正常に
起動できるため、ディスクソートを行うような処理をしない限り、通常は
破損に気づくことがない
破損に気づくことがない。
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE 2 ロ カル管理の
時表領域のリカバリ
CASE.2 ローカル管理の一時表領域のリカバリ
<出力エラー例(alert.log)>
Errors in file /oralog/db/log/bdump/xxxx lgwr 17890.trc:/ g/ / g/ p/ _ g _ ORA-01110: ???????1025: '/oradata/db/dbf/temp01.dbf'
:
<データディクショナリビューの検索エラー例>
SQL> select * from dba_temp_files; :
ORA-01187: cannot read from file 1025 because it failed verification tests ORA-01110: data file 1025: '/psc/goge/db/dbf/temp01 dbf'
ORA 01110: data file 1025: /psc/goge/db/dbf/temp01.dbf
<対処>
リストア/リカバリは必要ありません!!
<対処>
テンポラリファイルの再作成を行う。
テンポラリファイルの再作成
SQL> alter database tempfile '/oradata/db/dbf/temp01 dbf' drop; SQL> alter database tempfile /oradata/db/dbf/temp01.dbf drop; データベースが変更されました。
SQL> alter tablespace TEMP add tempfile '/oradata/db/dbf/temp01.dbf' size 1024M reuse ;
reuse ;
まとめ
まとめ
y
ARCHIVEモード+オンラインバックアップ/RMAN
SCNの不整合を修復するためにリカバリが必要
y
SCNの不整合を修復するためにリカバリが必要
y
障害状況を把握しリストア/リカバリの必要性を判断
y
バックアップから、アーカイブログ、オンラインREDO
を経由するリカバリルートを確立する
リカバリ成功の鍵となるのは
リカバリ成功の鍵となるのは...
・バックアップファイル、アーカイブログの管理
適切な カバ 手
選択 実行
・適切なリカバリ手順の選択/実行
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
さいごに
さいごに
FJHでは、お客様のご要望にかなう様々なソリューションを
ご用意しています。
ご用意しています。
オラクルのことなら、すべてご相談ください!
オラクルの
なら、す
て 相談くださ
<主な提供ソリューション> ト タ リ シ デ ザ タリカバリ リ シ ・トータルDBソリューション ・ディザスタリカバリ・ソリューション ・バックアップリカバリ・ソリューション ・ブレード・ソリューション ・DBマイグレーション for Oracle ・DBセキュリティ・ソリューション ・RACソリューションRACソリュ ション ・RDBORDBO etc…etc…株式会社 富士通北陸システムズ
株式会社 富士通北陸システムズ
データベースソリューション事業本部
URL : http://jp.fujitsu.com/group/fjh/services/p jp j g p j mailto : [email protected]
All Rights Reserved, Copyright (C) FUJITSU HOKURIKU SYSTEMS LIMITED 2009
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生! – CASE.11 ORA 1578:ブロック障害が発生!<CASE 3 時刻のズレによるリカバリ失敗>
<CASE.3 時刻のズレによるリカバリ失敗>
<事象>
発生事例:
☆☆☆
RAC構成でのデータベースで重要なテーブルを削除してしまった。
対象テーブルが削除される前の時間を指定してリカバリを試みたが、
「ORA-01547」等のエラーにより、リカバリが失敗。
<原因>
RACを構成するノード間で時刻同期が取れていなかったこと。
時間指定でのデータベースリカバリを行う際は、必ず全サーバで時刻同期
が取れている状態で実施する必要がある。
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.3 時刻のズレによるリカバリ失敗
時刻のズレによるリカ
リ失敗
時間指定リカバリ開始
RMAN> run {
RMAN> set until time '2009/09/30-09:00:00';/ / RMAN> restore database;
RMAN> crosscheck archivelog all;
RMAN> recover database delete archivelog , check readonly; RMAN> sql 'alter database open resetlogs';
RMAN> sql alter database open resetlogs ; RMAN> }
:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA 01195: online backup of file 1 needs more recovery to be consistent
ORA-01195: online backup of file 1 needs more recovery to be consistent ORA-01110: data file 1: '/dev/raw/raw126'
エラー発生!どうすればいいの?
ラ 発
うすれば
<対処方法>
リカバリエラー発生時は ログ順序番号を指定したリカバリを再実行
リカバリエラ 発生時は、ログ順序番号を指定したリカバリを再実行
RAC環境でのバックアップリカバリは、NTPサーバを利用する等で
全ノードの時刻同期が取れている状態で運用を行いましょう
<CASE 4 ア カイブ出力タイミングによる失敗>
<CASE.4 アーカイブ出力タイミングによる失敗>
<事象>
発生事例:
☆☆☆
RAC構成でのデータベースで全障害が発生。
カレントREDOログも破壊されているため、アーカイブログ出力時点までの
ログ順序番号指定でリカバリを実施したが、必要なログが見つからない旨
のエラーで失敗。
<原因>
各
ド
グにおける
カイブ出力タイミ グ
ずれを
RACの各スレッドのREDOログにおけるアーカイブ出力タイミングのずれを
考慮したリカバリポイント(ログ順序番号)を指定してなかった。
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生! – CASE.11 ORA 1578:ブロック障害が発生!CASE.4 アーカイブ出力タイミングによる失敗
ア カイブ出力タイミングによる失敗
リストア/リカバリ開始
RMAN> run {
RMAN> set until logseq 30 thread 1;q RMAN> restore database;
RMAN> recover database delete archivelog , check readonly; RMAN> }
・・・
RMAN-03002: failure of recover command at 09/30/2009 09:28:33
RMAN-06054: media recovery requesting unknown log: thread 2 seq 30 lowscn 1342039
エラ 発生!なんで?
エラー発生!なんで?
リカバリポイント
27
28
29
30
時間
×
破損スレッド1
×
破損27
28
29
30
×
破損スレッド2
スレッド1/アーカイブ29までリカバリするには、 スレッド2/アーカイブ30のログが一部必要!!Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
カレントREDO アーカイブREDO
CASE.4 アーカイブ出力タイミングによる失敗
<対処>
発生したエラ で出力されているメッセ ジを確認し 正しいスレッド番号
C S
ア カイブ出力タイミングによる失敗
発生したエラーで出力されているメッセージを確認し、正しいスレッド番号
とログ順序番号で再度リカバリを再実行。
出力エラーメッセージRMAN-06054: media recovery requesting unknown log: thread 2 seq 30 lowscn 1342039
リストア/リカバリ実行
RMAN> run {
RMAN> set until logseq 30 thread 2; RMAN> restore database;
RMAN> recover database delete archivelog , check readonly; RMAN> }
エラーメッセージ通りに指定
}・・・
メディア・リカバリが完了しました。経過時間: 00:02:02 recoverが完了しました(完了時間: 20090930093733) recoverが完了しました(完了時間 20090930093733)現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生!Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
– CASE.11 ORA 1578:ブロック障害が発生!
<CASE 5 オンラインバックアップ中の障害>
<CASE.5 オンラインバックアップ中の障害>
<事象>
発生事例:
☆☆☆
夜間のオンラインバックアップ実行中にCPU障害によりマシンが停止した。
CPU交換後、OSは起動したがOracle起動時にORA-1113が発生。
<原因>
オンラインバックアップ中は、対象データファイルヘッダのチェックポイント
SCNが固定される
他のデータファイルとSCNの不整合が発生しているため、リカバリが必要
と判断され 「ORA-1113:メディアリカバリが必要です」 が発生する
CASE.5 オンラインバックアップ中の障害
CASE.5 オンラインバックアップ中の障害
オンラインバックアップ開始
SQL> ALTER TABLESPACE USERS BEGIN BACKUP;
★インスタンスダウン(ハード障害、shutdown abort等) Oracle起動 SQL> STARTUP SQL> STARTUP ・・・ データベースがマウントされました。 ORA-01113: ファイル5はメディア・リカバリが必要です ORA-01110: データ・ファイル5: ‘E:¥ORACLE¥ORADATA¥TARGET¥USERS01 DBF' ORA 01110: デ タ ファイル5: E:¥ORACLE¥ORADATA¥TARGET¥USERS01.DBF チェックポイントSCN確認 SQL> SELECT FILE#,STATUS,RECOVER,FUZZY,CHECKPOINT_CHANGE# 2 FROM V$DATAFILE HEADER;
2 FROM V$DATAFILE_HEADER;
FILE# STATUS REC FUZ CHECKPOINT_CHANGE# --- --- --- --- ---・・・
リストア/リカバリは
必要なの??
・・・ 3 ONLINE NO YES 180715 4 ONLINE NO YES 180715SCNの
5 ONLINE NO YES 180658★不整合
要
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.5 オンラインバックアップ中の障害
CASE.5 オンラインバックアップ中の障害
リストア/リカバリは必要ありません!!
<対処>
バックアップモ ドを確認し ALTER DATABASE END BACKUPを実行する
バックアップモードを確認し ALTER DATABASE END BACKUPを実行する。
バックアップモード確認
SQL> SELECT * FROM V$BACKUP;
FILE# STATUS CHANGE# TIME FILE# STATUS CHANGE# TIME
--- --- --- ---・・・ 5 ACTIVE 180658 2007-11-11 15:50:35
バ クア プモ ド解除 バックアップモード解除
SQL> ALTER DATABASE DATAFILE 5 END BACKUP; または
SQL> ALTER DATABASE END BACKUP; (9i~)
バックアップモード再確認
FILE# STATUS CHANGE# TIME
--- --- --- ---・・・ 5 NOT ACTIVE 180658 2007-11-11 15:50:35
データベース起動
SQL> ALTER DATABASE OPEN
recover databaseでも回復可能だが、 アーカイブログの適用が必要になり
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生!Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
– CASE.11 ORA 1578:ブロック障害が発生!
<CASE 6 ファイルコピ 中の起動(Windows)>
<CASE.6 ファイルコピー中の起動(Windows)>
<事象>
オ
イ バ ク
プ実行中
ジ
り
が起動され
発生事例:
☆☆☆
オフラインバックアップ実行中にスケジューラによりOracleが起動されて
しまった。オープンは出来たが運用中にORA-1122、ORA-1208が発生し
アクセス不可能になった。再起動を行うとORA-1113が発生。
<原因>
Windowsのファイルコピー(COPY、XCOPY等)は対象ファイルのコピー中
に書込み不可のロックをかける
に書込み不可のロックをかける
Oracleも起動時にファイルにロックをかけようとするがアクセス拒否され、
最終的に他のデータファイルとSCNのギャップが発生する
最終的に他のデータファイルとSCNのギャップが発生する
CASE.6 ファイルコピー中の起動(Windows)
CASE.6 ファイルコピ 中の起動(Windows)
ファイルコピー開始
C:¥> COPY E:¥ORACLE¥ORADATA¥TARGET¥SYSTEM01.DBF F:¥BACKUP
ファイルコピー中にOracle起動 SQL> STARTUP ・・・ データベースがマウントされました。 デ タベ スがマウントされました。 データベースがオープンされました。 アラートログ確認
ORA 01110: data file 1: E:¥ORACLE¥ORADATA¥TARGET¥SYSTEM01 DBF' ORA-01110: data file 1: E:¥ORACLE¥ORADATA¥TARGET¥SYSTEM01.DBF ORA-01114: IO error writing block to file 1 (block # 1)
ORA-27072: skgfdisp: I/O error
OSD-04008: WriteFile()エラー ファイルへの書込みができません OSD 04008: WriteFile()エラー。ファイルへの書込みができません。 O/S-Error: (OS 5) アクセスが拒否されました。 ★SYSTEM表領域の場合インスタンスダウン(チェックポイント実行時) ★SYSTEM表領域の場合インスタンスダウン(チェックポイント実行時) ★ユーザ表領域の場合Oracleが自動的にファイルをオフラインに
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.6 ファイルコピー中の起動(Windows)
CASE.6 ファイルコピ 中の起動(Windows)
Oracle再起動 SQL> STARTUP ・・・ データベースがマウントされました。 ORA-01113: ファイル1はメディア・リカバリが必要です ORA-01110: データ・ファイル1: ‘E:¥ORACLE¥ORADATA¥TARGET¥SYSTEM01.DBF' チェックポイントSCN確認 SQL> SELECT FILE#,STATUS,RECOVER,FUZZY,CHECKPOINT_CHANGE# 2 FROM V$DATAFILE_HEADER;FILE# STATUS REC FUZ CHECKPOINT CHANGE# FILE# STATUS REC FUZ CHECKPOINT_CHANGE# --- --- --- --- ---1 ONLINE YES NO 203980
★SCNの不整合
2 ONLINE NO YES 203981 2 ONLINE NO YES 203981 3 ONLINE NO YES 203981リストアは必要なの??
リストアは必要なの??
CASE 6 ファイルコピー中の起動(Windows)
CASE.6 ファイルコピ 中の起動(Windows)
リストアは必要ありません!!
<対処>
オンラインREDOログを確認し RECOVER DATABASEを実行する
オンラインREDOログを確認し RECOVER DATABASEを実行する。
オンラインREDOログの最小SCN
SQL> SELECT MIN(FIRST_CHANGE#) FROM V$LOG; MIN(FIRST CHANGE#) MIN(FIRST_CHANGE#) ---180713 < ORA-1113が発生するファイルのSCN(
203980
)
カバ 実行( な )オ
グ
カバ
能
リカバリ実行(リストアなし) SQL> RECOVER DATABASE; メディア・リカバリが完了しました。オンラインREDOログのみでリカバリ可能
チェックポイントSCN確認FILE# STATUS REC FUZ CHECKPOINT_CHANGE# --- --- --- ---
---1 ONLINE NO NO 205710
SCNが一致
1 ONLINE NO NO 205710
SCNが
致
2 ONLINE NO NO 205710
データベース起動
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
SQL> ALTER DATABASE OPEN;
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生! – CASE.11 ORA 1578:ブロック障害が発生!データファイルが自動的にOFFLINEに!?
デ タファイルが自動的にOFFLINEに!?
<CASE.7 OracleがファイルをOFFLINEに>
<事象>
データファイルが破損したためリストア後、RECOVER DATABASEを実行し、
発生事例:
☆☆
データベースは起動出来たが ORA-376(
ファイルを読み込むことはできません。)が
発生し、テーブルにアクセスできない。
原因
<原因>
Oracleがデータファイルを自動的にOFFLINEに設定したため。
OFFLINEのデ タフ イルは RECOVER DATABASE マンドでは復旧する
OFFLINEのデータファイルは、RECOVER DATABASEコマンドでは復旧する
ことができない。
また、オープン時にもOFFLINEファイルの整合性チェックは行わないため、
エラ 出力もされない
エラー出力もされない。
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.7 OracleがファイルをOFFLINEに
CASE.7 OracleがファイルをOFFLINEに
<出力エラー例(alert.log)>
ORA-01171:
datafile 5 going offline
due to error advancing checkpoint ORA-01116: error in opening database file 5ORA-01110: data file 5: 'E:¥ORACLE¥ORADATA¥TARGET¥USERS01.DBF' ORA-27041: unable to open file
OSD-04002: ファイルをオープンできません
O/S-Error: (OS 21) デバイスの準備ができていません。 KCF: write/open error block=0x15 online=1 file=2
E:¥ORACLE¥ORADATA¥TARGET¥UNDOTBS01.DBF
error=27072 txt: ‘OSD-04008: WriteFile()に失敗しました。 ファイルへの書込みができません O/S-Error: (OS 33) プロセスはファイルにアクセスできません。
別のプロセスがファイルの 部をロックしています ‘ 別のプロセスがファイルの一部をロックしています。
Automatic datafile offline
due to write error on file 2: E:¥ORACLE¥ORADATA¥TARGET¥UNDOTBS01.DBFCASE.7 OracleがファイルをOFFLINEに
CASE.7 OracleがファイルをOFFLINEに
<対処>
RECOVER DATABASEを実行する前に データファイルをONLINEにする
RECOVER DATABASEを実行する前に、デ タファイルをONLINEにする。
Oracle起動
SQL> STARTUP MOUNT ・・・
データベースがマウントされました。
データファイルヘッダのSTATUS確認
SQL> SELECT FILE# STATUS RECOVER FUZZY CHECKPOINT CHANGE# SQL> SELECT FILE#,STATUS,RECOVER,FUZZY,CHECKPOINT_CHANGE#
2 FROM V$DATAFILE_HEADER;
FILE# STATUS REC FUZ CHECKPOINT_CHANGE# --- --- --- --- ---1 ONLINE NO YES ---197092
2 OFFLINE YES 195533
★
3 ONLINE NO YES 197092
OFFLINE状態
3 ONLINE NO YES 197092
OFFLINE状態
4 ONLINE NO YES 197092
5 OFFLINE YES 195533
★
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.7 OracleがファイルをOFFLINEに
CASE.7 OracleがファイルをOFFLINEに
データファイルのONLINE
SQL> ALTER DATABASE DATAFILE 2,5 ONLINE;Q > , データベースが変更されました。
データファイルヘッダのSTATUS確認
FILE# STATUS REC FUZ CHECKPOINT CHANGE# FILE# STATUS REC FUZ CHECKPOINT_CHANGE# --- --- --- --- ---1 ONLINE NO YES ---197092
2 ONLINE YES 195533
★
3 ONLINE NO YES 197092
ONLINE状態
3 ONLINE NO YES 197092
ONLINE状態
4 ONLINE NO YES 197092 5 ONLINE YES 195533
★
リカバリ実行 リカバリ実行 SQL> RECOVER DATABASE; メディア・リカバリが完了しました。 デ タベ 起動 データベース起動SQL> ALTER DATABASE OPEN; データベースが変更されました。
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生!Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
– CASE.11 ORA 1578:ブロック障害が発生!
ACTIVE状態のREDOログが破損すると・・・
ACTIVE状態のREDO グが破損すると
<CASE.8 ACTIVE状態のREDOログが破損>
<事象>
CURRENTではないオンラインREDOログが破損した。
発生事例:
☆
リカバリ手順として、CURRENT以外のREDOログの場合は再作成
(ALTER DATABASE CLEAR LOGFILE)で復旧できると聞いていたが、
「ORA-1624: クラッシュ・リカバリに必要です。」が発生し復旧できない。
<原因>
破損したオンラインREDOログがACTIVE状態のため
ACTIVE状態のREDOログは、CURRENTではないがクリアすることは
できない
ACTIVE状態のREDOログ
最新SCNチェックポイントSCN
・ログスイッチ時にはデータファイルの SCNは増加しない(Oracle 8i ~) [SCN] DataFile1 データ ファイル (ゼロプライオリティチェックポイント) ・チェックポイントが完了していない グは 状態 DataFile2 REDOログはACTIVE状態 ・ACTIVEなREDOログはクリアできない (CURRENTと同じ扱い) 37 38 オンライン REDOログ (CURRENTと同じ扱い) ・ACTIVE状態でもアーカイブログは 作成されている(CURRENTと異なる点) 37 38 REDOログ CURRENT ACTIVE 作成されている(CURRENTと異なる点) ・ACTIVEなREDOログが破損した場合 不完全回復(RESETLOGS)が必要 ログスイッチ 不完全回復(RESETLOGS)が必要 ログスイッチ 37 アーカイブ ログ 稼動中の データベースCopyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
37 データベース
CASE.8 ACTIVE状態のREDOログが破損
CASE.8 ACTIVE状態のREDO グが破損
ターゲットSCN
バックアップSCN
DataFile1 [SCN]①リストア
DataFile2 DataFile3 DataFile2 データファイル障害発生
オンライン DataFile3 デ タファイル障害発生
36 37 38 REDOログ アーカイブログ②リカバリルート決定
31 32 ・・・・・・ 35 36 37 ア イ グ 30CASE.8 ACTIVE状態のREDOログが破損
CASE.8 ACTIVE状態のREDO グが破損
ターゲットSCN
バックアップSCN
[SCN]不完全回復
(デ タ損失なし) DataFile1①リストア
DataFile2 DataFile2 (データ損失なし) DataFile3 DataFile2 データファイル オンライン DataFile3 デ タファイル③リカバリ
④RESETLOGS
36 37 38 REDOログ アーカイブログ②リカバリルート決定
31 32 35 36 37 ・・・・・・ ア イ グ 30Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.8 ACTIVE状態のREDOログが破損
CASE.8 ACTIVE状態のREDO グが破損
<対処>
不完全回復ベースで アーカイブログ CURRENTのREDOログを適用する
不完全回復ベ スで、ア カイブログ、CURRENTのREDOログを適用する。
データファイル2のリストア CP … Oracle起動 SQL> STARTUP MOUNT ・・・ デ タベ が ウ されま た データベースがマウントされました。 オンラインREDOログのSTATUS確認SQL> SELECT GROUP#, SEQUENCE#, ARCHIVED, STATUS FROM V$LOG; GROUP# SEQUENCE# ARC STATUS
--- --- ---
---1 ---17 YES ACTIVE ★破損★破損 2 18 NO CURRENT
CASE.8 ACTIVE状態のREDOログが破損
CASE.8 ACTIVE状態のREDO グが破損
不完全回復実行
SQL> RECOVER DATABASE UNTIL CANCEL
SQL> RECOVER DATABASE UNTIL CANCEL
アーカイブ適用(ACTIVE状態のREDOに対応)
ORA-00289:
検討すべきログ
ファイル
検討すべきログ・ファイル
:E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET_00017.ARC
ORA-00280: 変更198817 (スレッド1)は順序番号17に存在します。
E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET 00017.ARC ← <入力>
E ¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET_00017.ARC
<入力>
CURRENT REDOログの適用
ORA-00289:
検討すべきログ
ファイル
検討すべきログ・ファイル
:E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET_00018.ARC
ORA-00280: 変更232695 (スレッド1)は順序番号18に存在します。
E:¥ORACLE¥ORADATA¥TARGET¥REDO02.LOG ← <入力>
入力
データベース起動(RESETLOGS)SQL> ALTER DATABASE OPEN RESETLOGS;
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生! – CASE.11 ORA 1578:ブロック障害が発生!バックアップが存在しないファイルのリカバリ
ックアップが存在しな ファイルのリカ
リ
<CASE.9 ファイルのバックアップがない!!>
<事象>
システムが稼動して一年後、表領域/データファイルを追加したが、
発生事例:
☆
運用中にデータファイルが破損してしまった。リカバリを実施しようと
したが、追加したデータファイルのバックアップが存在していなかった。
原因
<原因>
・バックアップファイルも破損してしまった
バ クア プツ ルやバ クア プ用シ ルスクリプトの修正を忘れて
・バックアップツールやバックアップ用シェルスクリプトの修正を忘れて
いた
リカバリは不可能なの??
リ
リ
不可能な
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE.9 ファイルのバックアップがない!!
C S 9 ファイルの
ックアップがない
リカバリ可能な場合があります!!
<対処>
CREATE DATAFILEで空のファイルを作成し ア カイブログを適用する
CREATE DATAFILEで空のファイルを作成し、アーカイブログを適用する。
データファイル破損ORA-01122: database file 6 failed verification check
ORA 01110: d t fil 6: 'E:¥ORACLE¥ORADATA¥TARGET¥USERS201 DBF' ORA-01110: data file 6: E:¥ORACLE¥ORADATA¥TARGET¥USERS201.DBF
★リストアしようと思ったがデータファイルのバックアップがない!! 表領域をオフライン
表領域をオフライン
SQL> ALTER TABLESPACE USERS2 OFFLINE IMMEDIATE;
空のデータファイルを再作成
SQL> ALTER DATABASE CREATE DATAFILE 6 SQL> ALTER DATABASE CREATE DATAFILE 6
AS 'E:¥ORACLE¥ORADATA¥TARGET¥USERS201.DBF';
元ファイル作成時の情報
SQL> SELECT FILE#,CHANGE#,TIME FROM V$RECOVER_FILE; FILE# CHANGE# TIME
--- --- ---6 198744 2007-11-17 19:53:21
CASE.9 ファイルのバックアップがない!!
C S 9 ファイルの
ックアップがない
リカバリ可能な場合があります!!
リカバリに必要なアーカイブログの確認リカバリに必要なア カイブ グの確認
SQL> SELECT ARCHIVE_NAME FROM V$RECOVERY_LOG; ARCHIVE_NAME ---E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET 00006 ARC E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET_00006.ARC E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET_00007.ARC E:¥ORACLE¥ADMIN¥TARGET¥ARCHIVE¥TARGET_00008.ARC …
表示されたアーカイブ
リカバリ実施SQL> RECOVER TABLESPACE USERS2; … ログが適用されました
表示されたア カイブ
が全て存在していれ
ばリカバリが可能!
ログが適用されました。 メディア・リカバリが完了しました。 表領域をオンラインSQL> ALTER TABLESPACE USERS2 ONLINE; SQL> ALTER TABLESPACE USERS2 ONLINE;
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生! – CASE.11 ORA 1578:ブロック障害が発生!NOARCHIVEでも完全回復が可能!
NOARCHIVEでも完全回復が可能!
<CASE.10 NOARCHIVEモードの完全回復>
<事象>
NOARCHIVEモードで運用中にデータファイルの破損が発生した。
発生事例:
☆
出来れば最新データを復旧したい。
<対処>
ド もあきらめな
NOARCHIVEモードでもあきらめない
バックアップ取得タイミングとオンラインREDOログの状態によっては、
最新データを復旧できる場合がある
・NOARCHIVEはアーカイブログが出力されないだけ
・オンラインREDOログでリカバリルートが確立出来れば
オンライン
グでリカ
リル トが確立出来れば
完全回復が可能!
Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE 10 NOARCHIVEモードの完全回復
ターゲットSCN
バックアップSCN
CASE.10 NOARCHIVEモ ドの完全回復
DataFile1 [SCN]①リストア
DataFile1 DataFile2 DataFile2障害発生
通常はアーカイブログがないため
オ イ DataFile3 データファイルリカバリルート確立不可能
36 37 38 オンライン REDOログ ブ グ ・・・・・・ アーカイブログCASE 10 NOARCHIVEモードの完全回復
ターゲットSCN
バックアップSCN
CASE.10 NOARCHIVEモ ドの完全回復
DataFile1 [SCN]①リストア
完全回復
バックアップを取得してから
障害発生までの期間が短い場合
DataFile1 DataFile2 DataFile2障害発生
完全回復
障害発生までの期間が短い場合
オ イ DataFile3 データファイルオンラインREDOログがあれば
リカバリルートが確立できる!
36 37 38 オンライン REDOログ ブ グ ・・・・・・ アーカイブログCopyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE 10 NOARCHIVEモードの完全回復
ターゲットSCN
バックアップSCN
CASE.10 NOARCHIVEモ ドの完全回復
DataFile1 [SCN]完全回復
①リストア
オンラインREDOログのサイズが大きい
または、グループ数が多い場合
DataFile1 DataFile2障害発生
完全回復
DataFile2または、グル プ数が多い場合
オ イ DataFile3 データファイルオンラインREDOログがあれば
リカバリルートが確立できる!
30 38 オンライン REDOログ ブ グ 31 32 ・・・・・・ 35 36 37 ・・・・・・ アーカイブログ現場から学ぶバックアップ・リカバリの極意
現場から学ぶバックアップ リカバリの極意
y
リカバリ編
リカバリの基本
y
リカバリの基本
y
ケーススタディ
構成 デ グ プが存在 な 状態 – CASE.1 ASM構成のディスクグループが存在しない状態 – でのリカバリエラー – CASE.2 ローカル管理の一時表領域のリカバリ 付録 y <付録> – CASE.3 RAC構成:時刻のズレによるリカバリ失敗 – CASE.4 RAC構成:アーカイブ出力タイミングによる失敗 CASE 5 オンラインバックアップ中の障害 – CASE.5 オンラインバックアップ中の障害 – CASE.6 ファイルコピー中の起動 – CASE.7 データファイルが自動的にOFFLINEに!? CASE 8 ACTIVE状態のREDOログが破損すると・・・ – CASE.8 ACTIVE状態のREDOログが破損すると・・・ – CASE.9 バックアップが存在しないファイルのリカバリ – CASE.10 NOARCHIVEでも完全回復が可能! – CASE 11 ORA-1578:ブロック障害が発生!Copyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
– CASE.11 ORA 1578:ブロック障害が発生!
ORA-1578:ブロック障害が発生!
<CASE.11 ORA-1578:ブロック障害>
<事象>
運用中にORA-1578:ブロック障害が発生し特定のデータにアクセスが
発生事例:
☆ ☆ ☆
できなくなってしまった。
<原因>
ブ
ク構造
妥
性
ク 失敗 たため
Oracleブロック構造の妥当性チェックに失敗したため
メモリ破損、ディスク破損に伴い発生する場合がある
<対処>
<対処>
・オブジェクトを再作成し、ExportデータのImportやSQL*Loaderで修復
・破損ブロックをスキップ(一部データはロスト)
バックアップファイルからリカバリ
・バックアップファイルからリカバリ
リカバリはどうすればよい??
CASE 11 ORA-1578:ブロック障害
CASE.11 ORA 1578:ブロック障害
バックアップSCN
最新SCN
[SCN] DataFile1 データファイル①データファイル
リストア
通常のバックアップ構成
DataFile2ブロック障害
DataFile2リストア
オンライン③リカバリ
36 37 38 アーカイブログ②リカバリルート決定
REDOログ 31 32 35 36 37 ・・・・・・ ア イ グCopyright © FUJITSU HOKURIKU SYSTEMS LIMITED, 2010. All rights reserved.
CASE 11 ORA-1578:ブロック障害
CASE.11 ORA 1578:ブロック障害
バックアップSCN
最新SCN
[SCN] DataFile1 データファイル①特定ブロック
のみリストア
RMANのBMR : 9i /10g EE
(Block Media Recovery)
DataFile2