データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

バックアップが存在しない場合のOracle投票ディスクのリカバリ方法 ― OCR自動バックアップからの復旧手順

本記事では、Oracle® Cluster Registry(OCR)と投票ディスク(voting disk)を喪失し、さらに投票ディスクのバックアップが存在しないというシナリオを取り上げます。一見困難な状況に思えますが、OCRの最新の自動バックアップから復旧することが可能です。

はじめに

投票ディスクはノードのメンバーシップ情報を管理するファイルであり、OCRはクラスタおよびReal Application Clusters(RAC)データベースの構成情報を管理するファイルです。Oracle Clusterwareのインストールプロセスでは、共有ストレージボリューム上に投票ディスクとOCRが作成されます。

クラスタのノードメンバーは、クラスタグループからのノード排除(node eviction)を回避するため、常に投票ディスクの半数以上にアクセスできる必要があります。投票ディスクは、すべてのノードが自身の稼働状態を登録することを保証する重要な役割を担っており、Clusterwareにおける投票ディスク関連のすべての操作は、Cluster Synchronization Servicesデーモン(CSSd)が実行します。

一方、OCRはCluster Ready Services(CRS)の中央リポジトリとして機能し、Clusterwareに定義されたすべてのクラスタリソースのメタデータ、構成情報、状態情報を格納します。OCRには常に直近3世代のバックアップコピー(4時間前、1日前、1週間前)が保持されます。

OCRに格納される情報

  • クラスタに属するノードなど、ノードメンバーシップ情報
  • ソフトウェアの現行アクティブバージョン
  • 投票ディスクの配置場所
  • サーバープール
  • RACデータベース、リスナー、インスタンスなどのクラスタリソースや、その他のOracleコンポーネントサービスの状態

投票ディスクに格納される情報

投票ディスクには、静的データと動的データの両方が含まれます。

  • 静的データ: クラスタ内の全ノードに関する情報を保持します。
  • 動的データ: ディスクハートビート機構に関する情報を保持します。

また、投票ディスクはクラスタノードのメンバーシップに関する詳細情報も管理しており、現在どのノードがクラスタに参加しているか、どのノードが参加中または離脱中かなどを把握しています。

投票ディスクの保存場所

投票ディスクは、操作中にクラスタ内のすべてのメンバーノードからアクセスされる共有ディスクです。投票ディスクは、Oracle Automatic Storage Management(ASM)や認証済みクラスタファイルシステムなど、共有アクセス可能なストレージに配置する必要があります。

検証環境の詳細

本記事のサンプルシナリオでは、以下の環境を使用しています。

  • Oracleバージョン: Release 11.2.0.4.0
  • OS: Sun OS 5.11 11.2
  • クラスタ構成: RAC(2ノード)

発生したエラー

今回は、以下のエラーを解消していきます。

[cssd(3980)]CRS-1714:Unable to discover any voting files,
retrying discovery in 15 seconds; Details at (:CSSNM00070:)
in /oracle/11.2.0/grid/log/testdb01/cssd/ocssd.log

クラスタを起動するにはOCRと投票ディスクへのアクセスが必要ですが、これらのリソースにアクセスできないため、クラスタがダウンしたままの状態です。以下の手順で投票ディスクを復旧しましょう。

投票ディスクの復旧手順

OCRバックアップから投票ディスクを復元するには、以下の手順を実行します。

ステップ1: CRS自動起動サービスを無効化する

次のコマンドを実行して、自動再起動を無効にします。

root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl disable crs

ステップ2: ノードを再起動する

次のコマンドでノードを再起動します。

root@testdb01:/oracle/11.2.0/grid/bin# init 6

ステップ3: CRSサービスが起動していないことを確認する

再起動後、ステップ1で無効化したためCRSサービスは起動していないはずです。次のコマンドでCRSサービスの状態を確認します。

root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl check crs

ステップ4: 投票ディスクのヘッダーをクリアする

ディスクグループを作成する前に、次のコマンドで障害が発生している既存の投票ディスクのヘッダーをクリアし、再利用できるようにします。

root@testdb01:/dev/rdsk# dd if=/dev/zero
of=/dev/rdsk/c0t60002AC0000000000000001900008265d0s0 bs=1024k count=1000

ステップ5: クラスタを排他モードで起動する

次のコマンドで、クラスタを排他モード(exclusive mode)で起動します。

root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start crs -excl

ステップ6: PFILEを使用してASMを起動する

