トラブルシューティング
本章では、インストール・プロパティ・ファイルが正しく作成されていないために発生するエラーのうち、頻繁に発生するエラーのタイプを紹介し、その解決方法について説明します。
1. 概要
Baseのインストール時に発生するエラーは、以下の3つの方法により確認することができます。
-
${OPENFRAME_HOME}/UninstallerData/log/install_BASE.logファイルをテキスト・エディターで直接開いて確認します。
-
Baseのインストール後、手動でスクリプトを実行する際に記録されるエラー・ログを確認します。
-
OpenFrameの起動を確認する際に表示されるサーバー状態のログ情報を確認します。
|
2. エラーのタイプおよび解決方法
以下では、インストール・プロパティ・ファイルやライセンス・ファイルが正しくないため、Baseのインストール時に頻繁に発生するエラーのタイプとその解決方法を紹介します。
2.1. ライセンス・ファイル
ライセンス・ファイルが存在しないか破損している場合、またはライセンスが期限切れになった場合、以下のようなエラーが発生します。
-
エラーのタイプ
-
Tmaxのライセンス・ファイルが存在しない場合
boot.shスクリプト・ファイルを実行すると、以下のようなエラーが発生します。
(E) CFL2141 failed to read license file : /home/oframe/OpenFrame/core/license/license.dat [COM0900]
-
Tmaxのライセンス・ファイルが期限切れになった場合
boot.shスクリプト・ファイルを実行すると、以下のようなエラーが発生します。
(E) CFL2145 License is expired : [COM0906]
-
Tmaxのライセンス・ファイルが破損している場合
boot.shスクリプト・ファイルを実行すると、以下のようなエラーが発生します。
(E) CFL2142 Corrupt license file : /home/oframe/OpenFrame/core/license/license.dat [COM0902]
-
Baseの各モジュールのライセンス・ファイルが存在しないか正しくない場合
Baseの起動時に該当するモジュール・サーバーが正常に実行できません。tmadminを使用してサーバーの状態を確認すると、NRDYが表示されます。
サーバーが正常に実行されていることを確認するために、tmadminの実行後、siコマンドを実行します。詳細については、起動の確認の5項を参照してください。
-
-
解決方法
ライセンス関連のお問合せは、弊社のテクニカル・サポート・チームまでご連絡ください。
2.2. 共有メモリ
以下は、共有メモリ・キーの値が重複した場合に発生するエラーです。
-
エラーのタイプ1)
-
エラー・コード : CFL0096
インストール・プロパティ・ファイルに登録した共有メモリ・キーの値が、他のユーザーまたはプログラムが使用しているキー値と重複する場合、OpenFrameサーバーは起動されません。このような場合、${OPENFRAME_HOME}/UninstallerData/logディレクトリのinstall_base.logファイルを確認すると、以下のエラーを確認できます。
(E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists (E) CFL0096 shared memory : different owner 1010 [COM3517]: File exists
-
解決方法
インストール・プロパティ・ファイルに登録した共有メモリ・キーの値を修正して再インストールするか、${OPENFRAME_HOME}/configディレクトリ、または ${OPENFRAME_HOME}/core/configディレクトリにあるoframe.mファイルの値を修正してから再実行します。
-
-
エラーのタイプ 2)
-
エラー・コード : ALC0001E
Baseのインストール後にtmbootを実行すると、サーバーが正常に起動されず、以下のエラーが発生する場合があります。
“[ALC0010E] shared memory size mismatch - shmkey=0x9471,segsz=1673932”
-
解決方法
インストール・プロパティ・ファイルに登録した共有メモリ・キーの値を修正して再インストールするか、${OPENFRAME_HOME}/core/configディレクトリにあるTMAX configの値を修正してから手動で適用します。
以下の例は、TMAX共有メモリ・キーを手動で適用する方法です。
# vi $OPENFRAME_HOME/core/config/oframe.m *DOMAIN domain SHMKEY = 38001 # $TMAXDIR/bin/pfmtcacheadmin -d # $TMAXDIR/bin/pfmtcacheadmin -c # vi $OPENFRAME_HOME/core/config/pfmtcache.cfg * the configuration file of TCACHE SHMKEY=39082 # $TMAXDIR/bin/cfl -i $TMAXDIR/config/oframe.m
-
2.3. データベース
以下は、OpenFrameデータベースへのアクセス情報の設定が正しくない場合に発生するエラーです。
-
エラーのタイプ
インストール・プロパティ・ファイルを作成する際、ストレージ・デバイスの環境設定で正しくないデータベースのアクセス情報を入力した場合、OpenFrameサーバーは起動されません。
${OPENFRAME_HOME}/UninstallerData/logディレクトリのinstall_BASE.logファイルを確認すると、以下のようなエラーを確認することができます。
ofcom_odbc: SQLConnect failed. State: 08001, Native Error: -17001, Message: [unixODBC] Login failed: invalid user name or password.
-
解決方法
インストール・プロパティ・ファイルでストレージ・デバイスの環境設定を正しく修正した後、再インストールを行います。
2.4. セキュリティ・モジュール
以下は、セキュリティ・モジュールでライブラリへのアクセスを遮断した場合に発生するエラーです。
-
エラーのタイプ
Linuxのセキュリティ・モジュールであるSELinuxを使用する一部のLinuxシステムでは、SELinuxのセキュリティ・ポリシー上、一部のライブラリへのアクセスを遮断しているため、以下のようなエラーが発生する場合があります。
“cannot restore segment prot after reloc: Permission denied”
-
解決方法
-
アクセス拒否(Permission denied)が発生するライブラリを対象に、以下ようにchconコマンドを実行します。ライブラリによっては、スーパー・ユーザー権限が必要な場合があります。
chcon -t texrel_shlib_t [適切なsoライブラリ]
-
スーパー・ユーザーで接続した後、以下のように/etc/sysconfig/selinuxファイルを修正し、SELInuxを無効化します。ただし、この方法はセキュリティが弱まる可能性があるため、お勧めしません。
SELINUX=disabled
-
2.5. UNIX ODBC
以下は、UNIX ODBC関連の設定が正しくない場合に発生するエラーです。
-
エラーのタイプ1)
-
Baseをインストールした後、ofversionなどの実行プログラムを実行した際に、ライブラリ(libodbc.so)が見つからない場合に発生するエラーです。
$ ofversion ofversion: error while loading shared libraries: libodbc.so.1: cannot open shared object file: No such file or directory $ ldd ofversion linux-vdso.so.1 => (0x00007fff02fc1000) libofcom.so => /home/oframe4/OpenFrame/lib/libofcom.so (0x00007fb978d44000) libc.so.6 => /lib64/libc.so.6 (0x0000003ab5400000) /lib64/ld-linux-x86-64.so.2 (0x0000003ab5000000) libodbc.so.1 => not found
-
解決方法
UNIX ODBC 2.3.1バージョンから、ライブラリ・バージョンが変更されました(libodbc.so.1からlibodbc.so.2に変更)。インストールの後、libodbc.so(libodbc.so.1)が見つからない場合は、シンボリック・リンクを作成します。
$ ll /usr/lib64/libodbc.so* lrwxrwxrwx. 1 root root 16 Jan 12 2015 /usr/lib64/libodbc.so -> libodbc.so.2.0.0 lrwxrwxrwx. 1 root root 16 Jan 12 2015 /usr/lib64/libodbc.so.2 -> libodbc.so.2.0.0 -rwxr-xr-x. 1 root root 420200 Jul 10 2014 /usr/lib64/libodbc.so.2.0.0 $ ln -sf /usr/lib64/libodbc.so.2.0.0 /usr/lib64/libodbc.so.1
-
-
エラーのタイプ2)
-
isqlを使用してUNIX ODBCでデータベースに接続する際、UNIX ODBCドライバー・マネージャーでエラーが発生することがあります。
$ isql oframe tibero tmax [ISQL]ERROR: Could not SQLConnect
UNIX ODBC設定ファイルのodbcinst.iniの[ODBC]セクションのTraceFileに記述したログ・ファイルで、以下のようなエラー(Error: IM002)を確認することができます。
[ODBC][64494][1136898658.284331][SQLConnect.c][3727] Entry: Connection = 0x1c51080 Server Name = [oframe][length = 7 (SQL_NTS)] User Name = [tibero][length = 6 (SQL_NTS)] Authentication = [****][length = 4 (SQL_NTS)] [ODBC][64494][1136898658.284619][SQLConnect.c][3935]Error: IM002
-
解決方法
UNIX ODBC設定ファイルのodbc.iniで、セクション名とDSN名を確認し、両方の名前を同一に修正します。
-
2.6. エンジン起動時のCLH9990エラーの発生
以下は、システムで許可するFDの最大値がTmaxで使用するFD値より小さいため、CLH9990エラーが発生した場合です。
-
エラーのタイプ
Baseのインストール後、tmbootを実行したとき、CLHサーバーが正常に起動されず、以下のようなCLHエラー・ログが発生することがあります。
“(F) CLH9990 Current Tmax configuration contains more servers or nodes than current system can support.”
-
解決方法
UNIXシステムで許可しているnofileのハード・リミットとソフト・リミットの値を変更します。以下の例では、Linuxシステムで該当値を8192に変更しています。
# vi /etc/security/limits.conf * hard nofile 8192 * soft nofile 8192
オペレーティング・システムによって値を変更する方法が異なる場合があります。各OSベンダーが提供するマニュアルを参照するか、あるいはエンジニアにお問合せください。