この章では、Oracle Real Application Clusters(Oracle RAC)環境における、自動ストレージ管理(ASM)などの記憶域の項目について説明します。
内容は次のとおりです。
Oracle Real Application Clustersでの自動ストレージ管理
関連項目: 『Oracle Clusterware管理およびデプロイメント・ガイド』、ご使用のプラットフォーム固有のOracle Clusterwareのインストレーション・ガイドおよびOracle Real Application Clustersのインストレーション・ガイドを参照してください。 |
すべてのデータ・ファイル(各インスタンスのUNDO表領域を含む)およびREDOログ・ファイル(インスタンスごとに2つ以上)がASMディスク・グループ、クラスタ・ファイル・システム、または共有RAWデバイスに存在している必要があります。さらに、インスタンス固有のエントリを使用した単一の共有サーバー・パラメータ・ファイル(SPFILE)を使用することをお薦めします。また、ローカル・ファイル・システムを使用してインスタンス固有のパラメータ・ファイル(PFILE)を格納することもできます。
特に明記されていないかぎり、Oracle RAC環境内での、ASM、Oracle Managed Files(OMF)、自動セグメント領域管理などのOracle Database記憶域の機能は、シングル・インスタンスのOracle Database環境と同じです。 これらの記憶域機能の詳細は、『Oracle Database 2日でデータベース管理者』、『Oracle Databaseストレージ管理者ガイド』および『Oracle Database管理者ガイド』を参照してください。
ASMを使用しない場合、プラットフォームがクラスタ・ファイル・システムをサポートしていない場合またはデータベース・ファイルの記憶域にクラスタ・ファイル・システムを使用しない場合は、追加のRAWデバイスを作成してください。RAWデバイスの作成方法は、ご使用のプラットフォーム固有のOracle Real Application Clustersのインストレーションおよび構成ガイドを参照してください。ただし、データベース・ファイルの記憶域には、「Oracle Real Application Clustersでの自動ストレージ管理」で説明するとおり、ASMの使用をお薦めします。
この項では次の内容について説明します。
Oracle Real Application Clustersの自動UNDO管理
注意: Oracle Database Standard Editionを使用してOracle RACデータベースを作成するには、データベース記憶域にASMを使用する必要があります。 |
Optimal Flexible Architecture(OFA)は、インストールの信頼性を保証し、ソフトウェアの管理性を向上させます。この機能は、Oracleソフトウェア・インストールの編成方法を合理化し、これによってインストールの継続的管理を簡略化します。また、デフォルトのOracle DatabaseインストールをOFA仕様に準拠させることによって管理性を向上させます。
インストール時に、Oracleベース(ORACLE
_BASE
)の位置の指定を求めるプロンプトが表示されます。Oracleベースは、インストールを実行しているユーザーに所有されます。既存のORACLE_BASE
を選択するか、またはORACLE_BASE
ディレクトリの構造が存在していない別のディレクトリ位置を選択できます。
Oracleベース・ディレクトリ・パスを使用すると、Oracleインストールの組織化が容易になり、複数のデータベースのインストールでOFA構成が維持されるようになります。ORACLE_HOME
はORACLE_BASE
に指定した値に基づいてデフォルト値に設定されるため、インストール時に要求される入力はORACLE_BASE
のみです。また、データベースの起動時に、ORACLE_HOME
に加えてORACLE_BASE
環境変数も設定することをお薦めします。ORACLE_BASE
は、今後のリリースでデータベース起動時の必須環境変数になる可能性があります。
関連項目: ORACLE_BASE ディレクトリの指定方法の詳細は、ご使用のプラットフォーム固有のOracle Real Application Clustersのインストレーション・ガイドを参照してください。 |
すべてのOracle RACインスタンスは、すべてのデータ・ファイルにアクセスできる必要があります。データベースのオープン中にデータ・ファイルのリカバリが必要になった場合は、最初に起動するOracle RACインスタンスがリカバリを実行し、ファイルへのアクセスを検証します。他のインスタンスも、起動時に、データ・ファイルへのアクセスを検証します。同様に、表領域またはデータ・ファイルを追加したり、表領域またはデータ・ファイルをオンライン状態にする場合も、すべてのインスタンスがファイルへのアクセスを検証します。
他のインスタンスがアクセスできないデータ・ファイルをディスクに追加すると、検証に失敗します。インスタンスが同一データ・ファイルの異なるコピーへアクセスした場合も、検証に失敗します。いずれのインスタンスについても検証に失敗した場合は、問題を診断し解決してください。その後、各インスタンスに対してALTER SYSTEM CHECK DATAFILES
文を実行して、データ・ファイルへのアクセスを検証します。
各インスタンスには、固有のオンラインREDOログ・グループが存在します。 これらのREDOログ・グループを作成し、グループ・メンバーを構築します。詳細は、『Oracle Database管理者ガイド』を参照してください。 特定のインスタンスにREDOログ・グループを追加するには、ALTER DATABASE ADD LOGFILE
文でINSTANCE
句を指定します。詳細は、『Oracle Database SQL言語リファレンス』を参照してください。REDOログ・グループの追加時にインスタンスを指定しなかった場合、そのREDOログ・グループは現在接続されているインスタンスに追加されます。
各インスタンスには、2つ以上のグループのREDOログ・ファイルが必要です。REDOログ・グループを割り当ててから、ALTER DATABASE ENABLE INSTANCE
instance_nameコマンドを使用して新規インスタンスを有効化する必要があります。現行グループが一杯になると、インスタンスは次のログ・ファイル・グループへの書込みを開始します。データベースがARCHIVELOG
モードになっている場合、各インスタンスは一杯になったオンライン・ログ・グループをアーカイブREDOログ・ファイルとして保存します。このファイルは制御ファイルに記録されます。
データベースのリカバリ時に、有効化されているすべてのインスタンスについて、リカバリが必要かどうかがチェックされます。Oracle RACデータベースからインスタンスを削除する場合は、インスタンスを無効化して、データベースのリカバリ時にチェックされないようにすることをお薦めします。
インスタンスに割り当てられた特定のUNDO表領域内のUNDOセグメントは、Oracle Databaseによって自動的に管理されます。この表領域の内容を変更できるのは、UNDO表領域に割り当てられたインスタンスのみです。ただし、すべてのインスタンスは、読取り一貫性のためにいつでも、クラスタ環境内のすべてのUNDOブロックを読み取ることができます。また、UNDO表領域が、別のインスタンスにUNDO生成またはトランザクション・リカバリのために使用されていないかぎり、どのインスタンスもトランザクション・リカバリ中にそのUNDO表領域を更新できます。
Oracle RACデータベース内にUNDO表領域を割り当てるには、SPFILEまたは個別のPFILEで各インスタンスのUNDO_TABLESPACE
パラメータに別の値を指定します。Oracle RACデータベースでは、自動UNDO管理モードと手動UNDO管理モードを同時に使用することはできません。Oracle RACデータベースのすべてのインスタンスは、同じUNDOモードで操作してください。
関連項目: UNDO表領域の作成および管理の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
ASMは、管理対象のディスク間で記憶域構成を管理することにより、自動的に最大のパフォーマンスを引き出します。ASMは、最適なパフォーマンスを得るために、クラスタ・データベース環境内の使用可能なすべての記憶域に、データベース・ファイルを分散します。ASMによって、必要なディスク領域全体が、ディスク・グループ内のすべてのディスクに均一なサイズに分割されます。また、ASMでは、データ損失を防止するために、自動的にデータのミラー化が行われます。ASMのこれらの機能により、管理業務を大幅に軽減することができます。
Oracle RACでASMを使用するには、Database Configuration Assistant(DBCA)を使用してデータベースを作成するときに、ASMを記憶域オプションとして選択します。シングル・インスタンスのOracle Databaseの場合と同様、Oracle RACでASMを使用する場合もI/Oチューニングは不要です。
注意: ASMのインストール時に、データベースのホーム・ディレクトリ(Oracleホーム)とは異なる場所にASMホームを配置する必要があります。異なるホーム・ディレクトリを使用することによって、ASMとOracle Databaseソフトウェアを個別にアップグレードしたり、パッチを適用することができます。また、ASMインスタンスに影響を与えずにOracle Databaseソフトウェアを削除できます。詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。 |
次の項では、ASMおよびASMの管理について説明します。
データベースを作成すると、ASMインスタンスが存在していない場合は、Oracle DatabaseによってOracle RAC環境の各ノードに1つのASMインスタンスが作成されます。各ASMインスタンスには、SPFILEまたはPFILEタイプのパラメータ・ファイルが存在します。デフォルト以外のOracle Netリスナーのパラメータ・ファイルおよびTNSエントリをバックアップします。
ASMディスク・グループを作成した後、DBCAを使用してASMディスク・グループのミラー化を構成できます。Oracle RACデータベースの稼動後は、Oracle Enterprise ManagerでASMディスク・グループを管理できます。
ASMは、個別のスタンドアロンASMホームに構成できます。これによって、シングル・インスタンス・データベースのインスタンスとOracle RACデータベースのインスタンスで、1つのノード上のシングルASMインスタンスを共有できます。また、データベースのアップグレードとは別に、ASMを個別にアップグレードすることもできます。
ASMの管理に使用するDBCA、Database Upgrade Assistant(DBUA)、Oracle Enterprise ManagerなどのOracleツールと、サイレント・モードのインストールおよびアップグレード・コマンドでは、ASMインスタンスおよびディスク・グループを管理するオプションを使用できます。たとえば、DBCAを実行して、データベースの作成とは別に新しいASMインスタンスまたはASMディスク・グループを作成できます。
インストール、アップグレードまたは他の操作中にASMオプションを選択すると、使用中のツールがクラスタ内の他のノードに自動的にASMを拡張する場合があります。これによって、ASMソフトウェアが現行ノードと同じホームにインストールされ、ASMインスタンスが起動される場合があります。たとえば、DBCAを使用して新しいOracleホームを使用するデータベースを作成すると、DBCAによって、選択したすべてのノード上でその新しいOracleホームへのASMの拡張が試行されます。
クラスタにディスク・グループを作成する場合、またはクラスタ化されている既存のディスク・グループに新しいディスクを追加する場合は、共有ディスク上に基盤となる物理記憶域を準備して、そのディスクにOracleユーザーの読取りおよび書込み権限を付与します。ASMをOracle RACデータベースで使用する場合とシングル・インスタンスのOracle Databaseで使用する場合の実質的な相違点は、共有ディスクが必要かどうかのみです。ディスクまたはディスク・グループの追加後または削除時に、ASMは、記憶域のロードを自動的に再調整します。
クラスタでは、各ASMインスタンスが、各ノードのディスク・グループの更新メタデータを管理します。また、各ASMインスタンスが、ディスク・グループのメタデータとクラスタの他のノード間の調整を行います。シングル・インスタンスのOracle Databaseの場合と同様、Oracle RACでは、ASM用ディスク・グループの管理に、Oracle Enterprise Manager、DBCA、SQL*Plusおよびサーバー制御ユーティリティ(SRVCTL
)を使用できます。SQL*Plusを使用してASMインスタンスを管理する方法の詳細は、『Oracle Databaseストレージ管理者ガイド』を参照してください。次の項では、その他のツールの使用方法について説明します。
DBCAを使用してデータベースを作成し、ASM記憶域オプションを選択した場合、ASMインスタンスが存在していない場合は、DBCAによってASMインスタンスが作成されます。ただし、スタンドアロンのASMディスク・グループの管理機能を使用して、新しいデータベースの作成とは別に、ASMインスタンスおよび対応するディスク・グループを作成および管理することもできます。Oracle Enterprise ManagerまたはDBCAを使用すると、ディスクをディスク・グループに追加したり、1つまたはすべてのディスク・グループをマウントしたり、ASMインスタンスを作成することができます。また、Oracle Enterprise Managerを使用して、ディスク・グループをディスマウントまたは削除したり、ASMインスタンスを削除することもできます。
DBCAでデータベースを作成せずにASMインスタンスを作成するには、DBCAの「データベース・オプション」ページで「自動ストレージ管理の構成」オプションを選択します。また、このオプションを使用して、1つ以上のASMディスク・グループを追加またはマウントすることもできます。この場合、DBCAでは、「ノードの選択」ページが表示されます。このページでは、ASMインスタンスを作成するノードまたはディスク・グループを管理するノードを指定できます。次に、必要に応じてDBCAの「インスタンスの作成」ページに入力します。このページでは、ASMインスタンスのパラメータ・ファイルの情報、SYS
パスワードおよびASM関連サービスの所有者(Windowsシステムの場合)を追加します。
スタンドアロンのASM管理では、DBCAの「ASMディスク・グループ」ページも使用できます。つまり、データベースの作成とは別にASM記憶域を構成できます。たとえば、「ASMディスク・グループ」ページから、新しいディスク・グループの作成、既存のディスク・グループへのディスクの追加、または現在マウントされていないディスク・グループのマウントを実行できます。
ASMのローリング・アップグレードでは、データベースの可用性に影響を与えずに、クラスタ化されているASMのノードに対して一度に1つずつアップグレードまたはパッチの適用を実行できます。ローリング・アップグレード時には、クラスタ内の1つ以上のノードで異なるソフトウェア・バージョンを実行しながら、機能しているクラスタを維持できます。
注意: ASMのローリング・アップグレードは、クラスタ化されているASMインスタンスにのみ適用されます。ローリング・アップグレードは、Oracle Database 11gリリース1(11.1)以上を使用している環境でのみ実行できます。つまり、Oracle Database 10gからOracle Database 11gへのアップグレードには、ローリング・アップグレード機能を使用できません。 |
関連項目: ASMのローリング・アップグレードの実行およびASMインスタンスのパッチ適用に関する概念の詳細は、『Oracle Databaseストレージ管理者ガイド』、およびDBUAを使用したASMインスタンスのアップグレード方法および手動によるASMインスタンスのアップグレード方法の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
ASM障害グループを構成している場合、ノードは、そのノードに最も近いエクステントから(そのエクステントがセカンダリ・エクステントであっても)より効率よく読み取れることがあります。ノードから遠い場所にあるプライマリ・コピーではなく、ノードにより近い場所にあるセカンダリ・エクステントから読み取るようにASMを設定できます。拡張遠距離クラスタでは、優先読取り障害グループを使用するのが最も有効です。
この機能を構成するには、ASM_PREFERRED_READ_FAILURE_GROUPS
初期化パラメータで、障害グループ名のリストを優先読取りディスクとして指定します。エクステントの1つ以上のミラー・コピーを、拡張クラスタ内のノードに対してローカルなディスクから構成することをお薦めします。ただし、1つのインスタンスに優先される障害グループが、同じOracle RACデータベース内の別のインスタンスに対してはリモートである可能性があります。優先読取り障害グループのパラメータ設定は、インスタンス固有です。
関連項目:
|
rconfig
コマンドまたはOracle Enterprise Manager Grid Controlを使用して、既存のASMインスタンスを、シングル・インスタンスのストレージ・マネージャからクラスタのストレージ・マネージャに変換できます。Oracle Database 10gリリース10.2(以上)を実行しているASMインスタンスは、直接、Oracle Database 11gに変換できます。
関連項目:
|
この項では、シングル・インスタンス・データベースまたはOracle RACデータベースのインスタンスを実行しているノードに、新規ASMインスタンスを追加する方法について説明します。
次の手順を実行して、ASMを既存ノードから新規ノードに拡張します。
すでにASMインスタンスを構成済のノードからDBCAを起動します。(ここでは、stbdq18というノードです)。
追加したばかりのノードでなく、既存クラスタのASMホームからDBCAを実行する必要があります。既存のASMホームからDBCAを実行することによって、ASMが正しいホームから実行されるようになります。
Database Configuration Assistantの「ようこそ」画面(図2-1)で、「Oracle Real Application Clustersデータベース」を選択します。
DBCAの「操作」画面(図2-2)で、「自動ストレージ管理の構成」オプションを選択します。
「ノードの選択」画面(図2-3)に、ソース・ノード(stbdq18)およびターゲット・ノード(stbdq19)の両方が表示されます。両方のノードを選択して、「次へ」をクリックします。
DBCAはプロビジョニングされた新規ノード(stbdq19)でのASMの可用性をチェックし、図2-4に示す確認ウィンドウを表示します。
「はい」を選択して、新規ノードにASMを作成します。DBCAによって、新規ノードにASMが作成されます。
ASMが新規ノードに拡張されたことを確認するには、次のコマンドを発行します。
crs_stat │ grep asm NAME=ora.stbdq18.ASM1.asm NAME=ora.stbdq19.ASM2.asm
Oracle Enterprise Manager Database Control(Database Control)を使用してASMを管理できます。Database Controlを使用すると、Oracle RAC環境でより簡単にASMインスタンス、ディスク、ディスク・グループおよび障害グループを管理できます。
ASMの管理を開始するには、Database ControlでASMの「ホーム」ページに移動します。ASMの「ホーム」ページにアクセスする手順は、次のとおりです。
Oracle Management Service(OMS)を実行しているノードでOracle Enterprise Managerにログインします。
Database Configuration Assistant(DBCA)を実行してクラスタ・データベースを作成したノードでは、OMSが自動的に開始されます。構成によっては、他のノードでもOMSが実行される場合があります。
クラスタ・データベースの「ホーム」ページで、「インスタンス」ヘッダーの下にある任意のASMインスタンスのリンクをクリックします。
ASMディスク・グループの管理操作(ディスク・グループの追加、削除など)を実行できます。また、インスタンス・レベルで、ASMのディスク・グループのパフォーマンスを監視したり、ディスク・グループの可用性を制御できます。たとえば、Database Controlを使用して実行できるOracle RACおよびASMに固有のタスクには、次のものがあります。
ディスク・グループを追加する場合に、ディスク・グループをすべてのクラスタ・データベース・インスタンスに自動的にマウントするかどうかを示すチェックボックスをディスク・グループ定義に含めます。
ASMディスク・グループのパフォーマンスの監視: デフォルトの「ディスク・グループ」の「パフォーマンス」ページでは、「書込みレスポンス時間」、「I/Oスループット」などのパフォーマンス特性をクリックすると、インスタンス・レベルのパフォーマンス詳細が表示されます。
ASMディスク・グループをマウントまたはディスマウントする場合、特定のASMディスク・グループをマウントまたはディスマウントするインスタンスを指定するチェックボックスが使用できます。
ディスクの再同期化の管理、優先読取り設定の制御およびASMのローリング・アップグレードの管理を実行できます。
関連項目: Database Controlを使用してOracle RAC環境のASMを管理する方法の詳細は、『Oracle Databaseストレージ管理者ガイド』を参照してください。 |
サーバー制御ユーティリティ(SRVCTL
)を使用すると、ASMインスタンスを追加、削除、有効化および無効化できます。SRVCTL
コマンドを実行してASMを管理するには、ASMホームを所有するオペレーティング・システム・ユーザーでログインして、ASMホームのbinディレクトリからSRVCTL
コマンドを実行します。
既存のASMインスタンスに関する構成情報を追加するには、次の構文を使用します。
srvctl add asm -n node_name -i +asm_instance_name -o oracle_home
注意: -i オプションを必要としないこの項のいずれのSRVCTL コマンドも、インスタンス名を指定しないと、ノード上のすべてのASMインスタンスに適用されます。 |
ASMインスタンスを削除するには、次の構文を使用します。
srvctl remove asm -n node_name [-i +asm_instance_name]
ASMインスタンスを有効にするには、次の構文を使用します。
srvctl enable asm -n node_name [-i ] +asm_instance_name
ASMインスタンスを無効にするには、次の構文を使用します。
srvctl disable asm -n node_name [-i +asm_instance_name]
ASMインスタンスの起動、停止およびステータスの取得にも、SRVCTL
を使用できます。次に例を示します。
ASMインスタンスを起動するには、次の構文を使用します。
srvctl start asm -n node_name [-i +asm_instance_name] [-o start_options]
ASMインスタンスを停止するには、次の構文を使用します。
srvctl stop asm -n node_name [-i +asm_instance_name] [-o stop_options]
ASMインスタンスの構成を表示するには、次の構文を使用します。
srvctl config asm -n node_name
ASMインスタンスのステータスを取得するには、次の構文を使用します。
srvctl status asm -n node_name