19 Oracle Flex ASMの管理

Oracle Flex ASMを使用すると、データベース・サーバーとは異なる物理サーバーでOracle ASMインスタンスを実行できます。

この項では、Oracle Flex ASMについて説明します。内容は次のとおりです。

関連項目:

Oracle Flex ASMの概要

Oracle Flex ASMを使用すると、データベース・サーバーとは異なる物理サーバーでOracle ASMインスタンスを実行できます。このデプロイでは、システム全体におけるOracle ASMのフットプリントを削減しながら、Oracle ASMインスタンスの大規模なクラスタでより多くのデータベース・クライアントをサポートできます。

Oracle Flex ASMを使用している場合、Oracle ASMクライアントはストレージへの直接アクセスで構成されます。

Oracle Flex ASMを使用すると、すべての記憶域の要件を、ディスク・グループの単一のセットに統合できます。これらのすべてのディスク・グループを、単一のクラスタで実行中のOracle ASMインスタンスの小さいセットでマウントおよび管理します。カーディナリティ設定で、Oracle ASMインスタンスの数を指定できます。デフォルトは、3インスタンスです。

クラスタは、グループ・メンバーシップ・サービスを提供するノードのセットです。各クラスタの名前は、グローバルに一意です。各クラスタには、1つ以上のハブ・ノードがあります。ハブ・ノードは、Oracle ASMディスクにアクセスできます。すべてのクラスタには、少なくとも1つのプライベート・ネットワークおよびパブリック・ネットワークがあります。クラスタが格納のためにOracle ASMを使用する場合、少なくとも1つのOracle ASMネットワークがあります。1つのネットワークを、プライベート・ネットワークおよびOracle ASMネットワークの両方として使用できます。セキュリティ上の理由で、Oracle ASMネットワークはパブリックにしないでください。クラスタ内で実行中のOracle Flex ASM構成は、1つのみ指定できます。

Oracle ASMインスタンスは、Oracle Flex ASMでの様々な構成で動作できます。

  • Oracle ASMディスク(標準Oracle ASMクラスタ)に直接アクセスできるローカルOracle ASMクライアント

  • Oracle ASMディスクに直接アクセスできるOracle Flex ASMクライアント

  • Oracle ASMプロキシ・インスタンスを介したOracle ACFSアクセス

  • Oracle IOServer (IOS)によるOracle ASMディスク・グループへのネットワークベースの接続

これらの構成を図19-1図19-2および図19-3に示します。

Oracle ASMディスク(標準Oracle ASMクラスタ)に直接アクセスできるローカルOracle ASMクライアント

このモード(図19-1ハブ・ノードA)の場合、Oracle ASMは、データベース・クライアントが同じホスト・コンピュータ上でOracle ASMインスタンスとともに稼働している既存の標準アーキテクチャを引き続きサポートします。ローカル・クライアント・アーキテクチャのみが、ハブ・ノードでサポートされます。

図19-1 Oracle Flex ASMクライアント構成

図19-1の説明が続きます
「図19-1 Oracle Flex ASMクライアント構成」の説明

この構成では、データベース・インスタンスはOracle ASMインスタンスとして同じハブ・ノードに存在し、ローカルOracle ASMクライアント・インスタンスとして参照されます。Oracle ASMメタデータは、Oracle ASMとデータベース・インスタンス間で移動します。このクライアントは、Oracle ASMディスクに直接I/Oアクセスできます。

ローカル・モードはOracle Flex ASMを使用しないため、ローカルOracle ASMで構成されたクラスタはOracle ASMネットワークが必要なく、他のOracle Flex ASMサービスも含まれません。

Oracle ASMディスクに直接アクセスできるOracle Flex ASMクライアント

このモード(図19-1ハブ・ノードB)の場合、Oracle ASMクラスタのハブ・ノードで稼働しているデータベース・クライアントは、メタデータのためにOracle ASMにリモートでアクセスしますが、Oracle ASMディスクへのI/Oのブロック操作を直接実行します。Oracle ASMサーバーを実行しているホストとリモート・データベース・クライアントは、どちらもハブ・ノードであることが必要です。ハブ・ノードは、他のサーバーと緊密に接続し、共有ディスクに直接アクセスするOracle ASMクラスタ内のノードです。

この構成では、データベース・インスタンスは周辺のOracle ASMインスタンス(図19-1ハブ・ノードC)と異なるホスト・コンピュータ上に存在し、Oracle ASMクライアント・インスタンスとして参照されます。

