沸騰冷水

煮え滾った熱い思いを氷のように冷たく見つめなおしたい

サーバー切り替えであったトラブルとその対処

少し前に、ORACLEサーバーの切り替えを行った。
サーバーの切り替えだけならよくある話だが、それぞれ企業なのかシステムなのか、固有なトラブルに付き合わされた。
事前に準備はしていたつもりだったが、不足があり、本番切り替えの時間のない中での対応となった。
切り替えの大まかな概要はこうだ

  1. サーバーのIPは変更されても、DNSは変えない
  2. 2台のAPサーバー、1台のDBサーバー
  3. APサーバーはOracle Application Server 10g
  4. DBはOracle 9i(9.2.0.4)

他のシステム屋さんではどうやっているのかわからないが、本来であればサーバーのIPさえも変更したくなかったが、平行でLAN内に立ち上げておく期間があったため、IP、名前は別に立ち上げておき、本番切替時に名前をDNS上で変更する。という対応を行った。

foo (旧サーバー) IP: xxx.xxx.xxx.10
hage (新サーバー) IP: xxx.xxx.xxx.20

この状態でDNSでは

foo xxx.xxx.xxx.10
hage xxx.xxx.xxx.20

となるわけだが、これを切替時に

hage xxx.xxx.xxx.20
foo xxx.xxx.xxx.10

としてしまおう、ということだ。

果たして、通常こんなパターンで行うことはあるのだろうか?
みんなどのようにしているのか知りたい。


起きた問題は
Listenerサービスが起動しない
といったもの。

内容も原因も単純明解だったが、時間を食われたし、OiSCにも該当する内容が見つからなかった。
アイドルインスタンスには接続ができたものの、クライアント端末から接続しようとすると、10分ほど応答が返ってこず、その後タイムアウトしてしまう。
サーバーではどうなっているかというと、Lisnterが吐き出すログが10MB/秒ほどの勢いでエラーを吐きつづける状態になってしまった。

いろいろ切り分けをしつつ調べていくと、名前解決が原因だったようだ。
サーバー名がhageだとすると、自身のhostsに、「hage」と「hage.hoge.com」が必要だった。
事前に「hage」は登録してあったのだが、ドメイン入りの「hage.hoge.com」が入っていなかった。

あたりめーだよバーロー、と言われるかもしれない。
しかし、DBが上がるのにListenerだけ上がってこないのが納得いかない次第だった。