プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
11g リリース2 (11.2)
B56290-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

D Oracle RAC監査構成ツール

この付録では、Oracle Real Application Clusters (Oracle RAC)構成監査ツール(RACcheck)を実行およびメンテナンスするために必要な情報について説明します。このツールは、Oracle RACシステムの重要な様々な構成設定を監査するよう設計されています。


注意:

RACcheckを含むOracle Database 11gリリース2 (11.2.0.4)にまだアップグレードしていない場合、または(3か月ごとにオラクルによりチェックが追加される)最新バージョンのRACcheckをまだ入手していない場合は、次のURLからRACcheckをダウンロードしてください。

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1268927.1


内容は次のとおりです。

RACcheckの機能

RACcheckは、次のカテゴリの構成設定の監査に使用できます。

  • オペレーティング・システムのカーネル・パラメータ

  • Oracle RACに重要なオペレーティング・システム・パッケージおよびその他のオペレーティング・システム構成設定

  • Oracle Grid Infrastructure

  • Oracle Automatic Storage Management(Oracle ASM)

  • Oracle Database

  • Oracle RACに重要なデータベース・パラメータおよびその他のデータベース構成設定

  • Oracle Database 11gリリース2 (11.2)へのアップグレード準備状況評価

RACcheckは、Oracle RAC Databaseサーバー、Oracle RACデータベース(10gリリース2 (10.2)、11gリリース1 (11.1)および11gリリース2 (11.2))、Oracle Grid Infrastructure、ハードウェア、オペレーティング・システムおよびOracle RACソフトウェアで使用できます。また、RACcheckは、クラスタ化されていないOracle Database(10gリリース2 (10.2)、11gリリース1 (11.1)、11gリリース2 (11.2))、Oracle Restartシステム、およびOracle Real Application Clusters One Node構成で使用できます。

RACcheckは、次のプラットフォームで使用可能です。

  • Intel Linux脚注 1  (Enterprise Linux、RedHatおよびSuSE 9、10、11)

  • Oracle Solaris SPARC (Solaris 10および11)

  • Oracle Solaris x86-64 (Solaris 10および11)

  • IBM AIX脚注 2 

  • HP-UX脚注 2

RACcheckには、次のような機能もあります。

  • RACcheckでは必要な処理は少なく、次の項目以外の環境の変更は行いません。

    • 監査対象のすべてのデータベース・サーバーで、Oracle Databaseのソフトウェア所有者に対してSSHユーザー等価を構成しないと、RACcheckでは、リモート・データベース・サーバー・ノードでコマンドを実行できません。RACcheckでSSHユーザー等価が構成済でないと判断されると、ツールではユーザー等価を一時的または永続的に設定するオプションを示します。SSHユーザー等価を一時的に設定するよう選択すると、セッションの終わりにRACcheckによりキーが削除され、システムは元のSSHユーザー等価の状態にリストアされます。(構成済でない場合に)RACcheck外でSSHユーザー等価を構成する場合は、次のURLでMy Oracle Supportノート372795.1を参照してください。

      https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=372795.1


      注意:

      Oracle Databaseソフトウェアのインストール所有者には必ずSSHユーザー等価が必要ですが、Oracle Grid Infrastructureの構成には必要はありません

    • RACcheckは、評価を実行するために必要なデータを収集する多数の小さい出力ファイルを生成します。

    • RACcheckは、一部のデータを収集するために、一部のスクリプトを動的に作成および実行します。

    • RACcheckは、収集の一貫として、作成された不要なすべての一時ファイルを削除します。

  • RACcheckは、Oracleスタック・コンポーネント(具体的には、Oracle Grid Infrastructure、Oracle Database、Oracle RACなど)の状態を判断し、それらがインストールされ実行されているか、システムに問合せます。各コンポーネントの状態に応じて、RACcheckは適切な収集および監査チェックを行います。


    関連項目:

    ローカルの環境構成が原因でRACcheckが必要な環境情報を正しく特定できない場合のトラブルシューティング

  • RACcheckは、バックグラウンドで自動的にプロセスを実行し、コマンドの実行の進捗を監視します。なんらかの理由により、RACcheckで実行されたコマンドの1つがハングしたり、予想よりも長く実行されている場合、この監査プロセスにより構成可能な時間の経過後にコマンドは停止され、RACcheckは実行を続行できます。これが発生した場合、RACcheckではハングした収集またはコマンドをスキップし、ログに注記を記録します。


    関連項目:

    デフォルトのタイムアウト期間が短すぎる場合に、RAT_TIMEOUTおよびRAT_ROOT_TIMEOUTパラメータを調整するには、「ランタイム・コマンドのタイムアウト」を参照してください。

  • RACcheckのドライバ・ファイルが90日より古い場合、そのドライバ・ファイルは失効しているとみなされ、ドライバ・ファイルが失効しているという通知がされます。

  • RACcheckでは、収集および分析が完了すると、利点、影響、リスク、アクションおよび修復情報を含むHTML形式の詳細なレポートを生成します。このレポートには、公開されているドキュメントへの参照および問題とその解決方法の追加情報も含まれる場合があります。RACcheckでは、圧縮された出力ファイルも生成します。この出力ファイルは、必要に応じてMy Oracle Supportに渡すことができます。

  • オプションで、レポート目的で、監査チェックの結果をデータベース表にアップロードできます。

  • RACcheckを使用する可能性のある各クラスタにコピーせず、RACcheckを共有のファイル・システムにステージングして、1つの場所に維持し様々なシステムからアクセスできるようにしたい場合があります。RACcheckでは、デフォルトの動作として、ステージングされる場所にサブディレクトリおよびその出力ファイルを作成します。ステージング領域が読取り専用のファイル・システムであったり、出力を他の場所に作成したい場合、この目的に使用できる環境変数があります。RAT_OUTPUTパラメータを任意の有効な書込み可能な場所に構成します。

