かえでBlog

色々なことを徒然と……

サーバーのIPアドレス、ホスト名変更に伴うOracleの修正

      2015/10/27

Oracle搭載のサーバーのIPアドレス、ホスト名を変更したときに少しはまったので備忘録として記載します。

こちらのHPを参考にして修正します。

1.サーバーのIPアドレスまたはホスト名を変更する前に移行準備を行います。

1.1 Oracle環境設定をexportコマンドで設定。

su oracle でoracleユーザーに変更

export ORACLE_HOME=【オラクルホームのパス】

export ORACLE_SID=【接続したいSID】

export NLS_LANG=American_Japan.UTF8

1.2 sqplusを起動し、spfileを取得、出力

sqlplus /nologで起動

(コマンド一覧にsqlplusがない場合、Oracle Home/bin/sqlplus /nolog でいけると思います)

sql画面になれば

conn / as sysdba でログイン

select value from v$system_parameter where name = 'spfile';

でパスを取得

パス先に同じファイルが存在しないことを確認し、以下を出力

create pfile='取得したパス\initORCL.ora' from spfile;

(initORCL.oraの名前はなんでもいいです。)

出力後、quitでSQLPLUSを抜ける

1.3 initORCL.oraの確認、変更

1.1.2で出力したinitORCL.oraをvi等で確認。IPアドレスまたはホスト名があれば変更したいIPアドレス、ホスト名に変更する。

存在すれば今後使用しますので保管、なければファイル削除しても構わないです。

2. Oracleリポジトリ削除

emcaコマンドでOracleリポジトリを削除します。

リポジトリ削除するには以下の条件を揃える必要性があります。

    • 環境変数でORACLE_HOMEが設定されていること
    • IPアドレスまたはホスト名が変わっていないこと
    • SYSMANユーザーのパスワードがわかっていること
    • SYSDBAユーザーのパスワードがわかっていること
私の場合、IPアドレス、ホスト名を変えてから実行していたので何度もエラーで弾かれてました・・・・・・
 
以下のコマンドを実行
emca -deconfig dbcontrol db -repos drop
(emcaでできない人はlocateで調べてください。ORACLE_HOME/bin/emca -deconfig dbcontrol db -repos dropでできると思います。)
 
「Enterprise Managerの構成が正常に完了しました」と表示されればOKです。
 
3.IPアドレス・ホスト名の修正
IPアドレス、ホスト名を修正します。
IPアドレスは/etc/sysconfig/network-scripts/ifcfg-eth0
ホスト名は/etc/hostsと/etc/sysconfig/networkにあると思います。
修正したら/etc/rc.d/init.d/network restartを忘れずに
 
4.*.oraの修正
listener.ora、tnsnames.ora、sqlnet.ora、cman.ora、names.ora、init.oraの各ファイルに変更前のIPアドレス・ホスト名が記載されている場合は新しいものに変更します。
各ファイルの格納先はORACLE_HOME配下で検索(locate使うなり、find使うなり)で探してみてください。
cman.ora、names.ora、initORCL.ora、init.oraはない場合もあります。
(設定によって名前が変わっている場合もあります。)
 
5.spfileの変更、リスナーの変更
1.2で変更したspfileをORACLEに適応します。

sqlplus /nologで起動

(コマンド一覧にsqlplusがない場合、Oracle Home/bin/sqlplus /nolog でいけると思います)

sql画面になれば

conn / as sysdba でログイン

create spfile='取得したパス/spfile.ora' from pfile='【1.2で出力したファイル名(フルパス)】';

次にリスナーの変更
show parameter local_listener;を実行

VALUEの項目に
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.***.***)(PORT=1521))
と表示されるので、変更後のIPアドレスではない場合は
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=変えたいIPアドレス)(PORT=1521))';
で変更

6.Oracleリポジトリ作成

emcaコマンドでリポジトリを再構築します。

emca -config dbcontrol db -repos create

7.実際に動作するか確認

これでIPアドレス、ホスト名変更によるORACLEの修正は完了です。

 - Oracle, SQL , , , ,