RHEL3,Oracle10gR1,VMwareを使ったRAC構成
1. sqlplusなどでOracleへの接続後、応答がなくなってしまった(接続後にプロンプトが表示されない状態)
2. 固まっている系をリブートし、もう片方に切り替えさせる
3. 今後はsqlplusで次のエラーが出るようになった
ERROR: ORA-00257: アーカイブ・エラーです。解除されるまで内部接続のみにしてください。
- [Oracle] ORA-00257エラーの回避方法 | Archive Redo Blog
- Oracle 10g で ORA-00257 エラーが発生したときの対処方法 - drk7jp
- ORA-00257 - オラクル・Oracle エラー FAQ
4. リカバリ領域を使い切ったのが原因と思われるので、とりいそぎリカバリファイルの大きさをデフォルトの2Gから4Gに変更する
ALTER SYSTEM SET db_recovery_file_dest_size='4G' SCOPE=BOTH;
5. sqlplusで再度接続を試みるが、状況はかわらない
6. 仕方ないので、両系とも一度シャットダウンして再起動する
7. 再起不能に
$ crs_stat -t 名前 型 ター...ト 状態 ホスト ------------------------------------------------------------ ora....T1.inst application ONLINE OFFLINE ora....T2.inst application ONLINE OFFLINE ora.TEST.db application ONLINE OFFLINE ora....SM1.asm application ONLINE OFFLINE ora....01.lsnr application ONLINE ONLINE oracle01 ora....e01.gsd application ONLINE ONLINE oracle01 ora....e01.ons application ONLINE ONLINE oracle01 ora....e01.vip application ONLINE ONLINE oracle01 ora....SM2.asm application ONLINE OFFLINE ora....02.lsnr application ONLINE OFFLINE ora....e02.gsd application ONLINE OFFLINE ora....e02.ons application ONLINE OFFLINE ora....e02.vip application ONLINE ONLINE oracle01
まず、ASMが動作していない。したがって設定やらDBやらのデータが読めない。
そのため(?)、リスナーは起動はしているが正常に接続できない状態(ORA-12514)。
もう片系ではそもそもこの情報を見ることすら不可能な状態
$ crs_stat -t CRS-00184: CRSデーモンと通信できません
当然ASMのマウント状況も確認できない
$ ORACLE_SID=+ASM1 sqlplus sys/password as sysdba SQL> SELECT name,state FROM v$asm_diskgroup; SELECT name,state FROM v$asm_diskgroup * 行1でエラーが発生しました。: ORA-01034: ORACLE not available
とりあえずアラートログ($ORACLE_BASE/admin/+ASM/bdump/alert_+ASM1.log)を見ると
WARNING: no space on disk TEST_0000 for file 3979 xnum 6 Sat Mar 28 21:44:49 2009 Shutting down instance: further logons disabled Sat Mar 28 21:44:49 2009 Shutting down instance (immediate) Sat Mar 28 21:44:49 2009 NOTE: ASMB process exiting, either shutdown is in progress NOTE: or foreground connected to ASMB was killed.
リカバリ領域どころかディスクそのものがいっぱいだった模様。
ここで考えられる選択肢は
A. めんどうくさいので再インストール
B. ディスクを増やす
(B)を選択するなら、設定ファイルのみでディスクを増設する必要がある?
あと、さっき思い込みで作業したリカバリ領域の拡張も元に戻す必要がある