RACcheckの用途

RACcheckの使用時には、次を考慮します。

  • RACcheckは、Oracle DatabaseサーバーでOracle Databaseソフトウェア所有者(oracle)として実行します。

  • RACcheckには、RACcheckを定期的に(バッチまたはサイレント・モードで)非対話的に実行することを可能にするデーモンが含まれます。

  • RACcheckで最高のパフォーマンスを得るには、1つのデータベース・サーバー上のローカル・ファイル・システムにインストールして実行することをお薦めします。

  • RACcheckは、Oracle Grid Infrastructureおよび最低1つのデータベースが稼働中のときにを実行すると、有効性を最大限にできます。

  • RACcheckは、システムに対する負荷が最小のときに実行することをお薦めします。

  • RACcheckで、ネットワークに接続されたワークステーションやノート型コンピュータの端末セッションから実行する際に発生する可能性のある問題を避けるには、VNCを使用してツールを実行すると、ネットワークに障害が発生した場合にも、それが終了するまでツールを実行し続けることができます。

  • RACcheckになんらかの理由で障害が発生した場合は、最初から再度実行します。RACcheckは、障害が発生したところから再開することはできません。

  • RACcheckはすべてのノードから同時に実行できます。このツールを並行して実行しながら、root固有のチェックを利用するには、システムにインストールされているEXPECTユーティリティを使用するか、RACcheckでsudoを使用できるよう構成します。

    sudoを構成するには、visudoコマンドを使用して、各クラスタ・ノードのsudoersファイルにデータベース・ソフトウェアをインストールしたユーザーとownerを置き換える次の行を追加します。

    owner ALL=(root)  NOPASSWD:/tmp/root_raccheck.sh
    
  • RACcheckに対する権限が755 (-rwxr-xr-x)であることを確認します。権限の設定が不正な場合は、次のコマンドを実行します。

    $ chmod 755 raccheck
    

この項の内容は次のとおりです。

RACcheckを使用する状況

RACcheckはご希望の時間に使用できますが、RACcheckは次のときに使用することをお薦めします。

  • Oracle RACの最初のデプロイ後

  • すべての計画メンテナンスの前後

  • 最低90日ごとに1回

RACcheckで使用可能なオプション

表D-1にRACcheckで使用可能なオプションとその説明を示します。

表D-1 RACcheckのオプション

オプション 説明
-a

このオプションは、ベスト・プラクティスおよび推奨されるパッチ・チェックの両方を実行する場合に指定します。これは、RACcheckを実行するデフォルトの方法です。

-b

このオプションは、ベスト・プラクティスのチェックのみを実行する場合に指定します。

-p

このオプションは、推奨のパッチ・チェックのみを実行する場合に指定します。

-v

このオプションは、現在使用中のRACcheckのバージョンを表示する場合に指定します。

-m

このオプションは、最大可用性アーキテクチャ(MAA)スコアカードのチェックを除外する場合に指定します。

MAAスコアカードとは、最大可用性アーキテクチャに対するベスト・プラクティスのセットについての結果で、Oracle RAC環境で発生する可能性のある様々な種類の障害に対するシステムの準備状況を示します。

MAAは重要な概念および機能セットと考えられているため、RACcheckではMAAスコアカードが示されます。ただし、Oracle Data Guardスタンバイ・データベースを実装している場合、最も役立ちます。

-u

このオプションは、アップグレード前、アップグレード後のベスト・プラクティスをチェックするためにRACcheckを実行する場合に使用します。-o preまた-o post-uオプションとともに使用する必要があります。次に例を示します。

$ raccheck -u -o pre
-o

このオプションは、オプションに引数を追加する場合に使用します。引数には次のようなものがあります。

  • verbose: この引数を指定した場合、パスしたチェックがRACcheckによって出力されます。RACcheckのデフォルトの動作では、失敗したり、警告が発行されたり、その他の情報を含むチェックのみを出力します。

  • pre: この引数は、(-uオプションとともに使用して)RACcheckでアップグレード前のベスト・プラクティスをチェックする場合に使用します。

  • post: この引数は、(-uオプションとともに使用して)RACcheckでアップグレード後のベスト・プラクティスをチェックする場合に使用します。

-f

このオプションは、システムからすでに収集されたデータをオフラインでチェックする場合に使用します。

-clusternodes

このオプションは、RACcheckを実行するカンマ区切りのノード名のリストを入力するために使用します。

このオプションは、RACcheckをクラスタ・ノードのサブセットで実行する場合や、RACcheckがolsnodesを使用してクラスタ・ノードの情報を取得することに失敗した場合のみ必要です。

-localonly

このオプションは、RACcheckをローカル・ノードで実行する場合のみ使用します。

-nopass

このオプションは、パスしたチェックをHTMLレポートで省略する場合に使用します。

-diff report_1 report_2
 [-outfile output_HTML]

このオプションは、2つのRACcheckレポートとともに、それを相互に比較するために、ディレクトリ名、zipファイル、またはHTMLレポートの形式で使用します。オプションで-outfileオプションを使用し、比較をHTMLで出力できます。

注意: 出力ディレクトリの権限は、可能なかぎり制限して、セキュリティ上の脆弱性を制限することをお薦めします。出力ディレクトリには構成に関する機密情報および、他に方法がない場合は、一時データの収集ファイルが含まれる可能性があります。