次のコマンドで、PFILEを指定してASMを起動します。

root@testdb01:/oracle/11.2.0/grid/bin# su - grid
-bash-4.1$sqlplus / as sysasm
startup pfile='location of pfile';
ASM instance started
Total System Global Area 1136082944 bytes
Fixed Size 2189048 bytes
Variable Size 1108728072 bytes
ASM Cache 25165824 bytes
ORA-15032: not all alterations performed
ORA-15017: diskgroup "OCRDATA" cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup
"OCRDATA"

ステップ7: ディスクグループを作成する

次のコマンドでディスクグループを作成します。

SQL> create diskgroup OCRDATA external redundancy disk
'/dev/rdsk/c0t60002AC0000000000000001900008265d0s0' attribute 'COMPATIBLE.ASM'='11.2';
Diskgroup created

ステップ8: SPFILEを作成してASMを再起動する

次のコマンドで、ASMのPFILEからSPFILEを作成し、投票ディスク上のSPFILEを読み込むようASMを再起動します。

SQL> create spfile='+OCRDATA' from pfile='/home/grid/initASM1.ora';
File created.
SQL> shutdown
ASM diskgroups volume disabled
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup
ASM instance started
Total System Global Area 1136082944 bytes
Fixed Size 2189048 bytes
Variable Size 1108728072 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
ASM diskgroups volume enabled
SQL> exit

ステップ9: 最新のOCRバックアップをリストアする

次のコマンドでOCRバックアップをリストアします。

root@testdb01:/oracle/11.2.0/grid/bin# ./ocrconfig -restore
/oracle/11.2.0/grid/cdata/testdb01-kl/day.ocr ------(デフォルトロケーションにあるOCRの最終自動バックアップ)

ステップ10: 投票ディスクを置き換える

次のコマンドで投票ディスクを置き換えます。

root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl replace votedisk +OCRDATA
Successful addition of voting disk b1e7c2fbeb754f82bf09a991b2cf4441.
Successfully replaced voting disk group with +OCRDATA.
CRS-4266: Voting file(s) successfully replaced
root@testdb01:/oracle/11.2.0/grid/bin#

ステップ11: CRS自動起動サービスを有効化する

次のコマンドでCRS自動起動サービスを有効化し、すべてのクラスタサービスがオンラインになっていることを確認します。

root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start cluster
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl check crs
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl stop crs -f
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start crs

ステップ12: OCRディスクの状態を確認する

次のコマンドでOCRディスクの状態をクロスチェックします。

root@testdb01:/oracle/11.2.0/grid/bin# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2816
Available space (kbytes) : 259304
ID : 1103197739
Device/File Name : +OCRDATA
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded

ステップ13: 投票ディスクの詳細を確認する

次のコマンドで投票ディスクを検証します。

root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE b1e7c2fbeb754f82bf09a991b2cf4441
(/dev/rdsk/c0t60002AC0000000000000001900008265d0s0) [OCRDATA]
Located 1 voting disk(s).

ステップ14: CRSサービスの状態を確認する

次のコマンドで、CRSサービスが正常に稼働していることを確認します。

root@testdb01:/oracle/11.2.0/grid/bin# ./crs_stat –t
root@testdb01:/oracle/11.2.0/grid/bin# ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....VE.dg ora....up.type ONLINE ONLINE testdb01...db01
ora....XK.dg ora....up.type ONLINE ONLINE testdb01...db01
ora....XK.dg ora....up.type ONLINE ONLINE testdb01...db01
ora....ER.lsnr ora....er.type ONLINE ONLINE testdb01...db01
ora....N1.lsnr ora....er.type ONLINE ONLINE testdb01...db01
ora....TA.dg ora....up.type ONLINE ONLINE testdb01...db01
ora.REDO.dg ora....up.type ONLINE ONLINE testdb01...db01
ora.asm ora.asm.type ONLINE ONLINE testdb01...db01
ora.cvu ora.cvu.type ONLINE ONLINE testdb01...db01
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE testdb01...db01
ora.oc4j ora.oc4j.type ONLINE ONLINE testdb01...db01
ora.ons ora.ons.type ONLINE ONLINE testdb01...db01
ora....ry.acfs ora....fs.type ONLINE ONLINE testdb01...db01
ora.scan1.vip ora....ip.type ONLINE ONLINE testdb01...db01
ora....SM1.asm application ONLINE ONLINE testdb01...db01
ora....01.lsnr application ONLINE ONLINE testdb01...db01
ora....b01.gsd application OFFLINE OFFLINE
ora....b01.ons application ONLINE ONLINE testdb01...db01
ora....b01.vip ora....t1.type ONLINE ONLINE testdb01...db01
ora....b02.vip ora....t1.type ONLINE ONLINE testdb01...db01

