Oracleでは、インストール、パッチ更新、またはその他のシステム変更を行う前に、システム・チェックを実行するためのクラスタ検証ユーティリティ(CVU)が提供されています。CVUの使用方法を習得することで、必要なシステム構成やインストール前の手順を確実に行えるようになり、インストール、更新またはパッチ操作を正常に完了できます。
この付録では、CVUについて説明します。内容は次のとおりです。
関連項目: CVUを手動でインストールする方法については、ご使用のプラットフォーム固有のOracle ClusterwareおよびOracle Real Application Clustersのインストレーション・ガイドを参照してください。 |
CVUは、操作のフェーズまたはステージで主なクラスタ・コンポーネントを検証できます。コンポーネントは、ディスクの空き領域などの基本的なコンポーネントの場合と、Oracle Clusterwareの整合性チェックなどの複雑なコンポーネントの場合があります。たとえば、CVUは、Oracle Clusterwareレイヤー全体の複数のOracle Clusterwareサブコンポーネントを検証できます。また、ディスク領域、メモリー、プロセスおよびその他の重要なクラスタ・コンポーネントをチェックできます。ステージにはデータベースのインストールなどがあり、CVUはこれらのステージで、システムがOracle Real Application Clusters(Oracle RAC)のインストールのための基準を満たしているかどうかを検証できます。その他のステージには、完全に稼働しているクラスタ設定を使用したハードウェアの初期設定やシステム要件の設定などが含まれます。
ステージを検証する際に、CVUは、開始基準および終了基準を使用します。つまり、各ステージに開始基準が設定されており、そのステージを開始する前に実行される特定の検証タスクのセットが定義されています。このチェックを行うと、Oracle Clusterwareのステージの前提条件を満たさないかぎり、Oracle Clusterwareのインストールなどのステージを開始できません。
ステージの終了基準は、ステージの完了後に実行する必要がある検証タスクの別のセットを定義します。事後チェックによって、ステージのアクティビティが確実に完了します。事後チェックでは、後続のステージに伝播する前にステージ固有の問題が識別されます。
CVUコマンドとともに使用するノード・リストは、ドメインを含まないホスト名のカンマ区切りのリストである必要があります。CVUがノード・リストを処理する際にはドメインは無視されます。ドメイン情報を削除した後、CVUのコマンド・エントリに重複するノード・エントリがある場合には、CVUは重複するノード・エントリを削除します。サポートされている場合、-n all
オプションを使用して、特定のOracle RACのインストール環境に含まれるすべてのクラスタ・ノードを検証できます。CVUを使用するにはroot
ユーザーである必要はありません。CVUは、現行のユーザーがoracle
ユーザーであると仮定します。
注意: CVUは、英語ベースの構文および英語のオンライン・ヘルプのみをサポートします。 |
ネットワーク接続の検証では、CVUコマンドラインでインタフェースを指定しない場合、すべての使用可能なネットワーク・インタフェースが検出されます。記憶域のアクセス性の検証では、コマンドラインで特定の記憶域のIDを指定しない場合、CVUはサポートされるすべての記憶域タイプの共有記憶域を検出します。使用可能な場合、Oracle Clusterwareのホームも検出されます。
cluvfy
コマンドを使用して、CVUコマンドライン・ツールを実行します。cluvfy
を使用しても、クラスタ環境またはインストールされたソフトウェアに悪影響を及ぼすことはありません。cluvfy
コマンドは、Oracle Clusterwareのインストール前を含む任意のタイミングで実行できます。実際には、CVUは、ハードウェアおよびオペレーティング・システムが稼働するとすぐに使用できるように設計されています。ノード上のOracle Clusterwareを必要とするコマンドを実行したときにそのノード上にOracle Clusterwareがまだインストールされていない場合には、CVUはエラーをレポートします。
環境変数SRVM_TRACE
をtrueに設定することによって、トレースを有効にできます。たとえば、tcsh
では、setenv SRVM_TRACE true
などのエントリを使用するとトレースが有効になります。CVUのトレース・ファイルは、CV_HOME/cv/log
ディレクトリに作成されます。ログ・ファイルは自動的にローテーションされ、最新のログ・ファイルの名前はcvutrace.log.0
になります。必要に応じて不要なログ・ファイルを削除またはアーカイブしてディスク領域を解放する必要があります。トレースを有効にしないかぎり、CVUはトレース・ファイルを生成しません。
CVUを実行するノード上には、CVUソフトウェア用に30MB以上の空き領域が必要です。
現行のJDK(Java 1.4.1以上)用の領域が必要です。
各ノード上に、空き領域が25MB以上の作業ディレクトリが必要です。
注意: CVUを使用する際、CVUの作業ディレクトリへの必要な情報のコピーが試行されます。クラスタ・データベースのすべてのノード上にCVUの作業ディレクトリが存在し、CVUユーザーに対して各ノード上のディレクトリへの書込み権限が付与されていることを確認します。環境変数CV_DESTLOC を使用してこのディレクトリを設定します。この変数を設定しない場合、CVUは、LinuxおよびUNIXのシステム上では/tmp 、Windowsのシステム上ではC:\temp を作業ディレクトリとして使用します。 |
この項では、クラスタ検証ユーティリティの次の機能について説明します。
cluvfy
コマンドには、入力されたコマンドライン引数に基づいて使用方法を表示する状況依存ヘルプがあります。たとえば、cluvfy
と入力すると、ステージおよびコンポーネントの構文について説明する、一般的な使用方法を示す高水準のテキストが表示されます。cluvfy comp -list
と入力すると、有効なコンポーネントとともにそれぞれのコンポーネントの簡単な説明が表示されます。cluvfy comp -help
と入力すると、それぞれの有効なコンポーネントをチェックするための詳細な構文が表示されます。同様に、cluvfy stage -list
およびcluvfy stage -help
と入力すると、それぞれ有効なステージ、およびこれらのステージをチェックするための構文が表示されます。無効なCVUコマンドを入力すると、そのコマンドの正しい使用方法が表示されます。たとえば、cluvfy stage -pre dbinst
と入力すると、dbinst
ステージの事前チェック・コマンドの正しい構文が表示されます。CVUコマンドの詳細を表示するには、cluvfy -help
と入力します。
デフォルトでは、CVUによるレポートは非冗長モードでテストのサマリーのみがレポートされますが、-verbose
引数を使用すると詳細な出力を取得できます。-verbose
引数を指定すると、個別のチェックの詳細な出力が生成され、適用可能な場合には各ノードの結果が表レイアウトで表示されます。
cluvfy
コマンドが特定のノードについてUNKNOWN
と応答した場合、これは、チェックの合格または失敗をCVUが判別できないためです。この原因は、そのノードに対する到達可能性がないか、またはユーザー等価関係が存在しないことです。また、CVUによるチェックの実行時にそのノード上で発生していたシステムの問題が原因の場合もあります。
-verbose
引数を指定してCVUを実行し、CVUが特定のノードについてUNKNOWN
と応答した場合、これはチェックの合格または失敗をCVUが判別できないためです。UNKNOWN
という結果について考えられる原因のリストを次に示します。
ノードが停止している
CRS_home
/bin
またはOracle home
ディレクトリにCVUが必要とする実行可能ファイルが存在しない
CVUを実行したユーザー・アカウントに対して、ノード上の一般的なオペレーティング・システム実行可能ファイルを実行する権限が付与されていない
オペレーティング・システム・パッチまたは必要なパッケージがノードに適用されていない
ノードでのプロセス数またはオープン・ファイル数が最大数を超えているか、または共有メモリーやセマフォなどのIPCセグメントに問題がある
CVUにクラスタのすべてのノードのリストを提供するには、-n all
と入力します。CVUは、次の順序でノード・リストの取得を試行します。
ベンダーのクラスタウェアが使用可能な場合、CVUは、lsnodes
ユーティリティを使用して、構成されているすべてのノードをベンダーのクラスタウェアから選択します。
Oracle Clusterwareがインストールされている場合、CVUは、olsnodes
ユーティリティを使用して、構成されているすべてのノードをOracle Clusterwareから選択します。
ベンダーのクラスタウェアおよびOracle Clusterwareのいずれもインストールされていない場合、CVUは、構成ファイルでCV_NODE_ALL
キーの値を検索します。
ベンダーのクラスタウェアおよびOracle Clusterwareのいずれもインストールされておらず、構成ファイルにCV_NODE_ALL
というキーが存在しない場合、CVUは、環境変数CV_NODE_ALL
の値を検索します。
この変数が設定されていない場合、CVUはエラーをレポートします。
環境変数を設定してその変数をCVUコマンドに使用すると、部分的なノード・リストを提供できます。たとえば、LinuxまたはUNIXのシステム上で次のように入力できます。
setenv MYNODES node1,node3,node5 cluvfy comp nodecon -n $MYNODES [-verbose]
CVUの構成ファイルを使用して、CVUの実行のための特定の入力を定義できます。構成ファイルのパスは、CV_HOME/cv/admin/cvu_config
です。これはテキスト・エディタを使用して変更できます。ツールへの入力は、キー・エントリの形式で定義されています。CVUの構成ファイルを変更する場合、次の規則に従う必要があります。
キー・エントリの構文はname=value
です。
各キー・エントリおよびキーに割り当てられた値は、1つのみのプロパティを定義します。
シャープ記号(#
)で始まる行はコメント行であり、無視されます。
name=value
という構文に従っていない行は無視されます。
CVUによってサポートされるキーのリストを次に示します。
CV_NODE_ALL
: 設定すると、Oracle Clusterwareがインストールされておらずコマンドラインで-n
allオプションが使用された場合に選択する必要があるノードのリストが指定されます。デフォルトでは、このエントリはコメント・アウトされています。
CV_RAW_CHECK_ENABLED
: TRUE
に設定すると、RedHatリリース3.0上の共有ディスクのアクセス性チェックが有効になります。この共有ディスクのアクセス性チェックには、すべてのノード上にcvuqdisk
rpmがインストールされていることが必要です。デフォルトでは、このキーはTRUE
に設定されており、共有ディスクのチェックが有効になっています。
CV_XCHK_FOR_SSH_ENABLED
: TRUE
に設定すると、sshを使用してユーザー等価関係を検証するためのX-Windowsチェックが有効になります。デフォルトでは、このエントリはコメント・アウトされており、X-Windowsチェックは無効になっています。
ORACLE_SRVM_REMOTESHELL
: 設定すると、ssh/rsh
コマンドの位置を指定してCVUのデフォルト値が上書きされます。デフォルトでは、このエントリはコメント・アウトされており、CVUは/usr/sbin/ssh
および/usr/sbin/rsh
を使用します。
ORACLE_SRVM_REMOTECOPY
: 設定すると、scp
またはrcp
コマンドの位置を指定してCVUのデフォルト値が上書きされます。デフォルトでは、このエントリはコメント・アウトされており、CVUは/usr/bin/scp
および/usr/sbin/rcp
を使用します。
構成ファイルに定義されたキー・エントリを検出できない場合、CVUは、キーの名前に一致する環境変数を検索します。環境変数が設定されている場合、CVUはその値を使用します。環境変数が設定されていない場合、このエンティティのデフォルト値を使用します。
CVUを使用して次のテストを実行できます。この項の内容は次のとおりです。
Oracle ClusterwareまたはOracle RACをインストールする前にノードに対する最小システム要件を検証するには、sys
コンポーネント検証コマンドを使用します。次に例を示します。
cluvfy comp sys [ -n node_list ] -p { crs | database } } [-r { 10gR1 | 10gR2 | 11gR1} ] [ -osdba osdba_group ] [ -orainv orainventory_group ] [-verbose]
Oracle RACをインストールするためのシステム要件をチェックするには、-p
database
引数を使用します。Oracle Clusterwareをインストールするためのシステム要件をチェックするには、-p
crs
引数を使用します。Oracle Database 11gリリース1(11.1)からOracle ClusterwareまたはOracle RACをインストールするためのシステム要件をチェックするには、-r 11gR1
引数を使用します。たとえば、次のコマンドを実行して、node1
、node2
およびnode3
というクラスタ・ノード上にOracle Clusterwareをインストールするためのシステム要件を検証するとします。
cluvfy comp sys -n node1,node2,node3 -p crs -verbose
クラスタ・データベース内のノード間で記憶域が共有されているかどうかを検証する場合、またはシステム上で使用可能でありクラスタ・ノード間で共有可能なすべての記憶域を識別する場合には、コンポーネント検証コマンドssa
を使用します。次に例を示します。
cluvfy comp ssa [ -n node_list ] [ -s storageID_list ] [-verbose]
たとえば、次のコマンドを実行して、システム上で使用可能なすべての共有記憶域システムを検出します。
cluvfy comp ssa -n all -verbose
次のコマンドを実行して、クラスタ・ノード全体で/dev/sda
などの特定の記憶域のアクセス性を検証できます。
cluvfy comp ssa -n all -s /dev/sda
クラスタ・データベース内のノードの特定の位置に一定量の使用可能な空き領域があるかどうかを検証するには、コンポーネント検証コマンドspace
を使用します。
注意: space コンポーネントは、ブロック・デバイスおよびRAWデバイスをサポートしていません。 |
cluvfy comp space [ -n node_list ] -l storage_location -z disk_space {B|K|M|G} [-verbose]
たとえば、次のコマンドを実行して、すべてのクラスタ・ノード上の/home/dbadmin/products
という位置に使用可能な2GB以上の空き領域があるかどうかを検証できます。
cluvfy comp space -n all -l / home/dbadmin/products –z 2G -verbose
OCFSが使用可能なプラットフォームでOracleクラスタ・ファイル・システム(OCFS)の整合性を検証するには、コンポーネント検証コマンドcfs
を使用します。次に例を示します。
cluvfy comp cfs [ -n node_list ] -f file_system [-verbose]
たとえば、次のコマンドを実行して、すべてのノード上のクラスタ・ファイル・システム/oradbshare
の整合性を検証できます。
cluvfy comp cfs -f /oradbshare –n all -verbose
注意: ファイル・システムの共有性チェックは、OCFS2バージョン1.2.1以上でサポートされています。 |
ローカル・ノードまたは別のクラスタ・ノードからクラスタ・ノードに接続できるかどうかを検証するには、コンポーネント検証コマンドnodereach
を使用します。次に例を示します。
cluvfy comp nodereach -n node_list [ -srcnode node ] [-verbose]
使用可能なすべてのネットワーク・インタフェースまたは特定のネットワーク・インタフェースを介したクラスタ・ノード間の接続性を検証するには、コンポーネント検証コマンドnodecon
を使用します。次に例を示します。
cluvfy comp nodecon -n node_list [ -i interface_list ] [-verbose]
CVUを使用して次の操作を実行するには、-i
オプションを指定せずにnodecon
コマンドを使用します。
クラスタ・ノード上で使用可能なすべてのネットワーク・インタフェースの検出
インタフェースの対応するIPアドレスおよびサブネットの確認
VIPとしての使用に適したインタフェースのリストおよびプライベート・インターコネクトのインタフェースのリストの取得
これらのインタフェースを介したすべてのノード間の接続性の検証
cluvfy comp nodecon -n all [-verbose]
このコマンドを冗長モードで実行して、インタフェース、IPアドレスおよびサブネット間のマッピングを識別できます。特定のネットワーク・インタフェースを介したすべてのノード間の接続性を検証するには、-i
オプションを指定してcomp nodeco
nコマンドを実行します。たとえば、次のコマンドを実行して、インタフェースeth0
を介したnode1
、node2
およびnode3
というノード間の接続性を検証できます。
cluvfy comp nodecon -n node1,node2,node3 –i eth0 -verbose
ユーザー・アカウントおよび管理権限に関連する問題を検証するには、コンポーネント検証コマンドadmprv
を使用します。次に例を示します。
cluvfy comp admprv [ -n node_list ] [-verbose] | -o user_equiv [-sshonly] | -o crs_inst [-orainv orainventory_group ] | -o db_inst [-orainv orainventory_group ] [-osdba osdba_group ] | -o db_config -d oracle_home
特定のノードにユーザー等価関係が存在するかどうかを検証するには、-o user_equiv
引数を使用します。LinuxおよびUNIXのプラットフォーム上では、このコマンドはまずssh
を使用してユーザー等価関係を検証します。ssh
によるチェックが失敗した場合、次にrsh
を使用します。ssh
のみを使用して等価関係を検証するには、-sshonly
オプションを使用します。デフォルトでは、等価関係のチェックでは、Xフォワードを無効にしているかどうか、環境変数DISPLAY
を適切に設定しているかどうかなど、X-Windows構成の検証は行われません。
ユーザー等価関係のチェックでX-Windowsについて検証するには、admprv -o user_equiv
コマンドを実行する前にパスCV_HOME/cv/admin/cvu_config
に存在する構成ファイルでCV_XCHK_FOR_SSH_ENABLED
キーをTRUE
に設定します。Oracle Clusterwareをインストールするための権限が付与されているかどうかを検証するには、-o crs_inst
引数を使用します。
-o db_inst
引数を使用すると、Oracle RACをインストールするために必要な権限を検証できます。-o db_config
引数を使用すると、Oracle RACデータベースの作成またはOracle RACデータベースの構成の変更に必要な権限を検証できます。たとえば、次のコマンドを実行して、すべてのノードのユーザー等価関係を検証できます。
cluvfy comp admprv -n all -o user_equiv -verbose
LinuxおよびUNIXプラットフォームでは、このコマンドはまずsshを使用してユーザー等価関係を検証します。sshによるチェックが失敗した場合、次にrshを使用します。sshのみを使用して等価関係を検証するには、-sshonly
オプションを使用します。デフォルトでは、等価関係のチェックでは、環境変数DISPLAY
を設定してXフォワードを無効にしているかどうかなど、X-Windows構成の検証は行われません。ユーザー等価関係のチェックでX-Windowsについて検証するには、admprv -o user_equiv
コマンドを実行する前に構成ファイルCV_HOME/cv/admin/cvu_config
でCV_XCHK_FOR_SSH_ENABLED
キーをTRUE
に設定します。
すべてのノード上でVIP、ONSおよびGSDのノード・アプリケーションの存在を検証するには、コンポーネント・コマンドnodeapp
を使用します。
cluvfy comp nodeapp [ -n node_list ] [-verbose]
コンポーネント検証コマンドpeer
を使用して、ノードを比較します。次に例を示します。
cluvfy comp peer [ -refnode node ] -n node_list [-r { 10gR1 | 10gR2 | 11gR1} ] [ -orainv orainventory_group ] [ -osdba osdba_group ] [-verbose]
次のコマンドを実行すると、Oracle Database 11gリリース1(11.1)から様々なノードに対して事前選択された複数のプロパティ値が表示されます。
cluvfy comp peer -n node_list [-r 11gR1] [-verbose]
-refnode
引数を指定してcomp peer
コマンドを使用すると、参照ノードと他のノードのプロパティを比較できます。
システムがOracle Clusterwareのインストールのためのすべての基準を満たしているかどうかを検証するには、Oracle Clusterwareのインストールのための-pre crsinst
コマンドを使用します。次に例を示します。
cluvfy stage -pre crsinst -n node_list [ -c ocr_location ] [-r { 10gR1 | 10gR2 | 11gR1} ][ -q voting_disk ] [ -osdba osdba_group ] [ -orainv orainventory_group ] [-verbose]
フェーズ1が完了したら、Oracle Clusterwareが適切に機能することを確認した後で、Oracle Clusterwareのインストール・ステージのための-post crsinst
コマンドを実行して、Oracle RACのインストールのフェーズ2に進みます。
cluvfy stage -post crsinst -n node_list [-verbose]
システムがOracle RACのインストールのためのすべての基準を満たしているかどうかを検証するには、データベースのインストール・ステージのためのpre dbinst
コマンドを使用します。次に例を示します。
cluvfy stage -pre dbinst -n node_list [-r { 10gR1 | 10gR2 | 11gR1} ] [ -osdba osdba_group ] [ -orainv orainventory_group ] [-verbose]
システムがデータベースの作成またはデータベースの構成の変更を行うためのすべての基準を満たしているかどうかを検証するには、データベースの構成ステージのためのpre dbcfg
コマンドを使用します。次に例を示します。
cluvfy stage -pre dbcfg -n node_list -d oracle_home [-verbose]
クラスタ全体の整合性をチェックする(クラスタ内のすべてのノードでクラスタ構成のビューが同じであることを確認する)には、コンポーネント検証コマンドcomp clu
を使用します。次に例を示します。
cluvfy comp clu
すべてのOracle Clusterwareコンポーネントの整合性を検証するには、コンポーネント検証コマンドcomp crs
を使用します。次に例を示します。
cluvfy comp crs [ -n node_list ] [-verbose]
Cluster Managerの個々のサブコンポーネントの整合性を検証するには、コンポーネント検証コマンドcomp clumgr
を使用します。次に例を示します。
cluvfy comp clumgr [ -n node_list ] [-verbose]
Oracle Cluster Registryの整合性を検証するには、コンポーネント検証コマンドocr
を使用します。次に例を示します。
cluvfy comp ocr [ -n node_list ] [-verbose]
表A-1に、前述の例で使用されているCVUの引数およびオプションを示します。
表A-1 クラスタ検証ユーティリティの引数およびオプション
引数またはオプション | 定義 |
---|---|
|
テストを行う必要がある非ドメイン修飾ノード名のカンマ区切りリストです。 |
|
インタフェース名のカンマ区切りリストです。 |
|
ファイル・システムの名前です。 |
|
記憶域識別子のカンマ区切りリストです。 |
|
記憶域パスです。 |
|
必要なディスク領域で、単位はバイト(B)、キロバイト(K)、メガバイト(M)またはギガバイト(G)です。 |
|
OSDBAグループの名前です。デフォルトは |
|
Oracleインベントリ・グループの名前です。デフォルトは |
|
CVUの出力を詳細出力にします。 |
|
ノード間のユーザー等価関係をチェックします。 |
|
ssh設定のみでユーザー等価関係をチェックします。 |
|
Oracle Clusterwareをインストールするための管理権限をチェックします。 |
|
Oracle RACをインストールするための管理権限をチェックします。 |
|
データベースを作成または構成するための管理権限をチェックします。 |
|
他のノードとの互換性をチェックするための参照ノードとして使用するノードです。 |
|
他のノードへの到達可能性をチェックする必要があるノードです。 |
|
Oracle ClusterwareまたはOracle RACのインストール要件を検証するOracle Databaseのリリースです。このオプションを指定しない場合は、Oracle Database 11gリリース1(11.1)について検証されます。 |
現行のリリースのCVUでは、Oracle Database 10g以上、Oracle RACおよびOracle Clusterwareのみがサポートされています。CVUには下位互換性がありません。そのため、CVUは、Oracle Database 10gより前のOracle Database製品をチェックまたは検証することはできません。
現行のリリースのcluvfy
には、共有記憶域アクセス性のチェックに関して、Linuxに対する次のような制限があります。
現在、NAS記憶域(読取り/書込み、属性キャッシュなし)およびOCFS2(バージョン1.2.1以上)がサポートされています。
NASの共有性チェックの場合、cluvfy
コマンドを実行するには、指定されたパスに対する書込み権限が必要です。cluvfy
のユーザーに書込み権限が付与されていない場合、cluvfy
はそのパスがnot
shared
であるとレポートします。
CVUを使用してRed Hat Linux 3.0(以上)およびSUSE Linux Enterprise Server上のSCSIディスクの検出および共有記憶域のアクセス性のチェックを実行する場合、CVUQDISKパッケージが必要です。CVUの使用を試行したときにOracle RAC環境のいずれかのノード上にCVUQDISKパッケージがインストールされていない場合、CVUでエラーが発生します。
CVUQDISKパッケージをインストールするには、次の手順を実行します。
root
ユーザーとしてログインします。
cvuqdisk-1.0.1-1.rpm
というrpmをローカル・ディレクトリにコピーします。このrpmは、Oracle Clusterwareのインストール・メディアの最上位ディレクトリのrpm
サブディレクトリ内にあります。たとえば、cvuqdisk-1.0.1-1.rpm
は、/
mountpoint
/clusterware/rpm/
というディレクトリにあります。ここでmountpoint
は、ディレクトリが配置されているディスクのマウント・ポイントです。
環境変数を、CVUQDISKパッケージ・バイナリを所有する必要があるグループに設定します。CVUQDISK_GRP
が設定されていない場合、デフォルトで、oinstall
グループが所有者グループになります。
コマンドrpm -q cvuqdisk
を実行して、CVUQDISKパッケージの以前のバージョンがインストールされているかどうかを判別します。以前のバージョンのCVUQDISKパッケージが検出された場合、コマンドrpm -e cvuqdisk
previous_version
を実行してこのパッケージを削除します。ここでprevious_version
は、以前のバージョンのCVUQDISKの識別子です。
コマンドrpm -iv cvuqdisk-1.0.1-1.rpm
を実行して、最新のCVUQDISKパッケージをインストールします。