Oracle Database Express Edition 18c インストール後にホストOSのIPアドレスを変更する

検証環境などにOracle Database Express Edition 18cをインストールした後で、ホストOSのIPアドレスを変更する場合の、Oracle側の設定変更手順をまとめる。

なお、ここではStandard Edition以上のエディションや、Real Application Clusters環境は対象にしていない。また、本番環境に対する責任は負えないので悪しからず。

また、ホストOSはWindowsを想定している。

基本的な作業の流れは以下の通り。

  1. リスナーとデータベースインスタンスの停止
  2. ホストOSのIPアドレスの変更
  3. listener.ora の修正
  4. tnsnames.ora の修正
  5. リスナーとデータベースインスタンスの再起動

ちなみに、リスナーとデータベースインスタンスを停止する前にIPアドレスを変更してしまっても大きな問題は無く、設定ファイルの変更後にそれぞれ再起動させれば良い。

リスナーとデータベースインスタンスの停止

コマンドプロンプトから以下のコマンドで停止する。

C:\Users\Administrator>lsnrctl stop
C:\Users\Administrator>sqlplus / as sysdba
:
SQL> shu immediate

ホストOSのIPアドレスの変更

割愛。適宜変更作業を実施。

listener.ora の修正

Oracle Database Express Edition 18cをデフォルトの構成でインストールした場合は、以下の場所に listener.ora ファイルが存在する。

C:\app\ユーザ名\product\18.0.0\dbhomeXE\network\admin

単なるテキストファイルなので、テキストエディタで開くと以下のような記述が存在する。

LISTENER =
   (DESCRIPTION_LIST =
     (DESCRIPTION =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.178)(PORT = 1521))
       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
     )
   )

HOST = 以降を適切なIPアドレス、またはホスト名に変更する。

tnsnames.ora の修正

listener.oraと同じフォルダにtnsnames.oraも存在する。テキストエディタで開くと以下のような記述がある。

XE =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.178)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = XE)
     )
   )
 LISTENER_XE =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.178)(PORT = 1521))

こちらも、 HOST = 以降を適切なIPアドレス、またはホスト名に変更 する。

リスナーとデータベースインスタンスの再起動

C:\Users\Administrator>lsnrctl start 
C:\Users\Administrator>sqlplus / as sysdba
:
SQL> startup

これで、新しいIPアドレスでインスタンスに接続可能になるはずである。

初期化パラメータの変更は必要ないのか?と思われるかもしれない。

関係ありそうなパラメータは local_listenerだが、これはデフォルトで LISTENER_XE が設定されており、tnsnames.ora のエントリを参照しているだけのようである。従って、ここでは リスナーの設定ファイルであるlistener.ora と、クライアント設定のtnsnames.ora の変更だけで済ませている。

一応、spfileをpfileに書き出して確認してみたが、IPアドレスやホスト名を初期化パラメータで直接記載しているものは見当たらなかった。

コメント

タイトルとURLをコピーしました