データベースORA-01196の故障-アーカイブログの損失回復の詳細
8816 ワード
問題:
機械室の停電のため、その中の一つのDGの備蓄庫がopenできなくなり、時報が間違って起動されました。
データベースタイムズの下のエラーを起動します。
ORA-1058:standby database requiresrecovery ORA-01196:ファイル1は、メディア回復セッションの失敗によりORA-01110と食い違っています。データファイル1:'+DATA/httb 7/datafile/system.13.8849245'。
アーカイブログの応用状況を調べたら、一部のログが適用されていないことが分かりました。
他の準備庫やメインライブラリの上からこの在庫がなくなったアーカイブログを手動で転送してからオープン操作を行う必要があります。
ステップは以下の通りです
1.他の正常な在庫には、欠落したアーカイブログをrmanでバックアップします。
通路ORA_を使用しますDISK_1
通路ORA_DISK_1:アーカイブログのコピーを開始しています。
ファイリングログスレッド=1シーケンス=328759 RECID=328754 STAMP=93951052を入力します。
出力ファイル名=/home/oracle/arcbak/thread_1_seq328759.592.939510649 RECID=328794STAMP=939571923
通路ORA_DISK_1:アーカイブログのコピーが完了しました。経過時間:00:00:03
backupを25-3月-17日に完成しました。
バックアップが完了したら、アーカイブを紛失したアーカイブの準備庫に転送します。oracle@hotel05arcbakドルscp*hotel 07:/home/oracle/arcbak/
3.その後、この備品に回復操作を行う。
--アーカイブファイルディレクトリの作成[oracle@hotel07~』$rman target/
リカバリマネージャ:Release 11.2..2.0-Production on土曜日3月25日15:42:112017 Copyright(c)1982,2009,Oracle and/or itsaffiliates. All rights rerrerved.ターゲットデータベースに接続されています。HTDB 4(DBID=1037199948、開いていません。)
ファイルディレクトリを作成しています。
カタログ作成済み
通路ORA_を使用しますDISK_1
通路ORA_DISK_1:アーカイブログのコピーを開始しています。
ファイリングログスレッド=1シーケンス=328760 RECID=149368 STAMP=939573701出力ファイル名=+FRA/httdb 7/archivelogs/2017_03_25/thread_1_seq328760.74.94573739 RECID=149375 STAMP=9395738
通路ORA_DISK_1:アーカイブログのコピーが完了しました。経過時間:00:00:01
backupを25-3月-17日に完成しました。
4.最後にopenデータベースができます。
停電とネットの原因で、主な準備データが同期されなくなり、ログがなくなった場合、主にrmanツールを使ってアーカイブファイルをfsとasmの間で転送することをマスターします。データベースの復旧にはよく使われます。
また、データベースがフラッシュバック機能をオンにすると、フラッシュバックデータベースのある時点でリカバリすることもできます。もう一つのブログを参照してください。oracleデータベースORA-01196エラー解決方法を共有します。
皆さんの役に立つことを望んでいます。ありがとうございます。
機械室の停電のため、その中の一つのDGの備蓄庫がopenできなくなり、時報が間違って起動されました。
データベースタイムズの下のエラーを起動します。
SQL> alter database open;
alter database open
*
1行目にエラーが発生しました。ORA-1058:standby database requiresrecovery ORA-01196:ファイル1は、メディア回復セッションの失敗によりORA-01110と食い違っています。データファイル1:'+DATA/httb 7/datafile/system.13.8849245'。
アーカイブログの応用状況を調べたら、一部のログが適用されていないことが分かりました。
SQL> Select Name,Sequence#,applied,completion_time From v$archived_log Order By Sequence# Desc;
Name, Sequence# applied completion_time
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328776.705.939567729 328776 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328775.713.939567727 328775 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328774.777.939567727 328774 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328773.771.939567725 328773 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328772.422.939567721 328772 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328771.482.939567721 328771 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328770.755.939567721 328770 YES NO 2017/3/2515:02
+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328757.1255.939481573 328757 YES NO 2017/3/2415:06
+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328756.795.939480431 328756 YES YES 2017/3/2414:47
+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328755.543.939479395 328755 YES YES 2017/3/2414:29
+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328754.390.939478683 328754 YES YES 2017/3/2414:18
+FRA/htdb7/archivelog/2017_03_24/thread_1_seq_328753.1845.939477943 328753 YES YES 2017/3/2414:05
-- ,
-- :
[oracle@hotel07 ~]$ asmcmd -p
ASMCMD [+fra/htdb7/ARCHIVELOG] > cd 2017_03_24/
ASMCMD [+fra/htdb7/ARCHIVELOG/2017_03_24]> ls
......
thread_1_seq_328754.390.939478683
thread_1_seq_328755.543.939479395
thread_1_seq_328756.795.939480431
thread_1_seq_328757.1255.939481573
--
[oracle@hotel05 ~]$ asmcmd -p
ASMCMD [+fra/htdb5/ARCHIVELOG/2017_03_24]> ls
thread_1_seq_328754.4124.939478683
thread_1_seq_328755.349.939479395
thread_1_seq_328756.852.939480431
thread_1_seq_328757.1420.939481575
thread_1_seq_328758.3356.939510647
thread_1_seq_328759.4592.939510649
thread_1_seq_328760.3205.939510647
thread_1_seq_328761.5308.939510649
thread_1_seq_328762.5227.939510653
.....
解決策:他の準備庫やメインライブラリの上からこの在庫がなくなったアーカイブログを手動で転送してからオープン操作を行う必要があります。
ステップは以下の通りです
1.他の正常な在庫には、欠落したアーカイブログをrmanでバックアップします。
[oracle@hotel05 ~]$ rman target /
RMAN> copy archivelog'+fra/htdb5/ARCHIVELOG/2017_03_24/thread_1_seq_328759.4592.939510649' to'/home/oracle/arcbak/thread_1_seq_328759.4592.939510649';
backupを起動して25-3月-17日です。通路ORA_を使用しますDISK_1
通路ORA_DISK_1:アーカイブログのコピーを開始しています。
ファイリングログスレッド=1シーケンス=328759 RECID=328754 STAMP=93951052を入力します。
出力ファイル名=/home/oracle/arcbak/thread_1_seq328759.592.939510649 RECID=328794STAMP=939571923
通路ORA_DISK_1:アーカイブログのコピーが完了しました。経過時間:00:00:03
backupを25-3月-17日に完成しました。
バックアップが完了したら、アーカイブを紛失したアーカイブの準備庫に転送します。oracle@hotel05arcbakドルscp*hotel 07:/home/oracle/arcbak/
3.その後、この備品に回復操作を行う。
--アーカイブファイルディレクトリの作成[oracle@hotel07~』$rman target/
リカバリマネージャ:Release 11.2..2.0-Production on土曜日3月25日15:42:112017 Copyright(c)1982,2009,Oracle and/or itsaffiliates. All rights rerrerved.ターゲットデータベースに接続されています。HTDB 4(DBID=1037199948、開いていません。)
RMAN> catalog start with '/home/oracle/arcbak';
スタイル/home/oracle/arcbakにマッチしたすべてのファイルを検索します。
=====================================
: /home/oracle/arcbak/thread_1_seq_328763.4773.939510653
: /home/oracle/arcbak/thread_1_seq_328767.2765.939511033
: /home/oracle/arcbak/thread_1_seq_328766.5854.939511023
: /home/oracle/arcbak/thread_1_seq_328759.4592.939510649
: /home/oracle/arcbak/thread_1_seq_328758.3356.939510647
: /home/oracle/arcbak/thread_1_seq_328760.3205.939510647
: /home/oracle/arcbak/thread_1_seq_328762.5227.939510653
: /home/oracle/arcbak/thread_1_seq_328761.5308.939510649
: /home/oracle/arcbak/thread_1_seq_328757.1420.939481575
: /home/oracle/arcbak/thread_1_seq_328764.5801.939510653
: /home/oracle/arcbak/thread_1_seq_328765.3298.939510657
上記のファイルをディレクトリに登録しますか?yファイルディレクトリを作成しています。
カタログ作成済み
=======================
: /home/oracle/arcbak/thread_1_seq_328763.4773.939510653
: /home/oracle/arcbak/thread_1_seq_328767.2765.939511033
: /home/oracle/arcbak/thread_1_seq_328766.5854.939511023
: /home/oracle/arcbak/thread_1_seq_328759.4592.939510649
: /home/oracle/arcbak/thread_1_seq_328758.3356.939510647
: /home/oracle/arcbak/thread_1_seq_328760.3205.939510647
: /home/oracle/arcbak/thread_1_seq_328762.5227.939510653
: /home/oracle/arcbak/thread_1_seq_328761.5308.939510649
: /home/oracle/arcbak/thread_1_seq_328757.1420.939481575
: /home/oracle/arcbak/thread_1_seq_328764.5801.939510653
: /home/oracle/arcbak/thread_1_seq_328765.3298.939510657
--
RMAN> copy archivelog '/home/oracle/arcbak/thread_1_seq_328757.1420.939481575' to '+fra';
backupを起動して25-3月-17日です。通路ORA_を使用しますDISK_1
通路ORA_DISK_1:アーカイブログのコピーを開始しています。
ファイリングログスレッド=1シーケンス=328760 RECID=149368 STAMP=939573701出力ファイル名=+FRA/httdb 7/archivelogs/2017_03_25/thread_1_seq328760.74.94573739 RECID=149375 STAMP=9395738
通路ORA_DISK_1:アーカイブログのコピーが完了しました。経過時間:00:00:01
backupを25-3月-17日に完成しました。
4.最後にopenデータベースができます。
SQL> alter database open;
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY WITH APPLY
-- ,
alter database open
Data Guard Broker initializing...
Data Guard Broker initialization complete
Beginning standby crash recovery.
Serial Media Recovery started
Managed Standby Recovery starting Real TimeApply
Media Recovery Log+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328757.499.939573737
Media Recovery Log/home/oracle/arcbak/thread_1_seq_328758.3356.939510647
Sat Mar 25 16:43:57 2017
Incomplete Recovery applied until change91347484119 time 03/24/2017 15:06:26
Completed standby crash recovery.
Sat Mar 25 16:43:58 2017
SMON: enabling cache recovery
Dictionary check beginning
Dictionary check complete
Database Characterset is ZHS16GBK
No Resource Manager plan active
replication_dependency_tracking turned off(no async multimaster replication found)
Physical standby database opened for readonly access.
Completed: alter database open
Sat Mar 25 16:44:01 2017
ALTER DATABASE RECOVER MANAGED STANDBYDATABASE THROUGH ALL SWITCHOVERDISCONNECT USING CURRENT LOGFILE
Attempt to start background Managed StandbyRecovery process (htdb7)
Sat Mar 25 16:44:01 2017
MRP0 started with pid=47, OS id=9619
MRP0: Background Managed Standby Recoveryprocess started (htdb7)
started logmerger process
Sat Mar 25 16:44:06 2017
Managed Standby Recovery starting Real TimeApply
Parallel Media Recovery started with 16slaves
Waiting for all non-current ORLs to bearchived...
All non-current ORLs have been archived.
Media Recovery Log /home/oracle/arcbak/thread_1_seq_328758.3356.939510647
Media Recovery Log+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328759.1574.939573739
Completed: ALTER DATABASE RECOVER MANAGEDSTANDBY DATABASE THROUGH ALL SWITCHOVERDISCONNECT USING CURRENT LOGFILE
Media Recovery Log+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328760.922.939573741
Media Recovery Log+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328761.695.939573743
Media Recovery Log+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328762.1769.939573745
Media Recovery Log+FRA/htdb7/archivelog/2017_03_25/thread_1_seq_328763.1422.939573745
まとめ:停電とネットの原因で、主な準備データが同期されなくなり、ログがなくなった場合、主にrmanツールを使ってアーカイブファイルをfsとasmの間で転送することをマスターします。データベースの復旧にはよく使われます。
また、データベースがフラッシュバック機能をオンにすると、フラッシュバックデータベースのある時点でリカバリすることもできます。もう一つのブログを参照してください。oracleデータベースORA-01196エラー解決方法を共有します。
皆さんの役に立つことを望んでいます。ありがとうございます。