2009年6月25日木曜日

[ORA]REDOログのメンバが追加できない

■問題
REDOログのメンバーが追加できない。

■現象&調査
REDOログファイルのメンバーを追加しようとする。
"alter database add logfile member 'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\
LOG1A.LOG' to 1;"
"alter database add logfile member to 1;"
上記2通りを試す。
ora-02236(ファイル名がおかしい)で追加できない。
どうやら初歩的なミスとのこと。
OTN掲示板検索してもora-02236について1事象しかヒットしない。
それも初歩的なミスらしい。

よく見たら、アーカイブログモードになっていない。
(v$databaceのlog_mode列を確認、
または、sqlplusで"archive log list"で確認。)

データベースを停止後、マウントさせる。
noarchivelogモードからarchivelogモードへalter databaseする。
alter database openで起動する。

再度メンバー追加を試みる、同じエラー。
(OracleSqlDeveloperでもsqlplusでも同じ現象。)

OTNにマニュアルを見に行く。
発行してたコマンドの構文が間違ってた。
ora-02236エラー情報でそれを疑うべきというシグナルは出ていた。
受け取れなかった。。コマンド発行のソース元が本であれWebであれ、上手くいかなかったら疑うべき。

成功した文。
"alter database add logfile member 'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\LOG1A.LOG' to group 1;"redo log file memberの削除はarcivelog modeだと、log groupがarchiveされていないとdrop出来ない。"alter system switch logfile"を何度か発行し、archiveさせる。削除できるようになる。(drop後、OS上からファイルを削除すること。)■今回得た教訓基本コマンド叩いた結果で汎用エラー(NullPointerException,"Object not found.", ora-02236, etc...)が帰された場合、環境に問題が見つからなければ、コマンドの整合性とそのソース元を疑うと解決するかもしれない。

0 件のコメント:

コメントを投稿