Oracle Net Serviceを起動するために必要な構成ファイル:listener.ora
Oracle Net Serviceの構成ファイルに記述する環境情報にはHOST名があります。
一般的なLinux環境では動的にHOST名を変更することはないためlistener.oraファイルは一度書けばよいことですが、EC2のHOST名は再起動すると以前の名前と変わってしまいます。
そのためlistener.oraに記述するHOST名はインスタンス起動時に動的に設定してあげる必要があります。
Oracleの自動起動シェルの変更
◆Oracleの自動起動シェル
/etc/init.d/oracle-xe
※/etc/init.dはシンボリックリンク
上記の起動シェルの中でOracle Net Serviceを起動する記述がありますがその時にlistener.oraを書き換えるコマンドを追加します。
◆listener.oraを動的に変更する方法
起動シェルでlistener.oraに記述するHOST名を変更してあげましょう。
以下に設定方法を示します。
1)listener.ora.orgファイルの準備
以下のようにHOST名に「%hostname%」など動的に変更するときの識別名を記述した種ファイル(listener.ora.org)を用意します。
****listener.ora抜粋*********************************************
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = %hostname%)(PORT = 1521))
)
)
*****************************************************************
2)インストーラで作成されている起動シェルを修正します。
起動シェルの中でコールしている以下のファイルを修正します。
/etc/sysconfig/oracle-xe
このファイルはコメントを読めばわかりますが、システムの起動時にOracleを自動起動させるときの構成を指定するファイルです。
#This is a configuration file for automatic starting of the Oracle #Database and listener at system startup.It is generated By running #'/etc/init.d/oracle-xe configure'.Please use that method to modify this #file # ORACLE_DBENABLED:'true' means to load the Database at system boot. ORACLE_DBENABLED=true # LISTENER_PORT: Database listener LISTENER_PORT=1521 # HTTP_PORT : HTTP port for Oracle Application Express HTTP_PORT=8090 # Configuration : Check whether configure has been done or not CONFIGURE_RUN=true # 以降が変更部分 ******** # 種ファイルでlistener.oraファイルを上書きする \cp $ORACLE_HOME/network/admin/listener.ora.org $ORACLE_HOME/network/admin/listener.ora # hostnameコマンドで取得した文字列で%hostname%を置換 sed -i "s/%hostname%/`hostname`/g" $ORACLE_HOME/network/admin/listener.ora # リスナー起動には上記まででOK # ついでにNet Serviceに接続するためのクライアント用構成ファイル # (TNSサービス名の定義)も修正 \cp $ORACLE_HOME/network/admin/tnsnames.ora.org $ORACLE_HOME/network/admin/tnsnames.ora sed -i "s/%hostname%/`hostname`/g" $ORACLE_HOME/network/admin/tnsnames.ora #************************ |
参考情報
◆Oracleの起動停止
/etc/rc.d/init.d/oracle-xe start
/etc/rc.d/init.d/oracle-xe stop
0 件のコメント:
コメントを投稿