ヘッダーをスキップ
Oracle Universal InstallerおよびOpatchユーザーズ・ガイド
11gリリース1(11.1) for Microsoft Windows and UNIX Systems
E05707-05
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 Oracleホームの管理

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

Oracleホームの概要

Oracle Universal Installerでは、同じホストへの複数のアクティブなOracleホームのインストールがサポートされます。Oracleホームは、すべてのOracleソフトウェアがインストールされるディレクトリです。Oracleホームは環境変数で示されます。Oracleホームは、次のもので構成されます。

Oracle製品のインストール

Oracle製品のインストール時に、Oracleホームが作成されます。

製品をインストールし、Oracleホームを作成するには、次の手順を実行します。

  1. Oracle Universal Installerを実行します。

  2. 「ホームの詳細の指定」ページで、インストール・セッション用のOracleホームの設定を入力します。画面のこのセクション内のフィールドの説明は、表2-1を参照してください。

  3. インストールを続行します。詳細は、第4章「製品のインストール」を参照してください。

表2-1 「ホームの詳細の指定」ページのOracleインストールの設定

設定 機能

名前

Oracleホームの名前を入力します。この名前は、特定のホームおよびそのホームにインストールされるOracleサービスに関連付けられるプログラム・グループを示します。Oracleホーム名は1文字以上127文字以下である必要があり、英数字とアンダースコアのみ使用できます。

パス

Oracleホームのフルパスを入力するか、既存のOracleホームのドロップダウン・リストからOracleホームを選択します。Oracleホームの場所は、製品がインストールされるディレクトリです。

データファイルのインストールは、Oracleホーム内でもそれ以外でも可能です。「参照」ボタンを使用して、製品をインストールするディレクトリを選択できます。

Windowsプラットフォームの場合は、Windowsディレクトリ内ではない有効なパスを指定する必要があります。異なるホームで同じ場所を共有することはできません。



注意:

Oracleホームの場所には、空のディレクトリまたは存在しないディレクトリを指定することをお薦めします。Oracleホームの場所として空でないディレクトリまたはすでに存在するディレクトリを選択した場合は、警告が表示され、続行するかどうかを確認されます。

サイレント・インストールでは、空でない既存のディレクトリが指定された場合、コンソールおよびinstallActions<timestamp>.logファイルにエラーが記録されます。また、Oracle Universal Installerが中止されます。この条件を変更するには、コマンドラインで-forceフラグを使用します。-forceフラグの効果は、対話モードでのインストール時に「はい」を選択した場合と同じです。警告メッセージが生成されますが、インストールは続行します。


Oracleホームの削除

既存のOracleホームを削除するには、Oracle Universal Installerを起動し、「製品の削除」をクリックします。インベントリ・ダイアログで削除するホームを選択し、「削除」をクリックします。コマンドラインあるいはレスポンス・ファイルでREMOVE_HOMES変数を使用する場合もあります。構文は次のとおりです。

./runInstaller -deinstall -silent ORACLE_HOME=<LOCATION_OF_ORACLE_HOME> "REMOVE_
HOMES={<LOCATION_OF_ORACLE_HOME_TO_BE_REMOVED>}"

デフォルトのOracleホームの判別

デフォルトでは、Oracle Universal Installerの起動時に、ソフトウェアによりシステムが検索され、OracleソフトウェアをインストールするデフォルトのOracleホームが判別されます。

どのような場合でも、コマンドラインでORACLE_HOMEが指定されている場合は最初にこの変数が取得され、コマンドラインで指定されていない場合はレスポンス・ファイルから取得されます。レスポンス・ファイルでも指定されていない場合は、名前について次の規則が使用されます。

Ora<short_marketing_name_in_oraparam.ini>_<home_identifier>

<short_marketing_name_in oraparam.ini>oraparam.iniファイルで指定されている製品マーケティング短縮名(たとえば、Db11g)で、<home_identifier>はセントラル・インベントリから導出されたカウンタです。たとえば、ORACLE_HOME名はOraDb11g_1のようになります。

コマンドラインでORACLE_HOMEパスが指定されている場合は最初にこの変数が取得され、コマンドラインで指定されていない場合はレスポンス・ファイルから取得されます。レスポンス・ファイルでも指定されていない場合は、環境変数ORACLE_HOMEが使用されます。いずれも指定されていない場合は、パスについて次の規則が使用されます。