ステップ15: ASMディスクグループを確認する

次のコマンドでASMディスクグループの状態を確認します。

root@testdb01:/oracle/11.2.0/grid/bin# su - grid
Oracle Corporation SunOS 5.11 11.2 March 2015
-bash-4.1$ asmcmd
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB
Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 1023991 1023549 0 1023549 0
N ARCHIVE/
MOUNTED EXTERN N 512 4096 1048576 1023991 1023881 0 1023881 0
N INDEX1/
MOUNTED EXTERN N 512 4096 1048576 51191 50795 0 50795 0
Y OCRDATA/
MOUNTED EXTERN N 512 4096 1048576 1023991 818013 0 818013 0
N ORADATA1/
MOUNTED EXTERN N 512 4096 1048576 511991 479085 0 479085 0
N REDO/

まとめ

本記事で紹介した手順により、任意のRAC環境で障害が発生した投票ディスクを修復できます。これらの手順を活用すれば、投票ディスクのバックアップが欠落している問題についても、OCRのバックアップから復旧することで乗り越えられます。ディスクのリカバリに成功すれば、そのディスクをそのまま再利用することも可能です。

なお、このソリューションが機能するためには、OCRの自動バックアップが有効になっている必要がある点に注意してください。OCRは常に、デフォルトロケーションまたはユーザーが指定したロケーションにバックアップを保存します。

ご意見やご質問がある場合は、フィードバックタブからお知らせください。

専門家による管理・運用・構成で環境を最適化

Rackspaceのアプリケーションサービス(RAS)のエキスパートは、幅広いアプリケーションポートフォリオにわたって、以下のようなプロフェッショナルサービスおよびマネージドサービスを提供しています。

  • eコマースおよびデジタルエクスペリエンスプラットフォーム
  • 企業資源計画(ERP)
  • ビジネスインテリジェンス
  • Salesforce顧客関係管理(CRM)
  • データベース
  • メールホスティングおよび生産性向上ツール

私たちが提供する価値:

  • 偏りのない専門性: 即座に価値をもたらす機能に焦点を当て、モダナイゼーションの道のりをシンプルにし、導きします。
  • Fanatical Experience™: 「Process first. Technology second.®」のアプローチと専任のテクニカルサポートを組み合わせ、包括的なソリューションを提供します。
  • 比類のないポートフォリオ: 豊富なクラウド経験を活かし、適切なテクノロジーを適切なクラウド上に選定・展開するお手伝いをします。
  • アジャイルなデリバリー: お客様の旅路のどの段階においても寄り添い、私たちの成功をお客様の成功と共に実現します。

まずはチャットでお気軽にご相談ください。

  1. EUとGoogleの対立――Android独占禁止法違反による50億ドル制裁金の全貌

    現実は時に受け入れがたいものです。Googleはテクノロジー業界の王者として称えられ、同社からの採用オファーはソフトウェア開発者にとって夢のような話とされています。過去・現在の従業員に適用される待遇は、あらゆる業界の中でも最も手厚いと言われています。そんな名だたる企業が、EUからAndroidの独占禁止法違反として50億ドルという巨額の制裁金を科されたのです。これはまさに衝撃的なニュースでした。 Googleは何をしたのか?なぜ制裁金を科されたのか? 欧州委員会は、Googleが業界内での影響力を利用し、Androidプラットフォームを通じて自社の検索エンジンやウェブブラウザ「Chrome

  2. ハードディスクの容量を復元する方法|見えないディスク領域を回復してストレージ不足を解消

    画像、音声、動画、ドキュメントなど、大量のデジタルファイルによってPCのストレージ容量が不足している方は多いのではないでしょうか。一般的な対策としては、使用頻度の低いファイルを外付けストレージやクラウドに移すことが挙げられます。しかし実は、Windowsのストレージ設定には初期状態から変更できる項目がいくつかあり、それらを見直すことで「ずっと存在していたのに使えなかった」ディスク領域を取り戻すことができます。 ハードディスクの容量を復元し、失われた領域を回復する方法 ここでは、専門家が推奨するハードディスクの空き容量回復方法をいくつかご紹介します。一見難しそうに感じるかもしれませんが、必ず手順