ドメイン作成時、システム名(tpsystem.systemNameW)やシステムID(tpsystem.systemID)の重複が発生すると制御ファイルの重複、メモリの作成エラーが発生してサービスの起動に失敗します。ドメイン作成用プロパティファイルを編集する際は重複しないように注意してください。
また、システム名は他のドメインと重複しない他、8文字以内の英数字で指定する必要があります。
各状況の復旧方法を示します。WebOTXの起動停止方法は「ドメインの運用 2.サービスの起動・停止、3.3ドメインの起動停止」を参照してください。
システム名重複によるエラー
作成したプロパティファイル内のシステム名を重複して作成してしまった場合、システム名が重複してしまうため、制御ファイルや共有メモリの重複が発生し、設定を上書きしてしまい不正状態になります。片方のドメインが起動したTPシステムに対して別ドメインが属性設定をしようとしたり、起動しようとしたりして思わぬ動作不正が発生することになります。
例えば、新規ドメインは最初の起動時に属性 'systemModel'設定しますが、すでにTPシステムが起動しているとこの属性設定に失敗し、以下のようなメッセージがシスログに出力されます。これは、先に作成されていたドメインのTPシステムが起動しており、そのTPシステムに設定をしようとしたために発生します。
(ただし、下記エラーになったからといって必ずこれが原因というわけではありません)
OTX01140030: setAttribute の実行に失敗しました。属性 'systemModel' の値をセットすることができません。 (com.nec.webotx.enterprise.system.tools.admin)
OTX07200004 TPMonitorManager Lifecycle の起動処理に失敗しました。 (com.nec.webotx.enterprise.system.TPMonitorManager) Error: javax.management.MBeanException
OTX01205103: サービス "com.nec.webotx.enterprise.TPMonitorManager.TPMonitorManagerLifecycle" を起動することができません!起動する際は、コマンドから再度実行して下さい : javax.management.MBeanException (com.nec.webotx.enterprise.system.core)
|
また、そのままドメインの削除を行うと重複された側の制御ファイルを一部削除してしまい、そのドメインも作成しなおしになります。両ドメインを作成しなおすか、以下の手順で復旧させてください。
例として、domain1(システム名MySystem)と重複してしまったdomain2(システム名MySys2)を復旧させる方法を示します。
UNIXの場合
-
WebOTXを停止してください。
otxadmin> stop-domain WebOTXAdmin
-
WebOTX関連プロセスが残っていた場合は、以下のコマンドで終了させてください。
otxadmin> stop-domain --force <ドメイン名>
-
domain2のシステム名を変更してください。
${AS_INSTALL}/domains/domain2/config/persistent-mbean/WebOTXSystem配下のj2eeType="WebOTXSystem"となっているXMLファイルの"systemNameW"を"MySystem"から"MySys2"に編集します。
<attribute name="systemNameW" type="java.lang.String" displayName="WebOTX System Name" description="WebOTX System Name" getMethod="getsystemNameW" setMethod="setsystemNameW" readable="true" writeable="true" is="false">
:
<field name="value" value="MySys2"/>
同様に、${AS_INSTALL}/domains/domain2/config配下のtpsystem.propertiesの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
さらに、domain2を作成する際に指定した、propertiesファイルの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
-
domain1,domain2の設定を復旧します。
${AS_INSTALL}/Trnsv/multitpm/starter配下のファイルを、ファイル名(システム名)と対応するドメイン名を含むパスが一致するように修正してください。ファイル自体がなければ、作成してください。
オーナ、グループは運用ユーザで、権限は644で作成してください。
ファイル名:システム名
ファイルの中身:
${AS_INSTALL}/domains/<ドメイン名>/config/tpsystem
0
30
domain1なら、以下のファイルの状態となっています。
ファイル名:MySystem
ファイルの中身:
${AS_INSTALL}/domains/domain1/config/tpsystem
0
30
-
WebOTXを起動してください。
otxadmin> start-domain WebOTXAdmin
このあと新ドメインを作成するときは、システム名などの重複に注意してください。
Windowsの場合
-
WebOTXサービスを停止してください。
-
WebOTX関連プロセスが残っていた場合は、以下のコマンドで終了させてください。
otxadmin> stop-domain --force <ドメイン名>
-
domain2のシステム名を変更してください。
${AS_INSTALL}\domains\<ドメイン名>\config\persistent-mbean\WebOTXSystem配下のj2eeType="WebOTXSystem"となっているXMLファイルの"systemNameWを"MySystem"から"MySys2"に編集します。
<attribute name="systemNameW" type="java.lang.String" displayName="WebOTX System Name" description="WebOTX System Name" getMethod="getsystemNameW" setMethod="setsystemNameW" readable="true" writeable="true" is="false">
:
<field name="value" value="MySys2"/>
同様に、${AS_INSTALL}\domains\domain2\config配下のtpsystem.propertiesの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
さらに、domain2を作成する際に指定した、propertiesファイルの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
-
domain1,domain2の設定を復旧させてください。
以下のキーを作成あるいは修正し、値をそちらの環境に合わせて各ドメインで正しい名前・パスとなるように設定してください。
HKEY_LOCAL_MACHINE\SOFTWARE\NEC\WebOTX\MULTITPM\STARTER\<システム名>
名前 |
種類 |
データ |
AUTOSTART |
DWORD |
0 |
CATALOG |
REG_SZ |
${AS_INSTALL}\domains\<ドメイン名>\config\tpsystem (展開したフルパスで指定) |
COMMENT |
REG_SZ |
(空欄) |
STOPTIME |
DWORD |
0x0000001e |
domain1なら、以下のレジストリ状態となっています。
HKEY_LOCAL_MACHINE\SOFTWARE\NEC\WebOTX\MULTITPM\STARTER\MySystem
名前 |
種類 |
データ |
AUTOSTART |
DWORD |
0 |
CATALOG |
REG_SZ |
C:\WebOTX\domains\domain1\config\tpsystem |
COMMENT |
REG_SZ |
(空欄) |
STOPTIME |
DWORD |
0x0000001e |
-
WebOTXサービスを起動してください。
このあと新ドメインを作成するときは、システム名などの重複に注意してください。
システム名不正によるエラー
システム名は8文字以内の英数字で指定する必要があります。それを超えて指定した場合、ドメイン作成中に以下のようなエラーになります。
> ${AS_INSTALL}/lib/ant/bin/ant -f setup.xml -Dfile=domain2.properties create-domain
:
:
otxadmin_set.unix:
[exec] Illegal value for attribute "systemNameW" [systemname] : [WebOTXSystem:tpsystem] [systemNameW] : The length of the specified character string should be 8 or less.
[exec] CLI137 Command set failed.
[exec] Result: 1
:
:
また、このエラーになったときは、domain.xmlに設定されるsystemNameWは既定値のMySystemとなります。すでにMySystemがdomain1などで使用されている場合、システム名が重複します。そのため、新ドメイン起動時にdomain1のシステムが起動してしまいます。また、先にdomain1のシステムが起動している場合はシスログにシステム名重複時と同じエラーが出力されます。
ドメインの再作成を行うか、以下の手順で設定を修正してください。
以下、作成するドメインをdomain2、設定するシステム名をMySystem2からMySys2にする例を示します。
UNIXの場合
-
WebOTXを停止してください。
otxadmin> stop-domain WebOTXAdmin
-
WebOTX関連プロセスが残っていた場合は、以下のコマンドで終了させてください。
otxadmin> stop-domain --force <ドメイン名>
-
domain2の設定を修正してください。
${AS_INSTALL}/domains/domain2/config/persistent-mbean/WebOTXSystem配下のj2eeType="WebOTXSystem"となっているXMLファイルの"systemNameWを"MySystem"から"MySys2"に編集します。
<attribute name="systemNameW" type="java.lang.String" displayName="WebOTX System Name" description="WebOTX System Name" getMethod="getsystemNameW" setMethod="setsystemNameW" readable="true" writeable="true" is="false">
:
<field name="value" value="MySys2"/>
同様に、${AS_INSTALL}/domains/domain2/config配下のtpsystem.propertiesの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
さらに、domain2を作成する際に指定した、propertiesファイルの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
そのうえで、${AS_INSTALL}/Trnsv/multitpm/starter配下のファイルをリネームします。
mv ${AS_INSTALL}/Trnsv/multitpm/starter/MySystem2 ${AS_INSTALL}/Trnsv/multitpm/starter/MySys2
-
WebOTXを起動してください。
otxadmin> start-domain WebOTXAdmin
このあと新ドメインを作成するときは、システム名などの重複に注意してください。
Windowsの場合
-
WebOTXサービス停止してください。
-
WebOTX関連プロセスが残っていた場合は、以下のコマンドで終了させてください。
otxadmin> stop-domain --force <ドメイン名>
-
domain2のシステム名を変更してください。
${AS_INSTALL}\domains\domain2\config\persistent-mbean\WebOTXSystem配下のj2eeType="WebOTXSystem"となっているXMLファイルの"systemNameWを"MySystem2"から"MySys2"に編集します。
<attribute name="systemNameW" type="java.lang.String" displayName="WebOTX System Name" description="WebOTX System Name" getMethod="getsystemNameW" setMethod="setsystemNameW" readable="true" writeable="true" is="false">
:
<field name="value" value="MySys2"/>
同様に、${AS_INSTALL}\domains\domain2\config配下のtpsystem.propertiesの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
さらに、domain2を作成する際に指定した、propertiesファイルの"tpsystem.systemNameW"を"MySystem"から"MySys2"に編集します。
そのうえで、レジストリエディタを開き、以下のキー配下のシステム名のキーをリネームします
HKEY_LOCAL_MACHINE\SOFTWARE\NEC\WebOTX\MULTITPM\STARTER\
MySystem2 -> MySys2
-
WebOTXサービスを起動してください。
このあと新ドメインを作成するときは、システム名などの重複に注意してください。
システムID重複による問題
システムIDを重複して作成してしまった場合、以下の場合に問題があります。
-
同じモジュールを両方のシステムに登録する
-
両システムとも名前サーバ登録時一時的に扱う設定にし、ラウンドロビン指定をしている
ラウンドロビンではシステムIDを用いて登録を行うため、情報重複が発生します。重複が発生した場合、名前サーバで先に登録されたURLが上書きされてしまい、クライアントから参照できなくなってしまいます。
統合運用管理ツールからTPシステムを選択し、[システム情報]-[システムID]を他ドメインと重複しない値に修正してください。その後、TPシステムを再起動してください。システムIDは同一マシン、名前サーバに登録するURL内で一意である必要があります。
関連情報
ドメインの運用 2.サービスの起動・停止、3.3ドメインの起動停止
トラブルシューティング(障害解析)