インスタンス関連ディレクトリの場所は、最初にレスポンス・ファイルから受け入れられます(指定されている場合)。指定されていない場合は、oradataflash_recover_areaadminおよびdocディレクトリがORACLE_BASEの下に作成されます。ORACLE_BASEが指定されていなければ、デフォルトは$ORACLE_HOME/oradataディレクトリです。Oracleホームの親ディレクトリが書込み可能な場合、これらのディレクトリはOracleホームの親ディレクトリに作成されます。

複数のOracleホーム

Oracle Universal Installerでは、実行時に製品でサポートされているかぎり、同じホストへの複数のアクティブなOracleホームのインストールがサポートされます。同じ製品の複数バージョンまたは異なる製品を、異なるOracleホームから同時に実行できます。あるホームにインストールされている製品は、別のホームにインストールされている製品と競合または対話しません。ターゲット・ホームにインストールされているすべてのOracleアプリケーション、サービスおよびプロセスが停止していると想定した場合、任意のホームにあるソフトウェアをいつでも更新できます。他のホームのプロセスは引き続き実行できます。

ターゲット・ホーム

インストールまたは削除を行うためにOracle Universal Installerにより現在アクセスされているOracleホームがターゲット・ホームです。ターゲット・ホームの製品をアップグレードまたは削除するには、これらの製品を停止または中止する必要があります。

Oracle Universal Installerインベントリ

製品がOracle Universal Installerを使用してインストールされた場合、Oracle Universal Installerインベントリには、ホスト上のすべてのOracleホームにインストールされているすべてのOracleソフトウェア製品に関する情報が格納されます。

インベントリ情報は、Extensible Markup Language(XML)形式で格納されます。XML形式を使用することで、問題の診断が簡単になり、データのロードが高速になります。保護情報は直接インベントリには格納されません。このため、一部の製品の削除中に、検証に必要な資格証明の入力を求められることがあります。

Oracle Universal Installerインベントリの構造

Oracle Universal Installerインベントリには、次の階層構造があります。

セントラル・インベントリ・ポインタ・ファイル

すべてのOracleソフトウェア・インストールには、ホストにインストールされたすべてのOracle製品の詳細が登録されているセントラル・インベントリが関連付けられています。セントラル・インベントリは、インベントリ・ポインタ・ファイルで指定されたディレクトリ内にあります。各Oracleソフトウェア・インストールには、別のOracleソフトウェア・インストールからは認識されない固有のセントラル・インベントリ・ポインタ・ファイルがあります。

Oracleホームが同じセントラル・インベントリを共有している場合、インベントリに対するすべての読取りおよび書込み操作はOracle Universal Installerコンポーネントにより実行されます。セントラル・インベントリに対する操作は、ロッキング・メカニズムを通じて実行されます。これは、インストール、アップグレード、パッチの適用などの操作がOracleホームに対して実行された場合に、同じセントラル・インベントリを共有する他のOracleホームではこれらの操作がブロックされることを意味します。

次に、各種プラットフォームのインベントリ・ポインタ・ファイルの場所を示します。

  • Solaris: /var/opt/oracle/oraInst.loc

  • Linux: /etc/oraInst.loc

  • Windows: ポインタは次のレジストリ・キーにあります。

    \\HKEY_LOCAL_MACHINE\\Software\Oracle\inst.loc
    

次の文字列は、oraInst.locファイルのパスの例を示しています。

inventory_loc=/home/oracle_db11g/product/11.1.0/db_1inst_group=oracle

UNIXでは、インベントリ・ポインタ・ファイルで指定されたディレクトリにあるセントラル・インベントリを使用しない場合には、-invPtrLocフラグを使用して別のインベントリ・ポインタ・ファイルを指定できます。構文は次のとおりです。

./runInstaller -silent -invPtrLoc <Location_of_oraInst.loc> ORACLE_
HOME="<Location_of_Oracle_Home>" ORACLE_HOME_NAME="<Name_of_Oracle_Home>"

注意:

oraInst.locファイルの内容が空の場合は、Oracle Universal Installerにより新規インベントリの作成を要求されます。

セントラル・インベントリ

セントラル・インベントリには、ホストにインストールされているすべてのOracle製品に関連する情報が格納されています。次のファイルおよびフォルダが含まれます。

インベントリ・ファイル

このファイルには、ノードにインストールされているすべてのOracleホームがリストされます。また、各Oracleホームについて、Oracleホーム名、ホーム索引およびホームがインストールされているノードがリストされます。ホームがOracle Clusterwareホームであるか、削除済のOracleホームであるかも示されます。Oracle Universal Installerリリース11.1以上を使用して作成されたOracleホームの削除のみが検出できます。このファイルは、次の場所にあります。