データベースはOracle ASMインスタンスと同じOracle ASMクラスタ内にあり、データベース・インスタンスはハブ・ノード上にあります。Oracle ASMメタデータは、Oracle ASMとデータベース・インスタンス間で移動します。このクライアントは、Oracle ASMディスクに直接I/Oアクセスできます。

データベース・インスタンスとOracle ASMインスタンスの分散に応じて、データベース・クライアントは、同じノード上でOracle ASMにローカルにアクセスするか、またはOracle ASMネットワーク上でリモートにアクセスします。この操作のモードは、Oracle ASMクラスタ内のハブ・ノード上のデータベース・クライアントによって使用されます。直接アクセス・モードも、Oracle ASMクラスタ・ファイルシステムによってサポートされる唯一のOracle Flex ASM構成です。

Oracle ASMプロキシ・インスタンスを介したOracle ACFSアクセス

Oracle ASMプロキシ・インスタンスは、直接Oracle ASMクライアントとともにハブ・ノードで実行中のOracleインスタンスです。Oracle ASMプロキシ・インスタンスでは、Oracle Automatic Storage Managementクラスタ・ファイルシステム(Oracle ACFS)およびOracle ASM動的ボリューム・マネージャ(Oracle ADVM)がサポートされます。

図19-2は、Oracle Flex ASMでのOracle ASMプロキシ・サーバーを使用したOracle ACFSおよびOracle ADVMの構成を示しています。

図19-2 Oracle Flex ASMでのOracle ACFSおよびOracle ADVMの構成

図19-2の説明が続きます
「図19-2 Oracle Flex ASMでのOracle ACFSおよびOracle ADVMの構成」の説明

Oracle ASMプロキシ・インスタンスのINSTANCE_TYPE初期化パラメータは、ASMPROXYに設定されます。

Oracle IOServer (IOS)によるOracle ASMディスク・グループへのネットワークベースの接続

Oracle IOServerインスタンスは、Oracle ASM管理対象ディスクに接続できないOracleメンバー・クラスタのノード上のOracle DatabaseインスタンスにOracle ASMファイル・アクセスを提供します。

図19-3は、Oracle IOServerとメンバー・クラスタ内のOracle Databaseの関係を示しています。

図19-3 Oracle IOServerの構成

図19-3の説明が続きます
「図19-3 Oracle IOServerの構成」の説明

さらに、IOSを使用すると、そのようなノードでクライアント・クラスタを構成できます。ストレージ・クラスタでは、IOServerインスタンスがクライアントによるIOの送信先であるネットワーク・ポートを開きます。IOServerインスタンスは、データ・パケットをクライアントから受信し、他のデータベース・クライアントと同様、Oracle ASMディスクへの適切なIOを実行します。クライアント側では、データベースはdNFSを使用してIOServerインスタンスと通信できます。しかし、クライアント側の構成がないため、サーバーIPアドレスや追加の構成情報を指定する必要がありません。IOServer経由でOracle ASMファイルにアクセスするように構成されたノードおよびクラスタでは、Oracle IOSインスタンスの検出が自動的に行われます。

IOSインスタンスには、次のプロセスが含まれます。

  • ネットワーク・プロセス: このプロセスでは、ネットワーク・ポートを開き、クライアント側からのdNFSリクエストを受信します。このようなリクエストは、IOプロセスおよび識別プロセスが受け取って処理するように、キューに入れられます。また、ネットワーク・プロセスでは、他のタイプのプロセスからのレスポンスを受け取って、そのレスポンスをクライアントに返信します。

  • 識別プロセス: このプロセスは、dNFSリクエストを受け取り、Oracle ASMファイルの作成、削除、識別、識別解除およびサイズ変更を行います。

  • IOプロセス: このプロセスでは、ローカルIOSインスタンスによって識別されたファイルに対して実際のIOを実行します。

ASM_IO_PROCESSES初期化パラメータでは、Oracle IOサーバー・インスタンスで開始されるIOワーカー・プロセスの数を指定します。ASM_IO_PROCESSES初期化パラメータの詳細は、「ASM_IO_PROCESSES」を参照してください。

Oracle Flex ASMの設定について

Oracle Flex ASMデプロイメントをインストールするには、ネットワークを分類し、Oracle ASMネットワークとして使用するためのネットワークのリストを選択します。

新しくインストールする際にOracle Flex ASMを選択した場合、OUIによって、Oracle ASMネットワークを選択するよう求められます。

Oracle ASMリスナー・リソースは、各Oracle ASMネットワークに対して自動的に作成され、すべてのノードで起動されます。

関連項目:

Oracle Clusterwareのインストールの詳細は、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

Oracle Flex ASMの管理