関連項目: 詳細は、「RACcheckでのレポートの比較」を参照してください。

-daemon

このオプションは、RACcheckデーモンの実行中のみRACcheckを実行する場合に使用します。

-nodaemon

このオプションは、コマンドの実行にRACcheckデーモンを使用しない場合に使用します。

-d command

このオプションは、RACcheckデーモンを制御するコマンドとともに使用します。次のコマンドを使用できます。

  • start: RACcheckデーモンを起動します

  • stop: RACcheckデーモンを停止します

  • status: RACcheckデーモンの現在の状態を取得します

  • nextautorun: このコマンドを使用すると、RACcheckデーモンの実行中に、「RACcheckデーモンを使用したRACcheckの実行」で説明するAUTORUN_INTERVALの値を使用した、RACcheckの次回の実行時間を取得できます。

-set "parameter_1=value_1
;parameter_2=value_2..."

このオプションは、「RACcheckデーモンを使用したRACcheckの実行」で列挙したRACcheck構成パラメータを設定するために使用します。

-get parameter | all

このオプションは、特定のRACcheckの構成パラメータ、またはすべてのRACcheckの構成パラメータの値を取得する場合に指定します。

-profile profile_name

このオプションは、特定のプロファイルを実行するためにRACcheckを構成するために使用します。サポートされるプロファイルは次のとおりです。

  • asm: このプロファイルでは、Oracle ASMの構成がチェックされます

  • clusterware: このプロファイルでは、Oracle Clusterware (Oracle Grid Infrastructureの一部)の構成がチェックされます

  • dba: このプロファイルは、データベース管理者の構成がチェックされます

  • sysadmin: このプロファイルは、システム管理者の構成がチェックされます

-h

このオプションは、RACcheckの用途を表示するために使用します


RACcheck使用のガイドライン

oracleユーザーがシステム上に存在し、(Oracle Clusterware、Oracle Database、Oracle ASMなどの)すべてのOracleコンポーネントがインストール済または実行中の場合、RACcheckをoracle (またはOracle Databaseソフトウェアのインストール所有者)ユーザーとして実行することをお薦めします。RACcheckでは、root権限が必要な監査チェックをいくつか行うため、sudoが構成されていなかったり、rootのパスワードがわからない場合、rootパスワード・メニューでオプション3を選択してRACcheckを構成し、これらの監査チェックをスキップできます。

RACcheckは、raccheck -profile sysadminコマンドを使用してsysadminプロファイルを指定した場合のみ、rootとして実行できます。この場合、RACcheckではデータベース関連のすべてのベスト・プラクティスをスキップしますが、全クラスタ・ノードでrootユーザーに対してSSHユーザー等価を設定する必要があるため、RACcheckではrootのパスワードは求められません。


注意:

通常、RACcheckをoracleで実行した場合、オペレーティング・システムによる認証がOracle Databaseソフトウェア所有者用に設定されるため、RACcheckでデータベースのログイン資格証明は不要になります。


関連項目:

  • SSHユーザー等価の構成方法の詳細は、次のURLを参照してください。

    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=372795.1

  • RACcheckを別のユーザーとして実行したり、ツールの実行前にデータベース認証を確認する方法の詳細は、「データベースのログイン上の問題」を参照してください。


RACcheckのパスワードの処理方法

RACcheckではパスワードを格納したり保存しません。rootパスワードの処理は、expectユーティリティがインストールされているかどうかによって異なります。

(Oracle Enterprise Linux 5を除くすべてのプラットフォームでデフォルトである) expectユーティリティがインストールされていない場合、rootのパスワード要求は延期され、RACcheckの実行の進捗を注意深く監視して、クラスタ内の各ノードで1回要求された際に、パスワードを入力する必要があります。それ以外の場合、RACcheckではパスワードを対話的に自動化するexpectユーティリティを使用します。他のLinuxディストリビューションにexpectユーティリティをインストールすると、パスワードの対話的な処理を自動化できます。

RACcheckによってexpectユーティリティが検出されると、プロセスの最初でツールによってrootパスワードが収集され、各ノードでrootパスワードが要求され必要とされるたびに、expectユーティリティによってそれが提供され、ユーザーがさらに入力を行う必要なくRACcheckを続行できます。

RACcheckは、クラスタ内のすべてのデータベース・サーバーでrootパスワードが同一であるか照会をします。(デフォルトである)肯定の応答を行った場合、rootパスワードが1回要求され検証され、以降クラスタ内のすべてのノードで使用されるようになります。(クラスタ内のすべてのノードのrootパスワードは同一でないという)否定の応答を行った場合、RACcheckによってクラスタ内の各ノードで個々にrootパスワードが求められ検証されます。

また、RACcheckによってexpectユーティリティが検出される場合、正しいパスワードを入力する機会が3回与えられ、rootパスワードは検証されます。正しいパスワードの入力に3回失敗すると、RACcheckは次のノードに移り、パスワードがまだ不正で、そのノードで収集されたデータに対するチェックがスキップされることを示すメッセージを表示します。この時点で、RACcheckの実行をキャンセルして正しいrootパスワードを入手するか、レポートに重要な情報が欠落している可能性がある認識で続行するかを選択します。

RACcheckでexpectユーティリティを使用する場合、rootパスワードが入力され検証されてから、それらのパスワードの対象であるノードに到達する間に、そのパスワードが変更されてしまう可能性もあります。その場合、RACcheckは、パスワードが変更された可能性があり、そのノードに対する収集(そのノードのチェック)をスキップするというメッセージを表示しますが、これはそのノードのチェックがスキップされることを意味します。データおよびチェックがスキップされることを把握したままRACcheckを完了させるか、RACcheckの実行をキャンセルして問題を解決するかいずれかを実行できます。