<central inventory location>/ContentsXML/inventory.xml

次のコードは、inventory.xmlファイルのサンプルを示しています。

<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 2007 Oracle Corporation. All rights Reserved -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>11.1.0.0.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDb11g_home1" LOC="/home/oracle_db11g/product/11.1.0/db_1" TYPE="O" IDX="1"/>
<HOME NAME="OUIHome" LOC="D:\OraHome1" TYPE="O" IDX="2" />
<HOME NAME="OUIHome12" LOC="D:\OraHome12" TYPE="O" IDX="3" />
<HOME NAME="OUIHome1" LOC="D:\homes\OraHome1" TYPE="O" IDX="4" />
<HOME NAME="OUIHome11" LOC="d:\homes\oui11" TYPE="O" IDX="2" REMOVED="T" />
</HOME_LIST>
</INVENTORY>

注意:

インストールおよびパッチの適用に影響する可能性があるため、このファイルは削除または手動で編集しないことをお薦めします。

logsディレクトリ

セントラル・インベントリでは、次の場所にインストール・ログが格納されます。

<central inventory location>/logs

logsディレクトリには、特定のノードで実行されたすべてのインストールに対応するログが格納されます。また、インストール・ログのコピーが$ORACLE_HOME/cfgtoollogsディレクトリにあります。インストールに対応するインストール・ログは、ログ・ファイルに関連付けられているタイムスタンプにより識別されます。これらのファイルは、一般に次の形式で保存されます。

<Name_of_Action><YYYY-MM-DD_HH-MM-SS{AM/PM}>.log

たとえば、2007年5月17日の午前6時45分に実行されたattachHome操作について考えます。関連するログ・ファイルが次のように作成されます。

AttachHome2007-05-17_06-45-00AM.log

注意:

インストール・ログには、エラーまたは失敗は記録されません。

Oracleホーム・インベントリ

Oracleホーム・インベントリすなわちローカル・インベントリは、各Oracleホーム内にあります。特定のOracleホームに関連する情報のみが含まれます。このファイルは、次の場所にあります。

$ORACLE_HOME/inventory

次のファイルおよびフォルダが含まれます。

コンポーネント・ファイル

このファイルには、Javaベースの様々なOracleツールおよびコンポーネントに必要なJava Runtime Environment(JRE)などのサード・パーティ・アプリケーションに関する詳細が含まれます。また、すべてのコンポーネントの詳細に加えて、Oracleホームにインストールされているパッチ・セットまたは個別パッチの詳細も含まれます。このファイルは次の場所にあります。

ORACLE_HOME/inventory/ContentsXML/comps.xml

コンポーネント・ファイルの例は、「サンプル・コンポーネント・ファイル」を参照してください。

ホーム・プロパティ・ファイル

このファイルには、ノード・リスト、ローカル・ノード名およびOracleホームのCRSフラグに関する詳細が含まれます。共有Oracleホームには、ローカル・ノード情報は存在しません。このファイルには、次の情報も含まれます。

  • GUID: Oracleホームの一意のグローバルID。

  • ARU ID: 一意のプラットフォームID。パッチおよびパッチ・セットの適用はこのIDに依存します。

  • ARU ID DESCRIPTION: プラットフォームの説明。

oraclehomeproperties.xml内の情報は、inventory.xml内の情報より優先されます。このファイルは次の場所にあります。

$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml

次の例は、Oracleホーム・プロパティ・ファイルを示しています。

<GUID>893051798#.356758136</GUID>
   <HOME CRS="T"/>
   <ARU_PLATFORM_INFO>
      <ARU_ID>46</ARU_ID>
      <ARU_ID_DESCRIPTION>Linux x86</ARU_ID_DESCRIPTION>
   </ARU_PLATFORM_INFO>
   <CLUSTER_INFO>
      <LOCAL_NODE NAME="stacg30"/>
    <NODE_LIST><NODE NAME="stacg34"/><NODE
NAME="stacg30"/></NODE_LIST></CLUSTER_INFO>

表2-2に、一部のプラットフォームのARU_IDをリストします。

表2-2 プラットフォームのARU_ID

プラットフォーム ARU_ID

HPUX 64ビット

59

IBM 5L

212

Linux 32ビット

46

Solaris 32ビット

453

Solaris 64ビット