Oracle Flex ASMは、ASMCA、CRSCTL、SQL*PlusおよびSRVCTLによって管理されます。INSTANCE_TYPE初期化パラメータは、インスタンスのタイプを指定します。

INSTANCE_TYPE初期化パラメータには、ASMおよびRDBMSの他に、追加の値ASMPROXYがあり、Oracle ASMプロキシ・インスタンスを識別します。Oracle ASMプロキシ・インスタンスには、ASMPROXYに設定されたパラメータがあります。

ASMCMD showclustermodeコマンドを使用して、Oracle Flex ASMが有効であるかどうかを確認できます。次に例を示します。

$ asmcmd showclustermode
ASM cluster : Flex mode enabled 

SRVCTLは、管理者がOracle Clusterwareリソースの属性を作成または変更できるように拡張されます。SRVCTLを使用して、Oracle Flex ASM構成でのインスタンスのステータスを決定できます。次に例を示します。

$ srvctl status asm -detail
ASM is running on mynoden02,mynoden01
ASM is enabled.

SRVCTLを使用して、Oracle Flex ASMが有効であるかどうかを確認することもできます。有効である場合、srvctl config asmは、Oracle Flex ASM構成で使用するために指定されているOracle ASMインスタンスの数を表示します。次に例を示します。

$ srvctl config asm
ASM instance count: 3

SRVCTLのmodify asmコマンドを使用して、Oracle ASMインスタンス数(カーディナリティ)を変更できます。次に例を示します。

$ srvctl modify asm -count 4

$ srvctl modify asm -count ALL

SQL*PlusおよびASMCMDコマンドを使用して、Oracle Flex ASM接続を表示できます。たとえば、次のようになります。

SQL> SELECT instance_name, db_name, status FROM V$ASM_CLIENT;
INSTANCE_NAME   DB_NAME  STATUS
--------------- -------- ------------
+ASM1           +ASM     CONNECTED
orcl1           orcl     CONNECTED
orcl2           orcl     CONNECTED

$ asmcmd lsct data
DB_Name  Status    Software_Version  Compatible_version  Instance_Name  Disk_Group
+ASM     CONNECTED       12.1.0.0.2          12.1.0.0.2  +ASM           DATA
orcl     CONNECTED       12.1.0.0.2          12.0.0.0.0  orcl1          DATA
orcl     CONNECTED       12.1.0.0.2          12.0.0.0.0  orcl2          DATA

Oracle ASMインスタンスが失敗した場合、クライアントは自動的に別のインスタンスに再配置されます。必要に応じて、クライアントを手動で再配置できます。

SRVCTL UPDATE INSTANCEコマンドおよびSRVCTL UPDATE IOSERVERコマンドは、データベースのOracle ASMインスタンス、データベースのOracle IOServerインスタンスまたはOracle IOServerのOracle ASMインスタンスを変更できます。次に例を示します。

$ srvctl update instance -db my_orcl_db -instance my_instance_1 -targetinstance my_asm_instance_1

$ srvctl update ioserver -instance my_instance_2 -targetinstance my_asm_instance_2

-detailオプションを指定してSRVCTL STATUSコマンドを実行し、各クライアントの接続先であるOracle ASMインスタンスまたはOracle IOserverインスタンスを表示できます。

また、ALTER SYSTEM RELOCATE CLIENTコマンドを使用して、クライアントを再配置することもできます。次に例を示します。

SQL> ALTER SYSTEM RELOCATE CLIENT 'client-id';

以前のSQL文では、client-idは、instance_name:db_nameの形式です。INSTANCE_NAMEおよびDB_NAME列は、V$ASM_CLIENTビューに含まれています。SQL文を実行するには、SYSASMとしてOracle ASMインスタンスに接続する必要があります。この文を発行すると、クライアントへの接続は終了し、クライアントは最も少なくロードされたインスタンスにフェイルオーバーします。クライアントが最も少なくロードされたインスタンスに現在接続している場合、クライアントへの接続は終了し、クライアントはその同じインスタンスにフェイルオーバーします。

すべてのデータベース・ユーザーは、Oracle ASMに接続する資格証明を含むウォレットを持つ必要があります。データベース・ユーザーは、CRSCTLコマンドを使用して、このウォレットを管理できます。すべてのOracle ASMユーザー名およびパスワードは、システムで生成されます。

Oracle Flex ASM構成でのインスタンス用の特別な新しい初期化パラメータはありませんが、既存のパラメータの設定が確認され、Oracle Flex ASM環境に合うように調整される可能性があります。Oracle ASM初期化パラメータの推奨設定を参照してください。

関連項目: