このトピックでは、Oracle Universal Installerに関するユーザーからの一般的な質問に回答します。このトピックの質問と回答は、次のカテゴリに分類されています。
コード・ブロック内でアクションを起動できますか。
いいえ。コード・ブロック内でアクションを起動することはできません。
異なるプラットフォーム上にインストールする際、プラットフォーム固有のアクションはどのように処理されるのですか。
一部のアクションはプラットフォーム固有のものです。OSPには、WindowsプラットフォームおよびSolarisプラットフォーム専用のアクションが同梱されています。特定のプラットフォームに適用されないアクションはインストールの際に無視され、特定のプラットフォームに適用されない問合せにはデフォルト値が返されます。
.exeファイルを作成または展開するアクションはありますか。
OUIには、自己解凍(.exe)ファイルを作成または実行するアクションはありません。自己解凍ファイルのコンテンツをファイル・グループに追加し、copyGroupアクションを使用してファイルをコピーしてください。この手順に従うと、削除中にすべてのファイルを削除できます。実行可能ファイルをインストールすれば、spawnアクションを使用して実行できます。
削除はどのように行われるのですか。
すべてのアクションには、削除時に新しいものから実行されるUNDO機能が定義されています。アクションは、インストール中、インストールおよび削除中、または削除中にのみ実行されるように指定されます。削除中に実行されるよう指定された各アクションは、コンポーネントのログにエントリを1つ追加します。削除中には、アクションの削除方法を使用して、ログが新しいものから実行されます。
インストーラ・アクション・ログとは何ですか。
アクション・ログはセッションごとに書き込まれます。インストーラ・アクション・ログは、新しいインストール・セッションが開始されるたびに作成されます。各アクションが行う処理やそのアクションがインストール中と削除中のどちらに発生したかが、アクションごとにインストーラ・アクション・ログに記録されます。各セッションは、installActionstime_stamp.logファイルに保存され、time_stampは次の形式で表示されます。
yyyy-mm-dd_hh-mm-ss[AM|PM].log
また、.errファイルおよび.outファイルではファイル名にタイムスタンプが使用されるため、各セッションのこれらのファイルを容易に追跡できます。
SQLコマンドはどのように起動しますか。
SQLコマンドを起動するには、spawnアクションを使用します。
たとえば、インストール中に2つの表を作成する場合、ct.sqlという名前のSQLスクリプトを使用します。このSQLスクリプトには、たとえば次のような行が含まれます。
create table &1 (col1 number, col2 number);
create table &2 (col1 number, col2 number);
exit;
spawnアクションを使用するインストール中にSQL Plusを使用してfoo1およびfoo2の表を作成する場合、インストール・コマンド・パラメータは次のようになります。
Windows NT、95または98では、次のいずれかを使用します。
sqlplusw system/manager @x:/directory/ct.sql foo1 foo2
cmd /c sqlplus system/manager @x:/directory/ct.sql foo1 foo2(NTのみ)
command /c sqlplus system/mamager @x:/directory/ct.sql foo1.foo2(Win 95/98)
sqlplus system/manager @x:/directory/ct.dql foo1 foo2(UNIX)
インストール中にOracleデータベースを起動するには、db.startupという名前のスクリプトを使用します。このスクリプトには、たとえば次のような行が含まれます。
connect internal
startup
exit;
spawnアクションを使用中に、サーバー・マネージャ行モードがシステム・パスにある場合、インストール・コマンド・パラメータは次のようになります。
UNIXコマンドラインの場合:
svrmgr1 command=@/private1/Directory/db.startup
DOSコマンドラインの場合:
svrmgr1 @/private1/Directory/db.startup
データベースをシャットダウンするには、db.shutdownという名前のスクリプトを使用します。このスクリプトには、たとえば次のような行が含まれます。
connect internal
shutdown immediate
exit;
spawnアクションを使用中に、サーバー・マネージャ行モードがシステム・パスにある場合、インストールまたはアンインストール・コマンド・パラメータは次のようになります。
UNIXコマンドラインの場合:
svrmgr1 command=@/private1/Directory/db.shutdown
DOSコマンドラインの場合:
svrmgr1 @/private1/Directory/db.shutdown
問合せを使用して、ORACLE_HOMEインベントリを取得できますか。
以前のバージョンのOUIでインストールされた製品をテストするには、RgsQueriesを使用します。OUIでインストールされた製品をテストするには、AreasQueriesを使用します。現在のところ、Oracleホームにインストールされた全製品のリストを返す問合せは存在しません。
同じファイルを共有する2つのコンポーネントはどのように作成しますか。
同じファイルを共有する2つのコンポーネントを作成する方法の1つは、共有ファイルを含む別のコンポーネントを作成することです。共有ファイルを含むこのコンポーネントに、2つのコンポーネントを依存させることができます。この別のコンポーネントは、2つのコンポーネントのどちらかがインストールされるとインストールされます。2つのコンポーネントが削除され、別のコンポーネントに依存するコンポーネントがなくなるとこのコンポーネントも削除されます。
依存するコンポーネントと依存されるコンポーネントの違いは何ですか。
通常、依存するコンポーネントは、下位レベルのコンポーネント(依存される側)に依存するトップ・レベル・コンポーネントを指します。依存するコンポーネントは、依存されるコンポーネントがすべてインストールされないかぎりインストールされません。
たとえば、コンポーネントA(必須またはオプション)が正常に動作するためには、コンポーネントBをインストールする必要がある場合、AはBに依存します。つまり、Aは依存するコンポーネントであり、Bは依存されるコンポーネントです。
循環依存とは何ですか。
循環依存は、もともと依存する側であったコンポーネントが、依存される側のコンポーネントに依存された場合に発生します。たとえば、AがBに依存し、BがCに依存し、CがAに依存する場合、循環依存になります。これは、別のセッションでコンポーネントを編集し、依存コンポーネントを割り当てた場合に発生します。Stage Verifierは循環依存をチェックします。
OUIでは、循環依存はサポートされていません。
パブリック変数はどのようにエクスポートしますか。
変数アソシエーションは依存するコンポーネントの変数を依存されるコンポーネントの変数に関連付けることができます。Bの変数fooを、Aの対応するパブリック変数に関連付ける必要があります。どちらの変数もpublicとマークされ、同じタイプであることが必要です。
たとえば、コンポーネントAがコンポーネントBに依存し、コンポーネントBにfooという名前のパブリック変数がある場合、コンポーネントAの変数をエクスポートして、コンポーネントBのfooにその値を指定できます。
コード・ブロック内ではどのように数値変数に文字列変数を割り当てますか。
parseInt関数を使用して文字列を数値に変換します。関数は例外をスローしないため、渡された文字列が有効な整数を表さない場合、parseInt関数は0を返します。
Configuration Assistantの仕様ファイルではどのように変数を使用しますか。
Configuration Assistantの仕様ファイルで、CLASSPATH変数を次のように設定します。
Name=<クラスパス>
Description=<この構成ツールを起動するのに必要なクラスパスを指定>
また、仕様ファイルの「GENERAL」セクションに含まれる引数のリストにCLASSPATHを含めます。
この仕様ファイルを使用してConfiguration Assistantを作成する場合、install引数およびdeinstall引数にこのCLASSPATH引数が含まれます。アクション、問合せ、ダイアログまたは関数に引数が指定されたのと同様に、CLASSPATHを式で指定する必要があります。
注意: スイッチ(-cp)はすでに仕様の一部であるため、再度指定する必要はありません。
次のプラットフォーム固有の定数を作成することをお薦めします。
c_sPathSeparator: Windowsプラットフォームの場合はセミコロン(;)を、UNIXプラットフォームの場合はコロン(:)をこの値に設定します。
c_sCLASSPATH: Windowsプラットフォームの場合は%CLASSPATH%を、UNIXプラットフォームの場合は$CLASSPATHをこの値に設定します。
作成後、次の例で示すように定数を使用すると、Java Runtime Environment(JRE)に正しいクラスパスを渡したことを確認できます。
NET8_LOCATION + "/lib/netcfg.jar" + c_sPathSeparator + c_sCLASSPATH
複数項目のダイアログはどのように作成しますか。
複数項目のダイアログにはユーザー定義のプロンプトと、インストールに必要なだけの入力フィールドが表示されます。各入力フィールドには、関連付けられたラベルがフィールドの左に表示されます。使用できる入力フィールドのタイプは、POPDOWN、SECURE、TEXTFIELDの3つです。これらの入力フィールド・タイプは大/小文字が区別され、リストのとおりに入力する必要があります。現在、使用できるPOPDOWNフィールドはダイアログごとに1つずつのみで、このフィールドで使用可能な選択肢のリストから選択できます。SECUREフィールドは通常、パスワードの入力に使用します。TEXTFIELDタイプは、要求された情報を手動で入力する必要がある場合に使用します。
サブタイトル・フィールドには何が表示されますか。
すべての標準ダイアログでは、タイトルの直下に表示されるサブタイトルを指定できます。サブタイトル・フィールドのデフォルト値は、空の文字列です。情報ダイアログでは、ダイアログの下部に表示される説明テキストを指定できます。説明テキストのデフォルト値はNULLです。
パスワードはどのようにして検証できますか。
パスワード・ダイアログを使用する場合、ダイアログのデフォルト値機能を使用してパスワードを設定できます。(ダイアログのデフォルト値は未検証です。)パスワード・ダイアログは検証を実行し、「パスワードを入力」フィールドと「パスワードの確認」フィールドの両方に同じ値が入力されたかどうかを確認します。この値は、パスワードを受け入れる変数に設定されます。変数の検証方法には、パスワードが正しいかどうかの確認など、その他の検証を追加できます。
特定のコンポーネントに対する操作はどのように実行しますか。
デフォルトでは、コンポーネント表にリストされたすべてのコンポーネントで操作が実行されます。特定のコンポーネントでのみ操作を実行する場合は、コンポーネント・キーを使用してリストから個々のコンポーネントを選択します。次に例を示します。
コンポーネント表の例:
comp0 c:/components/component0.prp component0 "NT,Solaris" 1.0
comp1 c:/components/component1.prp component1 "NT,Solaris" 1.0
comp2 c:/components/component2.prp component2 "NT,Solaris" 1.0
patch3 c:/components/patch3.prp patch1 "NT,Solaris" 1.1
コンポーネントを指定するコマンドラインの例:
ospSilent c:/myspec.txt -components {comp0, comp1, patch3}
クリーンなNTシステム上のOracle_Homeフィールドにはどのようにカスタム・デフォルト値を追加および指定しますか。
oraparam.iniファイルに次のエントリを追加します。
DEFAULT_HOME_LOCATION=/<HomeDirectory>
ディレクトリ名は、ディスクの空き領域が最も多いドライブに追加されデフォルトとして使用されます。この値は、クリーン・システム上でのインストールにのみ使用されます。
oraparam.iniファイルの使用方法の詳細は、『Oracle Universal Installer Concepts Guide』のトラブルシューティングを参照してください。
UNIXでのインストール中にはどのようにリリース・ノートを表示しますか。
インストールの終了時に、リリース・ノートを表示するツールまたはコマンドを入力するよう要求されます(該当する場合)。viまたはemacsを使用してリリース・ノートを表示する場合は、ツール名の前にxterm -eと入力します。たとえば、xterm -e viでは、コマンドvi <filename>を即座に実行する別のxtermウィンドウが表示されます。
OUIによって返される終了コードにはどのような種類がありますか。
終了コードの詳細は、『Oracle Universal Installer Concepts Guide』を参照してください。
特定のインストール・セッションで行うすべての選択が含まれるレスポンス・ファイルはどのように作成しますか。
レスポンス・ファイルの使用方法の詳細は、『Oracle Universal Installer Concepts Guide』の「Customizing and Creating Response Files」の章を参照してください。特に「Creating a Response File with Record Mode」セクションを参照してください。
OUIではどのように一時ファイルの場所が判断されるのですか。
まず、$TEMP環境変数を試行します。検出されない場合は$TMPを試行します。それでも検出されない場合はデフォルトで、Solarisでは/tmp、WindowsではC:\Tempになります。
OUIではどのような順序で変数に値が割り当てられるのですか。
変数は、次の優先順位で設定されます。
コマンドライン
Linuxで、英語以外の言語でOUIを起動できないのはなぜですか。
Linux環境で、英語以外の言語でOUIを起動できない場合は、シェルで国コードと言語コードの両方を指定して言語設定を構成してください。
言語設定をフランス語にする場合のコマンドラインの例:
setenv LANG fr_FR
setenv LC_ALL fr_FR
クラスタ・システム上で「ノードの選択」ページが表示されないのはなぜですか。
クラスタ・システムでこのページが表示されない場合は、Oracle Clusterwareが正しくインストールされているかどうかを確認してください。正しくインストールされている場合は、<CRSHome>/bin/olsnodesを実行して、クラスタウェアが稼働中かどうかを確認します。olsnodesがノード・リストを返さない場合、OUIではこのページが表示されません。これはシステム固有の問題で、OUIの問題ではありません。Oracle Clusterwareがインストールされておらず、システムがベンダー・クラスタウェアの一部である場合は、Disk1/install/<platform>/lsnodesを実行してノード・リストを取得します。lsnodesがノード・リストを返さない場合、OUIではこのページが表示されません。
空のOracleホームに対して「選択されたノード」ページが表示されるのはなぜですか。
この問題は、このホームからソフトウェアを削除した場合に発生します。削除後もOUIにはそのホームとノードの情報が記録されています。このOracleホームを「インベントリのインストール」ダイアログ(詳細はオンライン・ヘルプを参照)から削除し、インストールを開始してください。
「使用可能な製品」ページや「インストール・タイプ」ページにリスト・ボックスが表示されるのはなぜですか。
原因は、選択肢が多すぎる、または選択肢の説明が長すぎてリストおよび1ページの説明に収まらない、あるいはその両方です。選択肢が3つある場合、選択肢ごとの説明が3行であればラジオ・ボタンのページが表示されます。
「インストール・タイプ」ページと「サマリー」ページのサイズが、Oracleホームの実際の要件と異なるのはなぜですか。
サイズは、インストール中に必要な全領域およびインストールされている製品で累積されます。一般的に、インストールが完了すると、(リンクに使用される)一部の領域は不要になります。サイズが正確でない場合、インストールの開発者は必要に応じてコンポーネントのオフセットを更新する必要があります。実際のサイズは、-printdiskオプションを使用してOUIを実行し、一時ファイル、リンク用の一時領域、Oracleホーム、およびOracleホーム以外にあるすべてのファイル(データベース・ファイルなど)が、異なるディスクとして設定されていることを確認して計算できます。OUIは、logsディレクトリにファイルを作成し、各アクションの後にディスクの使用状況を示します。ピーク時および終了時の使用状況を使用して、オフセット(インストール、一時ファイルおよびインストール後)を設定できます。
インストール中はどのようにエラーをデバッグしますか。
インストール中に発生するエラーなど、インストール・フェーズの問題は、installActionstime_stamp.logの最終の更新を確認してください。最後のエントリがアクションまたは問合せのエラー状態であれば、これはインストール・スクリプトの問題である可能性があります。インストール開発では、さらに問題を選別する必要があります。エラー状態を選別するためのヒントは次のとおりです。
予期したエラー状態ですか。その場合、そのエラー状態は不具合ではありません。
アクションまたは問合せの引数は適切ですか。適切でない場合は修正し、コンポーネントを再度ステージングして再試行します。これはインストール・スクリプトの問題です。
アクションまたは問合せへの入力は適切だが操作が不正な場合は、ライブラリの問題である可能性があります。カスタム・ライブラリであるかどうかを確認してください。
問題がリンク・フェーズで発生した場合は、installActionstime_stamp.logでmake操作の出力を確認してください。OUIの外部からmake操作を正常に実行できますか。OUIの問題ではなくmakeファイルの問題です。
クラスタ・インストールの問題はどのようにデバッグしますか。
installActionstime_stamp.logをチェックし、リモート・ノードにファイルをプッシュ中にOUIで問題が発生したことを示すエラー・メッセージがあるかどうかを確認してください。
同じOracleホームとノードを選択してインストールを再開し、「使用可能な製品」ページに移動します。前提条件チェックが実行され、ノードが起動されていることと、Oracleホームおよびインベントリへのアクセス権があることが確認されます。(このチェック処理は手動でも行えます。)
クラスタ・インストールで、リモート・ノードにファイルを伝播できない問題がある場合は、installActionstime_stamp.logをチェックし、ファイルがcopyGroup/copyExpandedGroupアクションでインストールの一部として含まれていることを確認してください。ファイルがコピーされておらず、リンク操作の一部として生成されている場合は、インストールの問題でありOUIの問題ではありません。このファイル(OracleHome/inventoryディレクトリ、root.shなどにあるファイル)をOUIが所有する場合、これはOUIの問題です。
リモート・ノードで実行されたサービスまたはレジストリの更新に関する問題は、OUIの問題です。この問題を再現できる小規模なテスト・ケースがあれば、OUIチームはこの問題を選別できます。OUIは、ほとんどのクラスタ操作をSRVM APIに依存します。選別の結果により、OUIがタスクを適切に実行していないのか、SRVMの問題であるのかがわかります。OUIチームは、この事例の不具合を適切に再割当てします。
Configuration Assistantの問題はどのようにデバッグしますか。
問題がConfiguration Assistantに関連している場合は、すべてのConfiguration Assistantを停止します。OUIも終了します。installActionstime_stamp.logを開き、スキップされたConfiguration Assistantと、同じものに対するコマンドラインのリストを確認します。OUIの外部で、同じ順序でツールを実行し正常に動作するかどうか確認します。正常に動作しない場合は、Configuration Assistantの問題です。インストールまたはOUIの問題ではありません。
特定のConfiguration Assistantが停止する問題の場合は、他のConfiguration Assistantに「停止」操作が機能するかどうかを判断します。機能する場合、これはConfiguration Assistantの問題です。OUIはConfiguration Assistantのプロセスの停止を試行するだけで、同じものに対するレスポンスはConfiguration Assistantに委ねられています。
問題がConfiguration Assistantの失敗に関連している場合は、Configuration Assistantの問題です。「詳細」パネルまたはinstallActionstime_stamp.logで、Configuration Assistantによって潜在的エラーがレポートされていないかどうかを確認してください。この情報を使用して問題を修正するか、インストール開発チームに問題を報告できます。
問題がConfiguration Assistantの名前に関連している場合は、インストール・スクリプトの問題です。
ステージングしようとすると、ステージング領域で排他書込みアクセスを行うためのロックを取得できないというエラー・メッセージが表示されます。
ステージング領域への同時書込みを防止するため、ステージング領域にはロックが機能します。別のステージング・セッションが実行中で同じステージング領域へのステージングを試行している場合、あるいはインストール・セッションが同じステージング領域からのインストールを試行している場合、このエラーが表示されます。同じステージからのステージングを試行しているインストーラ・セッションがないかどうかを確認してください。
ファイル・グループに追加できる最大のエントリ数はいくつですか。
ファイル・グループには、最大で約6000個のファイルを追加できます。ファイル・グループ内のファイル数がこの数値を超えるとインストール時のメモリー要件が影響を受け、インストールにかかる時間が長くなります。copyJarContentsアクションを使用して展開したjarファイルにも、同じ制限が適用されます。
翻訳されたリリース・ノートをどのようにコンポーネントに含めますか。
すべてのリリース・ノートはファイルマップに含める必要があるため、翻訳されたリリース・ノート・ファイルをすべて追加し、目的の場所にコピーされるようにすべてのファイルをマークします。これにより、このファイルのリリース・ノートを作成できます。
翻訳された(英語以外の)リリース・ノートは、別個のファイル・グループに含めることをお薦めします。これにより、copyGroupアクションは元のcopyGroupアクションと同じように機能します。
複数のディスクにわたる製品があります。これをインストールするとき、OUIは同じディスクを何度も要求します。なぜでしょうか。
複数のCDを作成する操作が、ステージング領域で実行される最後の操作であることを確認してください。ステージングする場合、すべてのコンポーネントの削除またはステージング領域へのその他の変更を行ってから、Oracle Software Packagerで複数のCDを作成する操作を再度実行する必要があります。また、次のことを検証してください。
ステージング領域に不要なコンポーネントが存在しないこと。不要なコンポーネントとは、ステージング領域に存在しているが、他のコンポーネントが依存していないためインストールされないトップ・レベル以外のコンポーネントです。
ステージングの際に、ターゲット製品でサポートされているプラットフォームのみを選択していること。
次の例では、Oracle Universal Installerに用意されている異なるタイプの依存性を持つトップ・レベル・コンポーネントを使用します。
テスト1: 必須タイプの依存性を持つコンポーネントのテスト
設定
それぞれが同じ必須タイプの依存されるコンポーネント(C)を持つ、トップ・レベル・コンポーネント(A、B)を2つ作成します。
インストール
I1a.Aを選択すると、AとCがインストールされます。
I1b.その後Bを選択すると、Bのみがインストールされます(依存されているコンポーネントCはすでにインストールされています)。
削除
D1a.Aを選択するとAのみが削除されます。CはBの必須タイプの依存されるコンポーネントでもあり、必要なので削除されません。
D1b.AとCを選択すると、A、BおよびCが削除されます。CはBの必須タイプの依存されるコンポーネントであり、CがインストールされていないとBをインストールできないためBも削除されます。
D1c.Cを選択すると、A、BおよびCが削除されます。CはAとBの必須タイプの依存されるコンポーネントであり、CがインストールされていないとAもBもインストールできないためAとBも削除されます。
テスト2: 1つ以上の依存性を持つコンポーネントのテスト
設定
1つ以上の依存性を持つ同一の2つのコンポーネント(C、D)を持つ、2つのトップ・レベル・コンポーネント(A、B)を作成します。
インストール・テスト2
I2.a. Aと両方の依存されるコンポーネント(C、D)を選択すると、A、CおよびDがインストールされます。
I2.b. その後、Bを選択すると(CとDは選択しない)、Bのみがインストールされます。
削除テスト2
D2.a1.Aを選択するとAのみが削除されます。
D2.a2.Aおよび依存されるコンポーネントC(Aの下位)を選択すると、すべて(A、B、C、D)が削除されます。
注意: BとDも削除されます。
D2.a3.依存されるコンポーネントC(Aの下位)のみを選択すると、すべて(A、B、C、D)が削除されます。
注意: A、BおよびDも削除されます。
D2.a4.依存されるコンポーネントD(Aの下位)のみを選択すると、すべて(A、B、C、D)が削除されます。
注意: A、BおよびCも削除されます。
D2.a5.依存されるコンポーネントCとD(Aの下位)の両方を選択すると、すべて(A、B、C、D)が削除されます。
注意: AとBも削除されます。
D2.b1.Bを選択するとBのみが削除されます。
D2.b2.Bおよび依存されるコンポーネントC(Bの下位)を選択すると、すべて(A、B、C、D)が削除されます。
注意: AとDも削除されます。
D2.b3.依存されるコンポーネントC(Bの下位)のみを選択すると、すべて(A、B、C、D)が削除されます。
注意: A、BおよびDも削除されます。
D2.b4.依存されるコンポーネントD(Bの下位)のみを選択すると、すべて(A、B、C、D)が削除されます。
注意: A、BおよびCも削除されます。
D2.b5.依存されるコンポーネントCとD(Bの下位)の両方を選択すると、すべて(A、B、C、D)が削除されます。
注意: AとBも削除されます。
Copyright © 1996, 2016, Oracle. All rights reserved.
OracleはOracle Corporationおよびその関連企業の登録商標です。
その他の名称は、それぞれの所有者の商標または登録商標です。