23

Windows XP

912


その他のフォルダ

表2-3に、Oracleホーム・インベントリにあるその他のフォルダをリストします。

表2-3 Oracleホーム・インベントリ内のその他のフォルダ

フォルダ名 説明

Scripts

クローニング操作に使用されるスクリプトが含まれます。

ContentsXML

インストールされているコンポーネントおよびライブラリの詳細が含まれます。

Templates

クローニングに使用されるテンプレート・ファイルが含まれます。

oneoffs

適用されている個別パッチの詳細が含まれます。


セントラル・インベントリの作成

Oracle Universal Installerでは、セントラル・インベントリが消失または破損した場合に、クリーンなホストにセントラル・インベントリを設定するか、セントラル・インベントリに既存のOracleホームを登録できます。セントラル・インベントリがまだ存在しない場合、Oracle Universal InstallerはoraInst.locファイルで指定されている場所にセントラル・インベントリを作成します。

セントラル・インベントリは、Oracle Universal Installerの-attachHomeフラグを使用して設定できます。構文は次のとおりです。

./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"
"CLUSTER_NODES={<node1,node2>}" LOCAL_NODE="<node_name>"

セッション変数の使用

次のセッション変数を使用できます。

  • ORACLE_HOME

  • ORACLE_HOME_NAME

  • CLUSTER_NODES

  • REMOTE_NODES

  • LOCAL_NODE

クラスタ・インストールの場合は次のようになります。

  • CLUSTER_NODESセッション変数を渡さない場合、Oracle Universal Installerによりその変数が$ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xmlファイルから取得されます。

  • LOCAL_NODEセッション変数を渡さない場合、Oracle Universal Installerによりその変数が$ORACLE_HOME/inventory /ContentsXML/oraclehomeproperties.xmlファイルから取得されます。このファイルにエントリが見つからない場合は、Oracle Clusterwareスタックから取得されます。このスタックにもエントリがない場合は、LOCAL_NODEとしてCLUSTER_NODESの最初のノードから取得されます。

リモート・ノードのリストを指定する場合は、REMOTE_NODES変数を渡すことができます。ローカル・ノードでセントラル・インベントリを設定する場合は、-localフラグを渡す必要があります。REMOTE_NODES変数は空です。構文は次のとおりです。

./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"
"REMOTE_NODES={}" -local

注意:

-localフラグを使用した場合は、指定したクラスタ・ノードに関係なくアクションがローカル・ノードで実行されます。

Real Application Clusters設定以外は、LOCAL_NODE変数を渡す必要はなく、CLUSTER_NODES変数は空です。構文は次のとおりです。

./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"
"CLUSTER_NODES={}"

-localフラグを使用してローカルのOracleホームをアタッチできます。-localフラグとともに共有のOracleホームを使用している場合は、-cfsフラグを使用します。これにより、共有のOracleホームの内部にローカル・ノード情報が伝播されなくなります。

操作の確認

Oracleホームをアタッチした後で、<central_inventory>/logsディレクトリにあるログ・ファイルの内容を確認することにより、操作が正常に実行されたことを確認できます。<central-inventory>/ContentsXMLディレクトリ下のinventory.xmlファイルの内容を表示して、Oracleホームが登録されているかどうかを確認することもできます。


注意:

Windowsオペレーティング・システムでセントラル・インベントリを作成するには、クローニングすることをお薦めします。

セントラル・インベントリからのOracleホームのデタッチ

セントラル・インベントリからOracleホームをデタッチできます。このフラグを渡すと、セントラル・インベントリにあるinventory.xmlファイルが更新されます。構文は次のとおりです。

./runInstaller -silent -detachHome -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"

オプションのフラグの使用

-localフラグを使用して、ローカル・ノードのインベントリからOracleホームをデタッチできます。共有のOracleホームを使用している場合は、-cfsフラグを使用します。これにより、共有のOracleホームの内部にローカル・ノード情報が伝播されなくなります。

./runInstaller -silent -local -cfs -detachHome -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"

./runInstaller -silent -detachHome -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"

-removeallfilesフラグを使用することにより、Oracleホームを完全に消去し、ホーム・ディレクトリを削除できます。構文は次のとおりです。

./runInstaller -silent -deinstall -removeallfiles -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"

-removeallfilesフラグを使用する場合に表示される警告メッセージを無効にするには、-nowarningonremovefilesフラグを使用します。構文は次のとおりです。