なんらかの理由によりRACcheckでチェックが1つでもスキップされる場合、実行の終了後に、どのノードでどのチェックがスキップされたか、ツールによってログにレポートがされます。

RACcheckの使用

RACcheckは、対話的にも、サイレントにも、また指定した間隔でRACcheckを自動的に実行することも可能です。RACcheckを対話的に実行するには、次のコマンドを実行します。

$ raccheck

RACcheckにより監査プロセスの間プロンプトが表示されます。


注意:

RACcheckの実行にかかる時間は、クラスタ内のノード数、CPUに対する負荷、ネットワークの遅延などの要因によって異なります。通常、処理全体は各ノードで5分ほどです。これは一般的な目安で、これよりも大幅に時間がかかる場合は、調査の必要がある他の問題がある場合があります。

この項の内容は次のとおりです。

RACcheckデーモンを使用しないRACcheckのサイレント・モードでの実行

RACcheckをサイレント・モードで実行するには、次の手順を実行します。

  1. まずSSHユーザー等価を構成します。SSHユーザー等価の構成方法の詳細は、次のURLを参照してください。

    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=372795.1


    注意:

    SSHユーザー等価は、クラスタをサポートするためにシステムでOracle Grid Infrastructureを実行している場合のみ必要です。これはクラスタ化されていないデータベースやOracle Restart構成では、必要ありません

  2. RACcheckでは、root固有のチェックの実行に、rootでのアクセスを必要とします。これらのチェックをサイレント・モードで進めるには、パスワード不要のsudoを構成して-sオプションを使用してRACcheckを実行します。


    注意:

    環境でsudoが許可されない場合には、この手順をスキップします。この場合でも、-Sオプションを使用して、ルート固有のチェックを行わずRACcheckをサイレントに実行することができます。ルート固有のチェックを排除すると、RACcheckの能力が制限されるため、この方法でのRACcheckの実行はお薦めしません。

  3. RACcheckをサイレントで実行するには、構成に応じて次のいずれかの引数を指定します。

    • -s: このオプションでは、sudooracleユーザーがrootパスワードを使用せず、無人でRACcheckを実行できます

    • -S: このオプションでは、rootパスワードを使用せず、root権限の収集や監査を行わずRACcheckを無人で実行できます


    注意:

    RACcheckの機能を完全に利用するために、「RACcheckの用途」で説明するように、/tmp/root_raccheck.shrootには、パスワード不要のsudoを実装することをお薦めします。

    RACcheckは、Oracle Clusterwareから収集した情報を使用してサイレント・モードで実行されます。RACcheckをサイレント・モードで実行すると、Oracle Clusterwareのリソースと定義されているローカル・ノード上で実行されるすべてのデータベースに対して、データの収集と監査チェックが行われます。

RACcheckデーモンを使用したRACcheckの実行

RACcheckデーモンを実行するには、まずraccheck -set parameter=valueコマンドを実行してデーモン・パラメータを構成する必要があります。次の構成パラメータを設定できます。

  • AUTORUN_INTERVAL: このパラメータでは、RACcheckを実行する間隔を日時(d | h)を指定して定義できます。次に例を示します。

    $ raccheck -set AUTORUN_INTERVAL=1d
    

    前述のコマンドでは、RACcheckデーモンが毎日実行されるよう構成されます。パラメータを0に設定した場合には、RACcheckデーモンは自動では実行されません。これがこのパラメータのデフォルト設定です。

  • AUTORUN_FLAGS: このパラメータでは、表D-1に示したフラグを使用してRACcheckを実行する方法を定義できます。次に例を示します。

    $ raccheck -set "AUTORUN_INTERVAL=12h;AUTORUN_FLAGS=-profile sysadmin"
    

    前述のコマンドでは、12時間ごとにRACcheckでsysadminプロファイルが実行されるよう構成されます。

  • PASSWORD_CHECK_INTERVAL: このパラメータでは、実行中のデーモンがデーモンの開始時に入力したパスワードを検証する頻度を(時間単位で)定義できます。(パスワードが変更されたことにより)デーモンに対して不正なパスワードが示される場合、デーモンは実行を停止し、デーモン・ログ(raccheck_daemon.log)に通知を入力します(構成されている場合は、電子メールも送信します)。次に例を示します。

    $ raccheck -set PASSWORD_CHECK_INTERVAL=1
    

    前述のコマンドでは毎時パスワードが検証されます。

  • NOTIFICATION_EMAIL: このパラメータでは、特定のユーザーに通知が電子メールで送信されるようRACcheckデーモンを構成します。次に例を示します。

    $ raccheck -set NOTIFICATION_EMAIL=firstname.lastname@company.com
    

注意:

各パラメータをセミコロンで区切ったリストにして、二重引用符("")で囲み、1つのコマンドに複数のパラメータを構成できます。たとえば、次のコマンドでは、RACcheckデーモンは毎日verboseモードで実行され、デーモンからの通知として電子メール・アドレスが指定され、毎時パスワードの変更がチェックされます。
$ raccheck -set "AUTORUN_INTERVAL=1d;AUTORUN_FLAGS= -o verbose;
NOTIFICATION_EMAIL=firstname.lastname@company.com;PASSWORD_CHECK_INTERVAL=1"

RACcheckデーモンのすべてのパラメータの現在の構成を取得するには、次のコマンドを実行します。

$ raccheck -get all

前述のコマンドでは次のような出力が戻されます。

