OracleのRMANでも接続できず焦ったけど、究極の急場凌ぎで回避できました!!


今日も真冬日の札幌からお届けします。
どうも、かずや、でっせ☆

本日は、仕事ネタから。

Oracleにアクセスできない!

OracleにSQL*Plusでアクセスしたところ、
アーカイブログエラーとなり、ログインできませんでした。

 sqlplus user/password@sid
 ORA-00257: アーカイブ・エラーです。解除されるまで内部接続のみにしてください。

そうです、アーカイブのログを書き出せないので、
ログインは、あきまへんえ!というメッセージです。

アーカイブに失敗しているようです。。。

Oracleログを調べたところ、昨年末から正常にアーカイブ出来なくなった様子。
さいわい、開発で使っているDBなので、大事には至らず。
RMANで接続して、古いアーカイブログを削除すれば解決するのは既知の話で。
ま、この手のコトは、定期的に自動で処理するようにしておけばよい話なのですが。
面倒だったので放置してました(爆)

RMANでも接続できない!?

さて、RMANで接続して、古いアーカイブログを削除しましょうかね、と
RMANで接続を試みるも、ほぼノーリアクション。。。

 rman target / nocatalog

この「ほぼ」というのは、接続した直後には、
Copyright的な、よく目にする最初の2行は表示されるのですよ。
でも、待てど暮らせど、その先に進まない。

う〜ん、困った。

Ctrl+Cで処理を中断して、再び試みるも、リアクションは変わりません。
こういうときって、そんなもんなんですよね(苦笑)

さて、困りました。。
Oracleが使えないと、開発作業に差し支えます。
う〜む、困った。

とりあえず、SYSDBA権限でアクセス

平静を装いつつ、恐る恐る、SQL*PlusでSYSユーザ(SYSDBA権限)で
ログインしてみました。成功!(少しホッとしました)

 sqlplus sys/password@sid as sysdba

これで、何らかのことは出来るのではないかと。
「何らか」は、全然思い浮かばないのですが。。。

アーカイブログモードを変更してみるか。。。

アーカイブログモード(ARCHIVELOGモード)をノーアーカイブログモード(NOARCHIVELOGモード)に変更できないかと企みました。
モード変更して、再起動すれば、うまくいくのではないか、
という回りくどい作戦です。

ログモードを変更するには、SHUTDOWNする必要があります。
SQL*PlusでShutdownを実行しました。が。。。

 SQL> shutdown immediate;

これまた、RMANと同様にノーリアクションです。とほほ。
Shutdownできなければ、さっきの回りくどい作戦も遂行できません。

さてはて、困りました。

究極の急場凌ぎ!領域サイズを変更してみたら

開発で使っているサーバーのディスク容量の空きは、まだまだ余裕がありました。
そこで思いついたのが、フラッシュリカバリ領域を増やしてみよう!大作戦です。
ま、なんという急場凌ぎの大作戦なのでしょう(笑)

まずは、いまのフラッシュリカバリ領域を、どのくらいの設定になっているか確認しました。

 SQL> show parameter DB_RECOVERY_SIZE;

すると、設定は’8G’。(お!すでに、結構なサイズ、とってるやんけ!!)

この8Gを10Gに変更してみました。

 SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=’10G’;

すると、すんなり成功!!
Oracleログも確認して、変更が完了したことを確認!

念のため、少し時間をおいてから、RMANで接続すると、こちらも無事に接続!

 rman target / nocatalog

う、う、うれしい!!

これで、いつものアーカイブログを削除するコマンドを実行して、
Oracleにアクセスできるようになりましたとさ!

めでたし、めでたし。

<参考サイト>
[Oracle] フラッシュ・リカバリ領域が一杯になりOracleが応答しなくなる – Archive Redo Blog
スレッド: ORA-19809で困っております。 – Oracle Technology Network (OTN) Japan
ORA-00257: アーカイブ・エラーです。解除されるまで内部接続のみにしてください。 – SHIFT the Oracle
オラクル・インスタンスを手動で起動、停止する – SHIFT the Oracle
アーカイブログモード運用への移行 – SHIFT the Oracle
データベースの停止(SQL*Plus版) – @IT




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください