インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Db2)SQL1768N Unable to start HADR. Reason code = "7"が出た時の対応

接続ができない

プライマリー側から接続ができない事象が発生。

$ db2 "START HADR ON DB test AS PRIMARY"
SQL1768N  Unable to start HADR. Reason code = "7".

エラーコードを見るとスタンバイ側と接続ができていない模様。

というわけでスタンバイ側にtelnetで接続しようとすると確かに失敗。きちんとHADRでスタンバイ側は起動ができているのに。

原因はローカルホストでプロセスが上がっていた

netstat -anで見るとローカルのIPで上がっていました。これじゃ外部からつなぎにこれない。

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:50000         0.0.0.0:*               LISTEN

というわけでどこが悪さをしているのかと調査したところ、hostsに書いてあるlocalhost用の定義。
ここをコメントアウトしてあげると、無事に外部IPでプロセスが稼働して

DB20000I  The START HADR ON DATABASE command completed successfully.

正常に動きました。ややこしや...