./runInstaller -silent -deinstall -nowarningonremovefiles -invPtrLoc ./oraInst.loc
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"

セントラル・インベントリの削除

ホスト上のすべてのOracleホームが削除された後でも、特定のログ・ファイルにインベントリのトレースがあります。これらのファイルを保持せず、セントラル・インベントリを削除する場合は、次の手順を実行します。

UNIXプラットフォーム上のセントラル・インベントリの削除

次の手順を実行して、UNIX上のセントラル・インベントリを削除できます。

  1. oraInst.locファイルを探し、このファイルからセントラル・インベントリの場所(inventory_locパラメータ)を取得します。

    Solarisの場合、このファイルは/va/opt/oracleフォルダにあります。

    Linuxの場合、このファイルは/etcフォルダにあります。

  2. 次のコマンドを実行して、セントラル・インベントリを削除します。

    rm -rf <central_inventory_location>
    
  3. root権限で次のコマンドを実行して、oraInst.locファイルを削除します。

    Solarisの場合:

    rm /va/opt/oracle/oraInst.loc
    

    Linuxの場合:

    rm /etc/oraInst.loc
    
Windowsプラットフォーム上のセントラル・インベントリの削除

次の手順を実行して、Windows上のセントラル・インベントリを削除できます。

  1. 次のレジストリ・キーを探します。

    \\HKEY_LOCAL_MACHINE\Software\Oracle\inst_loc

  2. このキーからセントラル・インベントリの場所を取得します。

  3. セントラル・インベントリ・ディレクトリおよびそのすべての内容を削除します。

  4. 次のレジストリ・キーを削除します。

    \\HKEY_LOCAL_MACHINE\Software\Oracle\inst_loc

複数のセントラル・インベントリの統合

次の手順では、複数のセントラル・インベントリを1つのセントラル・インベントリに統合する方法を説明します。CRSおよびRACホームに対して、各ノードでこの手順を実行します。

  1. 使用するセントラル・インベントリを識別します。必ずクラスタの全ノードで同じパスになるようにします。

  2. このセントラル・インベントリ・ディレクトリに移動してorainstRoot.shを実行し、oraInst.locファイルが必ずこのインベントリを指すようにします。

  3. システム上の他のセントラル・インベントリを識別し、各セントラル・インベントリのOracleホームを識別します。

  4. 各Oracleホームで次の手順を行います。

    1. cd $ORACLE_HOME/oui/binを入力します。

    2. ./attachhome.sh -silent -local "CLUSTER_NODES={<List of nodes>}" LOCAL_NODE=<nodename>を実行します。

      単一インスタンス・ホームの場合は、./attachhome.sh -silentを実行します。

    3. ORACLE_HOME/OPatchディレクトリに移動し、opatch lsinventory -detailを実行してインベントリの更新を確認します。

    4. ./runInstallerを実行し、「インストールされた製品」をクリックしてセントラル・インベントリの内容を表示し、インベントリ全体が更新されていることを確認します。インベントリに新規のホームとノードが表示されていることを確認してください。

Oracleホームのアップグレードおよびパッチの適用

既存のOracleホームに対してパッチ・セットの適用およびアップグレードを行うことができます。パッチ・セットはOracle Universal Installerを使用して適用できます。Oracle製品のアップグレードまたはパッチ・セット適用の詳細は、アップグレードする個々のOracle製品のインストレーション・ガイドを参照してください。

Oracleホームのクローニング

Oracle Universal Installerを使用して、Oracleホームをクローニングできます。クローニングの詳細は、第6章「Oracleソフトウェアのクローニング」を参照してください。

インベントリのバックアップ

Oracleホームは、任意の方法でバックアップできます。ziptarcpioなどの任意の形式を使用して、Oracleホームを圧縮できます。

アップグレードまたはパッチ操作を実行する前に、Oracleホームをバックアップすることを強くお薦めします。Oracleホームのインストールまたは削除の際には、セントラル・インベントリもバックアップする必要があります。

例:

