ページの先頭行へ戻る
PRIMECLUSTER Wizard for Oracle 4.5 導入運用手引書
FUJITSU Software

3.2 Oracleデータベースのメンテナンスについて

ここでは、Oracleデータベース の設定変更、Oracleデータベースのパッチ適用、Oracleデータベースのバックアップ・リカバリーなど、メンテナンス時の操作について説明します。
クラスタシステムにおいては、Oracleデータベースの起動・停止と Oracleデータベースのデータが格納されている共用ディスク装置の活性/非活性制御が連動して行われます。

そのため、Oracle コールドバックアップなどメンテナンス作業のために Oracleデータベースを手動で制御する必要がある場合は、事前に userApplication を保守モードにし、Oracle インスタンス、リスナーの監視を一時的に中断する必要があります。

一般的な手順

Oracle データベースのメンテナンス時の一般的な手順を以下に示します。メンテナンスを行うノードにて実施してください。

  1. userApplication の起動

    設定変更を行う Oracle インスタンスリソースが含まれている userApplication が停止している場合は、起動してください。

  2. 保守モード/監視中断

    userApplication を保守モードに移行してください。
    次に hvoradisable コマンドで Oracle インスタンスリソース、リスナーリソースの監視を中断してください。

  3. 保守モード移行/監視中断の確認

    保守モードへの移行や監視中断が正常に行われたことを確認してください。
    (参考 “4.1 hvoradisable - リソース監視の中断” - 注意)

  4. Oracle Restartの設定有効化

    スタンバイ運用でASMを使用する構成で、かつ以下の作業を実施する場合は、Oracle Restartの設定を有効にしてください。

    • DBCAでディスクグループを選択する場合

    • srvctl start asm

    • srvctl start database

    • srvctl start listener

    Oracle Restartの設定を有効にするには以下のコマンドをGridユーザーで実行してください。

    srvctl enable asm
    srvctl enable listener [-l <listener_name>]
    srvctl enable database -d <db_unique_name>

    DBCAでディスクグループを選択する場合は、Oracle Restart上でOracle ASM、ディスクグループの状態がONLINEである必要があります。以下のコマンドをGridユーザーで実行してください。

    crsctl status resource -t
    srvctl start asm (Oracle ASMがOFFLINEの場合)
    srvctl start diskgroup -g <ディスクグループ名> (ディスクグループがOFFLINEの場合)

    ASMやディスクグループがすでに実行中です、というメッセージが出力される場合がありますが、問題ありませんのでメッセージを無視してください。

  5. Oracle データベースに依存するリソースの停止

    Oracle データベースに依存するリソースがある場合は、手動で停止してください。

  6. Oracle データベースの停止

    Oracle インスタンス、リスナーを手動停止してください。

  7. Oracle データベースのメンテナンス

    Oracle データベースの設定変更、Oracle データベースのパッチ適用、Oracleデータベースのバックアップ・リカバリーなどの操作を行ってください。

  8. Oracle データベースの起動

    メンテナンス完了後、Oracle インスタンスを手動起動してください。マルチテナント機能を使用したデータベースの場合はPDBも手動起動してください。リスナーも停止していた場合は再起動してください。
    次の手順へ進む前に、Oracle インスタンス、リスナーが正常に動作していることを確認してください。Oracle インスタンスは OPEN 状態で起動している必要があります。マルチテナント機能を使用したデータベースの場合は、PDBのOPEN_MODEが“READ WRITE”になっている必要があります。

  9. Oracle Restartの設定無効化

    「4. Oracle Restartの設定有効化」を実施した場合は、以下のコマンドをGridユーザーで実行してOracle Restartの設定を変更してください

    srvctl disable asm
    srvctl disable listener [-l <listener_name>]
    srvctl disable database -d <db_unique_name>
  10. Oracle データベースに依存するリソースの起動

    Oracle データベースに依存するリソースを停止した場合は、手動で起動してください。

  11. 監視再開/保守モード解除

    hvoraenable コマンドで Oracle インスタンスリソース、リスナーリソースの監視を再開してください。
    次に userApplication の保守モードを解除してください。

  12. 監視再開/保守モード解除の確認

    監視再開や保守モードの解除が正常に行われたことを確認してください。
    (参考 “4.2 hvoraenable - リソース監視の再開” - 注意)

参考

  • 監視中断・再開について
    userApplication を起動したまま Oracle データベースを停止するには、PRIMECLUSTER Wizard for Oracle の “監視中断” 機能を使用します。
    “監視中断” 機能では、Oracle リソース監視のみが停止されます。そのため Oracle データベース以外のリソース故障が発生するとフェイルオーバが発生しますので注意してください。

  • Oracle RAC について

    Oracle RAC のリソースを制御する場合は、srvctl コマンドや SHUTDOWN コマンドなどを使用せず、RMS の userApplication に対して操作を行ってください。これらのコマンドを使用すると、PRIMECLUSTER にて異常と判断してリカバリーが実行される場合があります。これらのコマンドを実行したい場合は、userApplication を保守モードにして実行してください。

  • userApplication の保守モードについて

    userApplication を保守モードに移行すると、リソース異常は無視されるようになります。つまり、Oracle データベースを手動停止させても、再起動やフェイルオーバが発生しません。これにより、Oracle リソースを含めた全てのリソースのメンテナンスを実施することができます。詳細は、「PRIMECLUSTER RMS 導入運用手引書」 の「5.4.11 保守モードの使用法」 を参照してください。

  • Oracle インスタンス、リスナーの監視中断・再開について

    hvoradisable および hvoraenable コマンドを使って、Oracle インスタンスおよびリスナーの監視を中断・再開することができます。
    userApplication の保守モードだけでは、監視用の Oracle セッションが残ったままの状態となります。ここでさらに Oracle インスタンスリソースの監視を中断することで、セッションが切断されます。これにより、Oracle データベース手動停止の際に SHUTDOWN コマンドを NORMAL オプションで実行することができます。
    Oracle インスタンス、リスナーの監視中断・再開についての詳細は、“4.1 hvoradisable - リソース監視の中断”, “4.2 hvoraenable - リソース監視の再開” を参照してください。

注意

  • 監視の再開

    リソースの監視を中断した後、Oracle インスタンス、リスナーを手動停止した場合、監視を再開する前に、Oracle インスタンス、リスナーの手動起動を行ってください。マルチテナント機能を使用したデータベースの場合はPDBも手動起動してください。起動されないまま監視を再開すると、リソース異常が発生する場合があります。

  • 監視中断中のリソースの状態について

    hvoradisable コマンドによりリソースの監視が正しく中断された場合、リソースの状態は Warning になります。

  • 本手順と Oracle Database のドキュメントを参照し、運用環境やメンテナンス要件に合わせて、メンテナンス手順を計画してください。

  • 手順2「保守モード/監視中断」では、必ず、hvoradisableコマンドでOracleインスタンスリソース、リスナーリソースの監視を中断してください。

    hvoradisableコマンドを実行しなかった場合、以下のような動作を引き起こす場合があります。

    • PRIMECLUSTER Wizard for Oracleの監視モジュールはOracle Databaseのライブラリを使用して動作しています。監視モジュールが動作している状態でOracleデータベースのパッチ適用などの作業を行うと、Oracle Databaseのライブラリを更新できずパッチ適用に失敗することがあります。このため監視を中断して監視モジュールを停止してください。

    • 保守モードへの移行だけを実行した場合は、フェイルオーバーなどの動作は行いませんが、監視モジュールによるOracleインスタンスリソース、リスナーリソースの監視は動作しています。この状態でリソースが停止すると内部的に異常を検出するため、状態不整合や意図せぬ動作を引き起こす場合があります。