Question & Answer
Question
Db2 がインストールされているコンピュータのホスト名を変更する場合、Db2 の設定を変更する必要があります。
Answer
* はじめに
- 以下の手順のうち、1, 4, 7, 8, 9, 10, 13, 15 は Db2 管理サーバー (DAS) が作成されている場合のみ必要です。
DAS はコントロール・センターのような管理 GUI のサービスをサポートしますが、必要でなければ削除可能です。 - Windows 版で拡張セキュリティが有効な場合、ホスト名を変更して Windows を再起動すると Db2 インスタンスおよびコマンドが動作しなくなります。
必ず手順 11 を実行して DB2_ADMINGROUP および DB2_USERSGROUP グローバル・レジストリー変数を更新してください。 - Db2 V10.5 では Workgroup Server Edition でもデフォルトで ESE インスタンスが作成されます。
(ESE インスタンスのみ) の項目も該当する可能性があるので注意してください。 - この FAQ は Db2 サーバーだけでなく、Db2 Connect/Db2 Client/Data Server Client にも有効です。
以下の手順でホスト名を変更します。
- DAS 管理ユーザー (UNIX/Linux) もしくは Administrator (Windows) でログインし、以下のコマンドで Db2 管理サーバー (DAS) を停止します。
db2admin stop
- インスタンス・オーナー (UNIX/Linux) もしくは Administrator (Windows) でログインし、以下のコマンドで Db2 インスタンスを停止します。
db2stop force
- ホスト名を変更します。Windows は変更を反映させるために OS の再起動が必要ですが、ここでは決して再起動しないでください。ここで再起動すると、Db2 に関する一切の作業ができなくなります。もし Windows を再起動してしまった場合、元のホスト名に戻してから Windows を再起動し、手順1から再度処理を行ってください。
- root (UNIX/Linux) もしくは Administrator (Windows) でログインし、以下のコマンドで DB2SYSTEM レジストリー変数を変更します。
db2set -g DB2SYSTEM=<新ホスト名>
[Db2] root ユーザーで db2set コマンドなどが期待通り動作しないことがある - (ESE インスタンスのみ) 以下の場所にある db2nodes.cfg を探します。
- UNIX/Linux:
<インスタンス・ホームディレクトリー>/sqllib/db2nodes.cfg - Windows (DB2 v8 and v9.1):
Program Files\IBM\SQLLIB\<インスタンス名>\db2nodes.cfg - Windows XP および 2003 (DB2 v9.5 以降):
Documents and Settings\All Users\Application Data\IBM\DB2\<DB2 コピー名>\<インスタンス名>\db2nodes.cfg
注: Application Data は隠しフォルダーです。 - Windows Vista 以降および Windows 2008:
ProgramData\IBM\DB2\<DB2 コピー名>\<インスタンス名>\db2nodes.cfg
- UNIX/Linux:
- (ESE インスタンスのみ) db2nodes.cfg ファイルを編集し、旧ホスト名を新ホスト名に変更します。
- 以下のコマンドを実行し、旧ホスト名がカタログされているかどうか確認します。
db2 list admin node directory show detail
- 旧ホスト名が使われているノードをアンカタログします。
db2 uncatalog node <ノード名>
- 新ホスト名で管理ノードを再カタログします。
db2 catalog admin tcpip node <任意のノード名> remote <新ホスト名> system <新ホスト名>
- DAS の管理ユーザー (UNIX/Linux) もしくは Administrator (Windows) でログインし、以下のコマンドで DAS 構成ファイルを更新します。
db2 update admin cfg using DB2SYSTEM <新ホスト名> db2 update admin cfg using SMTP_SERVER <新ホスト名>
- (Windows 版のみ) Windows を再起動します。
- 再起動後 Administrator でログオンし、Windows のコマンドプロンプト (CLP ではありません) から以下のコマンドを実行します。
db2extsec /a <新ホスト名>¥DB2ADMNS /u <新ホスト名>¥DB2USERS
注: db2extsec コマンドがエラーになる場合は、「運用上の考慮点」に記述された障害情報を参照し、手動でDB2_ADMINGROUP および DB2_USERSGROUP グローバル・レジストリー変数を更新してください。 - DAS の管理ユーザー (UNIX/Linux) もしくは Administrator (Windows) でログインし、以下のコマンドで Db2 管理サーバー (DAS) を開始します。
db2admin start
- インスタンス・オーナー (UNIX/Linux) もしくは Administrator (Windows) でログインし、以下のコマンドで Db2 インスタンスを開始します。
db2start
- コントロール・センターの [すべてのシステム] 以下に旧ホスト名がある場合は、右クリックして [除去] をクリックしてください。さらに、[すべてのシステム] を右クリックして [追加] をクリックし、[ディスカバー (D)] で新ホストを検索してください。
HADR 環境におけるホスト名変更手順
HADR 環境の場合、上記のホスト名変更手順 1 の前に、DEACTIVATE DATABASE コマンドでデータベースを非活動化の状態にします。 (1 次データベースを非活動化してからスタンバイ・データベースを非活動化)
HADR の起動および停止方法は、以下の文書をご参照ください。
[Db2] HADR の起動および停止方法
ホスト名変更手順を全て実施した後、データベース構成パラメーターの HADR ローカル・ホスト名 (hadr_local_host) と HADR リモート・ホスト名 (hadr_remote_host) の設定を変更します。
1 次データベースのシステムでホスト名を変更した場合は hadr_local_host に新しいホスト名を設定し、スタンバイ・データベースで hadr_remote_host を変更します。
db2 update db cfg using [構成パラメーター名] [設定名]
hadr_local_host - HADR ローカル・ホスト名構成パラメーター
hadr_remote_host - HADR リモート・ホスト名構成パラメーター
UPDATE DATABASE CONFIGURATION コマンド
運用上の考慮点
Db2 v9.1 フィックスパック 2 以降、Windows 版の拡張セキュリティはドメイングループをサポートしています。
このため DB2ADMNS および DB2USERS グループがローカルコンピュータに定義されている場合は db2extsec コマンドで DB2_ADMINGROUP および DB2_USERSGROUP 変数を変更する必要があります。
この手順を省いた場合、コンピュータ再起動後に一切の Db2 コマンドが正しく動作しません。
たとえば DB2 インスタンスは起動せず、db2diag.log に以下のようなログが記録されます。
2010-07-10-12.16.41.495000+540 E1096981H432 LEVEL: Error (OS)
PID : 2344 TID : 5822 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000
EDUID : 5822
FUNCTION: DB2 UDB, oper system services, sqloGetAccountSID, probe:30
MESSAGE : ZRC=0x83000534=-2097150668
CALLED : OS, -, LookupAccountName
OSERR : 1332 "アカウント名とセキュリティ ID の間のマッピングは実行されませんでした。"
ただし一部のフィックスパックでは、障害のため db2extsec コマンドが正しく動作しません。
この場合は、以下の APAR 記述を参照して DB2_ADMINGROUP および DB2_USERSGROUP を手動で更新してください。
JR28440 RUNNING DB2EXTSEC FOLLOWING COMPUTERNAME CHANGE RESULTS WITH ERROR: NO MAPPING BETWEEN ACCOUNT NAMES AND SECURITY IDS DONE
JR30561 RUNNING DB2EXTSEC FOLLOWING COMPUTERNAME CHANGE RESULTS WITH ERROR: NO MAPPING BETWEEN ACCOUNT NAMES AND SECURITY IDS DONE
V9.1 および V9.5 の特定のフィックスパックで db2extsec コマンドが正しく動作しない。
関連情報
Changing hostname of the DB2 server
DB2ADMNS と DB2USERS グループの使用による拡張 Windows セキュリティー
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
変更履歴
2010/08/03 表現を旧ホスト名/新ホスト名に統一しました。
2010/08/03 db2extsec の実行タイミングを調整しました。
2011/12/01 DB2 サーバーだけでなくクライアントにも適用できるため、タイトルを変更しました。
2015/02/27 HADR の考慮点を追記
Historical Number
4CDC451D6035B61749257768000FA199
Was this topic helpful?
Document Information
Modified date:
12 June 2024
UID
jpn1J1002591