/productディレクトリのデフォルトのセントラル・インベントリに登録されているDBHomeというデータベースOracleホームがあるシナリオについて考えます。このデータベースにパッチを適用しますが、その前にデータベースをパックアップします。

  1. 次のように入力してデータベースをバックアップします。

  2. cd /product/DBHome
    tar cf - * | gzip > /product/archive/DBHome.tar.gz
    

    Win32システムを使用している場合、WinZipを使用してOracleホームを圧縮します。ファイル権限を失う原因になるので、jarコマンドを使用してOracleホームを圧縮しないでください。

  3. パッチを適用して、なんらかの不具合が発生した場合を考えます。セントラル・インベントリからOracleホームを削除して、元のOracleホームをリストアします。Oracleホームをセントラル・インベントリから削除するには、次のコマンドを使用します。

    ./runInstaller -silent -detachHome ORACLE_HOME="/product/DBHome"
    ORACLE_HOME_NAME="DBHome"
    

    Win32システムの場合、コマンドは次のようになります。

    setup.exe -silent -detachHome ORACLE_HOME="C:\product\DBHome"
    ORACLE_HOME_NAME="DBHome"
    
  4. Oracleホームを削除します。

    cd /product
    rm -rf /product/DBHome
    
  5. 元のOracleホームをリストアして、セントラル・インベントリを更新します。次のコマンドを使用して、Oracleホームを元の場所にリストアします。

    mkdir -p /product/DBHome
    gunzip  <  /product/archive/DBHome.tar.gz | tar xf -
    
  6. このOracleホームをセントラル・インベントリにアタッチします。

    ./runInstaller -silent -attachHome ORACLE_HOME="/product/DBHome"
    ORACLE_HOME_NAME="DBHome"
    

    Win32システムの場合、コマンドは次のようになります。

    setup.exe -silent -attachHome ORACLE_HOME="C:\product\DBHome"
    ORACLE_HOME_NAME="DBHome"
    

インベントリの破損からのリカバリ

インベントリ(セントラル・インベントリおよびOracleホーム・インベントリ)は、Oracleソフトウェアのライフサイクル管理に不可欠です。次の項では、インベントリが破損した場合に行う必要がある処理について説明します。

セントラル・インベントリの破損の診断およびリカバリ

opatch lsinventory -detailを実行したとき、または「インストールされた製品」をクリックしたときに、Oracleホームが表示されない。

原因: セントラル・インベントリからOracleホームが失われた可能性があります。または、セントラル・インベントリが失われたか破損している可能性があります。

処置: 次の手順を実行します。

  • Oracleホームがセントラル・インベントリから失われた場合は、失われたOracleホームでホームのアタッチ操作を実行します。セントラル・インベントリがリストアされます。

  • セントラル・インベントリが失われたか破損している場合は、セントラル・インベントリをリストアします。セントラル・インベントリをバックアップしていない場合は、ホームのアタッチ操作を実行します。

ホームのアタッチ操作の詳細は、「セントラル・インベントリの作成」を参照してください。

指定されたOracleホームのinventory.xmlファイルに複数のエントリがある場合、Grid Controlの観点からインベントリの収集に問題が発生します。この場合、これらの重複エントリを手動で削除する必要があります。

そこにあると考えられる不正なエントリの種類の例を次に示します。

<HOME NAME="db11g" LOC="/product/db11g" TYPE="O" IDX="1"/>
<HOME NAME="oms11g" LOC="/product/em/oms11g" TYPE="O" IDX="2"/>
<HOME NAME="db11g" LOC="/product/db11g" TYPE="O" IDX="3"/>

前述の例では、最初と3番目のエントリが重複しています。Oracleホーム名とOracleホームの場所が同一です。この場合、3番目の行を削除します。

すべての重複したインベントリの問題は、inventory.xmlファイルを手動で更新したことが原因です。OUI APIを使用して、インベントリを変更します。

Oracleホーム・インベントリの破損の診断およびリカバリ

opatch lsinventory -detailを実行したとき、または「インストールされた製品」をクリックしたときに、Oracleホームは表示されるが、Oracleホーム内の製品およびコンポーネントがリストされない。

原因: Oracleホーム・インベントリが失われたか破損したことが原因である可能性があります。

処置: Oracleホーム・インベントリが失われたか破損している場合は、Oracleホーム・インベントリをリストアします。Oracleホーム・インベントリをバックアップしていない場合は、同じプラットフォームを持つ別のノードにソフトウェアをインストールし、個別パッチを含む同じパッチ・レベルをインストールします。その後で、パッチを適用したOracleホームから、影響を受けるOracleホームの場所にインベントリ・ディレクトリを簡単にコピーできます。


注意:

Oracle Universal Installerリリース10.2.0.2.0以上の場合、Oracleホームに、インベントリの破損からOracleホームをリカバリするための次のスクリプトを使用できます。
  • detachHome.bat / detachHome.sh: Oracleホームが破損した場合または更新が必要な場合にこのスクリプトを使用します。

  • attachHome.bat / attachHome.sh: Oracleホームをインベントリに追加する必要がある場合にこのスクリプトを使用します。