AUTORUN_INTERVAL = 1d
AUTORUN_FLAGS = -o verbose
NOTIFICATION_EMAIL = firstname.lastname@company.com
PASSWORD_CHECK_INTERVAL = 1

RACcheckのパラメータは、RACcheckデーモンの起動後に設定または変更できます。


注意:

最低でもNOTIFICATION_EMAILおよびPASSWORD_CHECK_INTERVALのパラメータは構成することをお薦めします。

RACcheckデーモンを起動するには、次のコマンドを実行します。

$ raccheck –d start

RACcheckによって、必要な情報が収集され、デーモン・プロセスを起動する対話型のグラフィカル・ユーザー・インタフェースが起動されます。

RACcheckデーモンの実行中に、デーモン・プロセスを起動したユーザーとしてRACcheckデーモンを起動した同じディレクトリから、引数なしにコマンドラインにraccheckを入力して、RACcheckを必要に応じて実行することも可能です。このように実行した場合、デーモンがすべての要求でパラメータを渡し、対話的にRACcheckが実行されるときと同様な出力が画面に生成され、RACcheckは非対話的に実行されます。


注意:

RACcheckデーモンの実行時に、RACcheckを対話的に実行する場合は、次のコマンドを実行します。
$ raccheck -nodaemon

RACcheckデーモンの使用方法

  • RACcheckデーモンが起動中の場合、他のユーザーがRACcheckデーモンを使用してRACcheckを非対話モードで実行することはできません。RACcheckデーモンを使用するには、デーモンが起動されたのと同じディレクトリから同じユーザーとして、RACcheckを必要に応じて実行する必要があります。

  • RACcheckデーモンは一度起動されると、デーモンを(raccheck –d stopコマンドを使用して)明示的に停止するか、次の条件が満たさないかぎり、バックグラウンドで実行が継続します。

    • 実行中のサーバーでデーモンが再起動されるか停止されます。

    • いずれかのノードでパスワードが変更されてデーモンが停止され、raccheck_daemon.logにエントリが追加されます。加え、NOTIFICATION_EMAIL構成パラメータに入力されたアドレスにRACcheckが電子メールを送信します。必要なパスワードの有効性を確認するには、PASSWORD_CHECK_INTERVAL構成パラメータを設定します。

    • デーモンの開始以降、RACcheckのスクリプトが変更されたり、新しいスクリプトに置き換えられた場合、RACcheckをそれ以降実行しようとしたり、自動実行されても失敗します。それ以降実行するには、デーモンを新しいスクリプトを使用して再起動する必要があります。

  • (ノードまたはインスタンスが追加または削除されるなど)システムの構成が変わった場合、構成の変更が認識されるようRACcheckデーモンを再起動する必要があります。

RACcheckでのレポートの比較

RACcheckを使用して、2つのRACcheckレポートの結果を比較することができます。比較結果を使用して、わかりやすいHTMLレポートで、時間の経過とともにまたは計画メンテナンス後に変化するトレンドおよびベスト・プラクティスを監視できます。RACcheck出力ディレクトリ、.zip出力ファイル、HTMLレポートのRACcheckレポートにアクセスできることを確認します。

2つのRACcheckレポートを比較するには、次のコマンドを実行します。

$ raccheck -diff report_1 report_2

比較する2つのレポート・ファイルの名前を指定します。RACcheckで2つのファイルの比較が終了すると、ユーティリティによってサマリーが出力され、参照可能な比較レポートの場所が提供されます。

アップグレードの準備状況を判断するためのRACcheckの実行

RACcheckを使用すると、Oracle RACおよびOracle Clusterwareのアップグレード計画の促進に役立つ自動化されたアップグレード準備状況評価を取得することができます。次のアップグレード関係のドキュメントで詳細に説明する、多数の手動でのアップグレード前およびアップグレード後チェックを、RACcheckを使用し、自動で実行できます。

  • 『Oracle Databaseアップグレード・ガイド』

  • ご使用のプラットフォーム用のOracle Grid Infrastructureインストレーション・ガイド

  • 次のMy Oracle Supportノート:

    • https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=785351.1

    • https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=837570.1

    • https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1363369.1

    • https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=810394.1

RACcheckは、ソフトウェアのアップグレードの前後に実行できます。アップグレード前チェックは、発生する可能性のある問題を解決するための十分な時間がある、実際のアップグレード・プロセス前のアップグレード・プロセスの計画段階で実行します。アップグレード後のチェックは、Oracle Grid InfrastructureおよびOracle Databaseが健全な状態にあることを確認するために実行します。次に、RACcheckのアップグレード・チェックから得ることができる可能性のあるものの要約を示します。

  • アップグレード前チェックを実行する際、RACcheckではOracle Clusterwareに登録されているすべてのデータベースを検出し、アップグレード前チェックを実行するデータベースのリストを生成します。最新バージョンのデータベースが検出される場合、RACcheckではそれをスキップし、まったくチェックを行いません。

  • アップグレード後チェックを実行する際、RACcheckではOracle Clusterwareに登録されているすべてのデータベースを検出し、アップグレード後チェックを実行するデータベースのリストを生成します。RACcheckによってOracle Database 11gリリース2 (11.2.0.3)より前のデータベース・バージョンが検出される場合、RACcheckではそれをスキップし、まったくチェックを行いません。

  • アップグレード前チェックまたはアップグレード後チェックのいずれかが実行される場合でも、RACcheckではOracle Clusterwareとオペレーティング・システムの両方をチェックします。

  • RACcheckではチェックを終了すると、その結果とその他の詳細および情報へのリンクを含むレポートをHTML形式で生成します。

