物理的にDISKを追加した場合の処理(ASMインスタンス)

今回、DISK容量が足りなくなったので、HPのパッケージクラスタにDISK6本追加することになった。
Oracleを止めずにできそうだったが、トラブると朝まで帰れなくなるので、一旦サーバを完全にshutdownすることに。
06/07PM11:30とあるデータセンターに入る。(すでにこの時点で眠い...)
MSA500の空きスロットに6本DISKを追加。(これは営業の人間がやった。うちの会社は営業がそのままサポートする (^^;) )
DISK ARRAYユーティリティで 3個をRAID5(+1個スペア),1個,1個で3DISKを新規に追加
/dev/cciss/c0d3 599.9GB
/dev/cciss/c0d4 299.9GB
/dev/cciss/c0d5 299.9GB
fdisk で基本パーティションを1つ、それぞれ追加し,rawdeviceに割り当て追加
/dev/cciss/c0d3p1 /dev/raw/raw6
/dev/cciss/c0d4p1 /dev/raw/raw7
/dev/cciss/c0d5p1 /dev/raw/raw8
(/etc/sysconfig/rawdevicesに記述を追加。/etc/init.d/rawdevices restart でサービス再起動 =2台)
ここまでは順調に進んだ。ここまでやれば、OracleのASMインスタンスで自動認識するはずだと思ったのだが、認識されなかった!
再起動が必要なのかと思って、何度か再起動してみるがどうしても見れてない!
ALTER DISKGROUP DATA ADD DISK '/dev/raw/raw6' NAME raw6;
とかコマンドを入れても/dev/raw/raw6がないといわれダメだった...
30-40分ほど悩んでいろいろやってみて、やっと分かった。
chown oracle.oinstall /dev/raw/raw[6-8]
これをやらないと、oracle上で自動では認識されない!
...わかってみれば簡単で、oracleにアクセス権がないから認識できてないってことだった...orz
これであっさりとASM側からDISKが認識されるようになった!
CREATE DISKGROUP TMP external redundancy disk '/dev/raw/raw8' NAME DISK8;
ALTER DISKGROUP DATA ADD DISK '/dev/raw/raw6' NAME raw6;
ALTER DISKGROUP REC ADD DISK '/dev/raw/raw7' NAME raw7;
片方のインスタンスから設定してもう片方にもちゃんと反映されていることを確認。(AM2:00)
AM2:30ぐらいにタクシーにのって帰宅しました...

今回は全部shutdownしてからやったが、多分ちゃんとやればダウンタイム0でDISK増設が可能なはず。