RAC Oracleホーム・インベントリの破損からリカバリする詳細は、「RAC Oracleホーム・インベントリの破損の診断およびリカバリ」を参照してください。

Real Application Clusters

Real Application Clusters環境では、インベントリに、Oracleホームに関連付けられているノードのリストも含まれます。アップグレード時およびパッチの適用時に、インベントリにノードのリストが正しく移入されることが重要です。

詳細は、第5章「クラスタ環境のインストール」を参照してください。

クラスタのノードの更新

Oracle Universal Installerで-updateNodeListを使用した場合、ノードのリストが取得され、inventory.xmlが更新されます。CRSタグがTRUEに設定されている場合、Oraclehomeproperties.xmlファイルはOracle Clusterwareホーム情報を使用して更新されます。共有Oracleホームの場合は、これを-cfsフラグとともに使用する必要があります。構文は次のとおりです。

./runInstaller -updateNodeList "CLUSTER_NODES={Node1,Node2}"
ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"
LOCAL_NODE="Node_Name"

注意:

クラスタのノードの更新は、例外的な状況でのみ行います。この操作はOracleサポートのサポートを受けて実行することをお薦めします。

RAC Oracleホーム・インベントリの破損の診断およびリカバリ

opatch lsinventory -detailを実行したとき、または「インストールされた製品」をクリックしたときに、Oracleホームは表示されるが、Oracleホーム内の製品およびコンポーネントがリストされない。

原因: Oracleホーム・インベントリが失われたか破損したことが原因である可能性があります。

処置: 次の手順を実行します。

  1. 全ノードでCRSとRDBMSの両方のセントラル・インベントリおよびローカル・インベントリをバックアップします。

  2. 全ノードでセントラル・インベントリの名前を変更するか削除します。

  3. 破損していないノードのローカル・インベントリを、破損しているノードにコピーします。

  4. My Oracle Support(以前のMetaLink) ノート413939.1「Steps to Recreate the Central Inventory in Real Application Clusters」に記載されているように、attachhomeオプションを使用してセントラル・インベントリを再作成します。

  5. CRSホームとRDBMSホームの両方で、opatch lsinventoryが正しく動作することを確認します。


注意:

ローカル・インベントリのコピーは、適用されるパッチ・セットおよび個別パッチが全ノード間で同じ場合にのみサポートされます。

RAC以外のOracleホーム・インベントリの破損からリカバリする詳細は、「Oracleホーム・インベントリの破損の診断およびリカバリ」を参照してください。

ホーム・セレクタ(Win32プラットフォームで使用可能)

次の各項では、WindowsコンピュータでOracle Universal Installerの一部としてインストールされるホーム・セレクタについて説明します。

ホーム・セレクタを表示するには、「インベントリ」ダイアログの「環境」タブをクリックします。このダイアログは、いくつかのOracle Universal Installer画面で「インストールされた製品」ボタンをクリックした場合に表示されます。

ホーム・セレクタの概要

ホーム・セレクタは、インストール・ソフトウェアの一部です。ホーム・セレクタでは、プライマリOracleホーム(環境変数PATHに最初に出現するOracleホーム)を簡単に変更できます。アクティブなホームを切り替える必要がある場合、またはデフォルト・ホームをアクティブにすることが必要なバッチ作業を実行する場合は、ホーム・セレクタを使用してWindows NTシステムの設定を変更できます。

ホーム・セレクタを使用して特定のOracleホームをアクティブなホームにした場合は、該当するソフトウェア・インストールの場所がPATH変数の先頭に移動され、実行可能ファイルおよびライブラリ・ファイルが最初にスキャンされるディレクトリになります。

「インベントリ」ダイアログの「環境」タブでGUIを使用して、PATH変数内のOracleホームの順序を設定できます。

ホーム・セレクタの動作

インストールを実行すると、Oracle Universal InstallerによりselectHome.batファイルが実行され、選択したOracleホームが登録されます。サイレント・モードでは、Oracle Universal Installerの外部でこの操作が実行されます。最初のOracleホームにはDEFAULT_HOMEという名前が付けられていて、次のWindows NTのレジストリ・キーに登録されます。

HKEY_LOCAL_MACHINE
   Software
      Oracle