RACcheckのアップグレード・チェックを実行するには、次の構文を使用します。

$ raccheck -u -o pre | post

出力ファイルのメンテナンス

RACcheckを実行すると、ツールによってraccheckで開始され、日時を含む命名規則の(raccheck_SIEBXL_072613_141001などの)サブディレクトリ、および(raccheck_SIEBXL_072611_141001.zipなど)サブディレクトリのコンテンツを含むzipファイルが、ファイル・システム上のRACcheck自体と同じレベルで作成されます。ファイル・システム上のサブディレクトリおよびzipファイルの合計サイズは、5MB未満である必要があります。システム上のノード数およびデータベース数により、正確なものは異なります。RACcheckはシステムに対する負荷が最小のときに実行することをお薦めしますが、時間の経過に伴い、ファイル数は増え、古いファイル、サブディレクトリまたはこの両方をメンテナンスおよび削除する必要性が生じます。

複数のデータベースのサポート

RACcheckは複数のデータベースをサポートするよう設計されています。このツールは、Oracle Grid Infrastructureに登録されている実行中のデータベースのリストを提示します。1つ選択するか、すべて選択するか、またはリストされたデータベースを指定する数のカンマ区切りリストを選択できます。クラスタ内の他のノードで実行されているデータベース・インスタンスをチェックするために複数のノードにツールをインストールする必要はありません。

RACcheckはローカルbequeath接続を使用してすべてのデータベースにログインし、ツールを実行するユーザーのデータベースにオペレーティング・システム認証が存在することを前提としています。構成によっては、(oracleなど)同じオペレーティング・システム・ユーザーが所有するデータベース・ホームが複数あったり、すべて異なるオペレーティング・システム・ユーザーが所有するデータベース・ホームがいくつもある場合があります。

前者の場合、RACcheckをoracleとして実行します。後者の場合、可能なかぎりの情報を得るために、最大数のデータベースがあるホームにRACcheckうをデプロイします(この場合、そのホームの所有者としてRACcheckをインストールします)。その他のデータベースをスキャンするには、各データベース・ホーム・ユーザー・アカウントとしてRACcheckをインストールして実行する必要があります。

データベースへのレポート用のRACcheckの結果およびパッチのアップロード

レポート用のデータ・ソースとして使用するために、RACcheckによって実行された監査チェックの結果またはインストール済パッチのリストをデータベース表にアップロードすることできます。

このオプションの機能を利用するには、実行環境に多数の環境変数を設定し、2つの表を(1つは監査チェックの結果、もう1つはシステムにインストール済のパッチ用に)作成して、そのデータを受取る必要があります。

auditcheck_resultという結果表を作成するには、次のDDLコマンドを実行します。

create table
  auditcheck_result
    (
    COLLECTION_DATE TIMESTAMP,
     CHECK_NAME VARCHAR2(256),
     PARAM_NAME VARCHAR2(256),
     STATUS VARCHAR2(256),
     STATUS_MESSAGE VARCHAR2(256),
     ACTUAL_VALUE VARCHAR2(256),
     RECOMMENDED_VALUE VARCHAR2(256),
     COMPARISON_OPERATOR VARCHAR2(256),
     HOSTNAME VARCHAR2(256),
     INSTANCE_NAME VARCHAR2(256),
     CHECK_TYPE VARCHAR2(256),
     DB_PLATFORM VARCHAR2(256),
     OS_DISTRO VARCHAR2(256),
     OS_KERNEL VARCHAR2(256),
     OS_VERSION NUMBER,
     DB_VERSION VARCHAR2(256),
     CLUSTER_NAME VARCHAR2(256),
     DB_NAME VARCHAR2(256),
     ERROR_TEXT VARCHAR2(256)
     CHECK_ID VARCHAR2(40),
     NEEDS_RUNNING VARCHAR2(100),
     MODULES VARCHAR2(4000),
     DATABASE_ROLE VARCHAR2(100),
     CLUSTERWARE_VERSION VARCHAR2(100),
     GLOBAL_NAME VARCHAR2(256)
);

auditcheck_patch_resultというパッチの表を作成するには、次のDDLコマンドを実行します。

create table
  auditcheck_patch_result
       ( COLLECTION_DATE     TIMESTAMP(6),
          HOSTNAME            VARCHAR2(256),
          ORACLE_HOME_TYPE    VARCHAR2(256),
          ORACLE_HOME_PATH    VARCHAR2(256),
          ORACLE_HOME_VERSION VARCHAR2(256),
          PATCH_NUMBER NUMBER,
         CLUSTER_NAME VARCHAR2(256),
         DESCRIPTION         VARCHAR2(256),
         PATCH_TYPE VARCHAR2(128),
         APPLIED NUMBER,
         RECOMMENDED NUMBER
         );

次の環境変数を設定します(例の値が示されています)。

$ export RAT_UPLOAD_CONNECT_STRING="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = bonanza)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))"
$ export RAT_UPLOAD_TABLE=auditcheck_result (name must match that of the table created for the purpose)
$ export RAT_PATCH_UPLOAD_TABLE=auditcheck_patch_result (name must match the name of the table created for the purpose)
$ export RAT_UPLOAD_USER=auditcheck (schema owner of the table created for the purpose)
$ export RAT_UPLOAD_PASSWORD=auditcheck (password for the schema owner)
$ export RAT_UPLOAD_ORACLE_HOME=path_of_database_home (optional, alternate home
containing sqlplus that you want to use for connecting in case it is not the
current $ORACLE_HOME as derived by RACcheck from the environment)

注意:

接続文字列には、RACcheckを実行する可能性のあるすべてのサーバーでのtnsnames.oraファイルの名前解決に依存する必要のないように、tnsnames.oraファイルの別名ではなく、(前述の例に示した)完全修飾されたアドレスを使用します。二重引用符("")を使用する必要があります。

実行環境に(前述の例で示した)最初の4つの環境変数を設定すると、RACcheckでは、プロセスの最後にデータを表にアップロードすることが目的であると想定し、データのアップロードを試行します。このプロセスでは、ユーザーが環境を正しく設定している必要があります(つまり、接続文字列はアクセス可能で、ユーザー名およびパスワードは正しく、表名は正しい必要があります)。RACcheckでデータベースに接続できない場合、それに関するメッセージがログに記述されます。RAT_UPLOAD_ORACLE_HOMEの変数を設定すると、RACcheckから派生する現在のOracleホームからSQL*Plusを起動せず、RACcheckによりそのホームからSQL*Plusが起動されます。最初の4つの環境変数をいずれも設定しない場合、RACcheckではデータのアップロードを試行しません。

監査チェックの除外

オプションで、RACcheckの最初の実行後、次のように1つ以上の監査チェックを除外できます。

  1. RACcheckスクリプトおよびドライバ・ファイルと同じディレクトリに、excluded_check_ids.txtという名前のテキスト・ファイルを作成します。

  2. ツールの前回の実行の出力ディレクトリにあるraccheck.logファイルを開きます。

  3. 以降の実行で除外する監査チェックを検索します。

  4. 除外する監査チェックのCHECK_IDのメモを取ります。CHECK IDCHECK_ID = 65E4DC8B76BC4DA6E040E50A1EC03704のような英数字の文字列です。監査チェックのブロックにCHECK_ID行がない場合、その監査チェックは除外できません。

  5. excluded_check_ids.txtファイルに除外する監査チェックのCHECK_IDを、1行にCHECK_IDを1つずつ入力します。

  6. 以降、RACcheckを実行すると、ツールによって監査チェックが実行される前に、除外するチェックがあるかexcluded_check_ids.txtファイルが確認され、それらがスキップされます。

RACcheckのトラブルシューティング

この項では、RACcheckの実行時に発生する可能性のある様々な問題とその解決方法を、次の内容で説明します。

ランタイム・コマンドのタイムアウト

root権限で実行されていない個別のコマンドが完了前にタイムアウトする場合、そのプロセスはRACcheckにより停止され、必要なデータは収集されません。これが発生する場合は、次の環境変数をスクリプトの実行環境に設定して延長することができます。

$ export RAT_TIMEOUT=120

環境変数のデフォルト値は90秒です。

RACcheckでは、クラスタ内のノードごとにroot権限でのデータ収集のセットを実行します。データの収集前に収集がタイムアウトする場合、そのプロセスはRACcheckにより停止され、必要なデータは収集されません。これが発生する場合は、次の環境変数をスクリプトの実行環境に設定して延長することができます。

$ export RAT_ROOT_TIMEOUT=600

環境変数のデフォルト値は300秒です。


注意:

これらのタイムアウトのいずれかが発生する場合、遅延の原因を特定して修正し、システムに対する負荷が最小のときにRACcheckを実行することをお薦めします。

エラーを含むraccheck_error.logファイル

raccheck_error.logファイルにある、次のエラーは無視してかまいません。

  • /bin/sh: /u01/app/11.2.0/grid/OPatch/opatch: Permission denied

  • chmod: changing permissions of '/u01/app/oracle_ebs/product/11.2.0.2/VIS_RAC/.patch_storage': Operation not permitted

  • OPatch could not open log file, logging will not be possible

  • Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

前述のエラーは、ロールが分かれている環境で、データベース・ソフトウェア所有者によって実行されたRACcheckが、OPatchを使用してその他のユーザー(gridやその他のデータベース・ホーム所有者など)が所有するホームのパッチ・インベントリを列挙しようとするときに発生します。それらのその他のユーザーのためにパッチ・インベントリを列挙するためにOPatchを実行する場合、現在のユーザーはその他のホームに対する権限を持たないためにエラーが発生します。これらの場合、OPatchエラーは無視され、それらのホームのパッチ・インベントリはその他の手段で収集されます。

また、次に類似したエラーを無視できます。

./raccheck: line [N]: [: : integer expression expected

行番号は経時変化する場合がありますが、このエラーは、RACcheckが整数の戻り値を期待しているにもかかわらず、値が見つからないときに発生します。比較を実行するときに、RACcheckではこのエラーを返します。このエラーは、同じコマンドに対し各ノードで1回ずつ何度も返されます。

リモートからのrootのログインの問題

SSHを介したリモートからのrootログインが許可されない場合、root権限コマンドが失敗する場合があります。Oracleソフトウェアの所有者(oracle)を確認するには、稼働していない任意のノードから次のコマンドを手動で実行し、次のように出力されることを確認します。

$ ssh root@remotehostname "id"
root@remotehostname's password:
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

リモートのrootログインが動作していない場合、RACcheckではリモート・ノードをチェックできません。一時的なものであったとしても、RACcheckを実行する際は、システム管理者に問い合せて修正します。

リモートのrootログインを構成できる場合、次のようにして/etc/ssh/sshd_configファイルを編集します。

PermitRootLogin to yes

rootとして、クラスタのすべてのノードで次のコマンドを実行します。

# /etc/init.d/sshd restart

ローカル環境の問題

RACcheckでは、環境(オペレーティング・システムおよびOracle Cluster Registry)から必要なデータをすべて導出しようとしますが、ローカル・システムの違いにより期待どおりにツールが機能せず、可能なシナリオをすべて予想したりテストすることが困難な場合があります。したがって、環境変数が多数サポートされているので、ツールのデフォルトの動作をオーバーライドするか、必要な情報を提供する必要があります。次に環境変数の一覧とそれぞれの説明を示します。

  • RAT_INV_LOC: 期待の場所(/u01/app/oraInventory)にoraInst.locファイルがない場合、この環境変数内にoraInventoryディレクトリの正しい場所を指定できます。

  • RAT_CRS_HOME: Oracle Clusterwareがインストールされているにもかかわらず、RACcheckが正しいGrid_homeパスを特定できず、ソフトウェアがインストールされていないという情報が表示される場合にこの環境変数を設定します。

  • RAT_ORACLE_HOME: Oracle Clusterwareに登録されているデータベースの正しいORACLE_HOMEパスをRACcheckが特定できず、データベース・ソフトウェアがインストールされているにもかかわらず、そのソフトウェアがインストールされていないという情報が表示される場合にこの環境変数を設定します。RACcheckでは、この環境変数に指定したホームから実行されるすべてのデータベースに対して、ベスト・プラクティスおよび推奨のパッチのチェックを実行します。

  • RAT_ASM_HOME: Oracle Clusterwareから(Grid_homeパスと同じ)正しいOracle ASMホーム・パスをRACcheckが特定できず、Oracle ASMソフトウェアがインストールされているにもかかわらず、そのソフトウェアがインストールされていないという情報が表示される場合にこの環境変数を設定します。

  • RAT_OS: RACcheckが正しいプラットフォームを特定できず、判断されたプラットフォームに必要なデータが見つからないとツールから通知される場合に、この環境変数を設定します。

  • RAT_DB: RACcheckによって不正なデータベース・バージョンが特定される場合に、この環境変数を設定します。

  • RAT_DBNAMES: RACcheckがOracle Clusterwareから有効なデータベース名を判断できない場合に、この環境変数を設定します。スペース区切りのデータベース名のリストを指定すると、RACcheckでは、Oracle Clusterwareから導出されたものではなくそのリストを使用します。次に例を示します。

    $ export RAT_DBNAMES="ORCL ORADB PROD"
    

    複数のデータベース名を指定する場合は、二重引用符("")を使用します。


    注意:

    Oracle Clusterwareに登録されたデータベースのサブセットとしてRAT_DBNAMESを構成する場合、Oracle Clusterwareに登録されていると検出されるすべてのデータベースのパッチ・インベントリを推奨のパッチに対してチェックする場合、RAT_DBHOMESも構成することをお薦めします。

  • RAT_DBHOMES: RAT_DBNAMES環境変数を設定する場合、デフォルトで推奨のパッチ解析は、リストしたデータベース名のホームに限定されます。RAT_DBNAMESに指定した以外の追加のデータベース・ホームで推奨のパッチ解析を実行する場合は、推奨されるパッチをチェックするホームをスペース区切りのデータベース・リストで指定します。たとえば、export RAT_DBNAMES="ORCL ORADB"コマンドを実行したが、PRODデータベースがダウンしていてもPRODデータベース・ホームもチェックしたい場合を想定します。export RAT_DBHOMES="ORCL ORADB PROD"コマンドを実行すると、ORCLおよびORADBのデータベースに対してベスト・プラクティスがチェックされますが、推奨のパッチは、ORCLORADBおよびPRODのデータベース・ホームに対してチェックされます。複数のデータベース名を指定する場合は、二重引用符("")を使用します。

  • RAT_SSHELL: sshが期待する場所になく、sshコマンドが次のエラーを返す場合、デフォルトの場所(通常は/usr/bin/ssh)をオーバーライドしセキュア・シェルの場所を指定する、この環境変数を設定します。

    -bash: /usr/bin/ssh -q: No such file or directory
    
  • RAT_SCOPY: scpが期待する場所になく、scpコマンドが次のエラーを返す場合、デフォルトのセキュア・コピーの場所(通常は/usr/bin/scp)をオーバーライドしセキュア・コピーの場所を指定する、この環境変数を設定します。

    /usr/bin/scp -q: No such file or directory
    

データベースのログイン上の問題

データベース・ソフトウェアのインストール所有者以外のユーザー(rootまたはgridなど)としてRACcheckを実行する場合にデータベース接続で問題が発生した場合、次を実行します。

  1. gridとしてシステムにログインします。

  2. 次のコマンドを実行します。

    $ export ORACLE_HOME=path_to_Oracle_Database_home
    $ export ORACLE_SID=database_SID
    $ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib:$PATH
    
  3. $ORACLE_HOME/network/admin/tnsnames.oraファイルにdatabase_SIDの別名を追加します。

  4. パスワードを含め、次のようにデータベースに接続します。

    $ORACLE_HOME/bin/sqlplus sys@SID as sysdba
    
  5. 正常に接続したことを確認します。

この方法でデータベース接続に失敗する場合、RACcheckでも同様に接続できません。ツールをOracle Databaseソフトウェア・インストール所有者として実行することを検討してください。

ユーザー・プロファイル

ユーザー・プロファイルにプロンプトまたはトラップがある場合、実行時にプロファイルをソースとするため、RACcheckが実行中にハングする場合があります。このため、RACcheckではこれらの文を環境内のプロファイルでチェックし、すべてのノードで一時的にそれらの文をコメント・アウトすることをアドバイスするメッセージを表示します。



脚注の凡例

脚注 1: Linux Itaniumはサポート対象外です
脚注 2: システムにBASH Shell 3.2以上をインストールする必要があります