これは、Oracleのすべての汎用設定を含むデフォルトのWindows NTレジストリ群です。また、PATH変数が調整され、$ORACLE_HOMEBINディレクトリが環境変数に追加されます。

いくつかの追加パラメータもキーに書き込まれます。

HKEY_LOCAL_MACHINE
   Software
      Oracle
         KEY_<ORACLE_Home_Name>


Oracle Universal Installerを使用して、DEFAULT_HOMEという名前を他のものに変更できます。また、ORACLEキーのKEY_<Home_NAME>サブキーにすべてのOracle設定が登録されます。

追加のOracleホームがシステムに追加されると、PATH変数が再び調整され、新規にインストールされたOracleソフトウェアの新規BINディレクトリが追加されます。レジストリ変数は、KEY_<HOME_NAME>という名前のキーに書き込まれます。

WindowsプラットフォームのOracleホーム・ディレクトリ構造

Windowsプラットフォームの一般的なOracleホームには、表2-4に示すファイルおよびディレクトリがあります。

表2-4 WindowsプラットフォームのOracleホーム・ディレクトリ

Oracleホーム・ディレクトリ 目次

\BIN

製品実行可能ファイルおよびDLL

\LIB

DLLファイル

\JLIB

すべてのJARファイル

\DBS

共通メッセージ・ファイル

\PROD1

PROD1製品ファイル

\PROD2

PROD2製品ファイル


Optimal Flexible Architectureディレクトリ構造(UNIXの場合)

Optimal Flexible Architecture(OFA)標準は、保守をほとんど必要としない高速で信頼性の高いOracleデータベースを構成するための一連のガイドラインです。

OFAは、次の目的で設計されています。

  • ディスク上の大量の複雑なソフトウェアおよびデータを整理し、デバイスのボトルネックとパフォーマンスの低下を回避します。

  • ソフトウェアおよびデータのバックアップ機能など、データ破損の影響を受けやすい日常的な管理タスクを容易にします。

  • 複数のOracleデータベース間での切替えを容易にします。

  • データベースの増大を適切に管理します。

  • データ・ディクショナリの空き領域の断片化を排除し、その他の断片化を分離し、リソース競合を最小化します。

次の項では、OFAディレクトリ構造について説明します。

ORACLE_BASEディレクトリ

ORACLE_BASEは、OFA準拠データベースのOracleディレクトリ構造のBASEを指定します。一般的なORACLE_BASEディレクトリ構造について、表2-5で説明します。Oracle Universal Installerを使用してOFA準拠データベースをインストールする場合、ORACLE_BASEはデフォルトで/pm/app/oracleに設定されます。

表2-5 ORACLE_BASEのディレクトリ構造および内容(サンプル)

ディレクトリ 内容

admin

管理ファイル

doc

オンライン・ドキュメント

local

ローカルOracleソフトウェア用のサブツリー

product

Oracleソフトウェア


ORACLE_HOMEディレクトリ

表2-6に、Oracle ServerインストールのOracleホームのディレクトリ構造および内容の例を示します。

OFA準拠のOracleサーバーをインストールする場合、Oracleホーム・ディレクトリは/mount_point/app/oracle/product/release_numberです。UNIXでは、Oracleホーム・ディレクトリには、次のサブディレクトリに加えて、選択した各Oracle製品のサブディレクトリが含まれる場合があります。


注意:

この表のディレクトリと内容は、単なるサンプルです。各ユーザーのOracleホームに含まれるディレクトリは、対応する製品がインストールされているかどうか、どのバージョンのOracle Databaseを実行しているかによって決まります。

表2-6 Oracleホームのディレクトリ構造および内容(サンプル)

ディレクトリ 内容

assistants

コンフィギュレーション・アシスタント

bin

すべての製品のバイナリ

ctx

interMedia Textカートリッジ

dbs

initsid.oralksid

install

インストール関連のファイル

lib

Oracle製品ライブラリ

jlib

Javaクラス

md

空間カートリッジ

mlx

Xerox Stemmer(interMedia Textカートリッジ用)

network

Oracle Net

nlsrtl

NLSランタイム・ロード可能データ

ocommon

すべての製品の共通ファイル

odg

Data Gatherer

opsm

Parallel Server Managerのコンポーネント

oracore

コア・ライブラリ

ord

データ・カートリッジ

otrace

Oracle TRACE

plsql

PL/SQL

precomp

プリコンパイラ

rdbms

データベースに必要なサーバー・ファイルおよびライブラリ

slax

SLAXパーサー

sqlplus

SQL*Plus