はじめに
ただの調査メモなので変に検索された方ごめんなさい。
ORA-00257が起きたらどうすりゃいいのか調べた結果をまとめます。
原因:アーカイブログの容量が限界超えた
によると、一般的に収集しているアーカイブログは、フラッシュリカバリ領域に蓄積されるので
そこの許容量を超えたら、アーカイブログが保管できないのでエラーになる。と。
解決方法1:アーカイブ・ログ・ファイルの削除
「アーカイブログ領域がいっぱいなら、削除してバックアップする容量を確保してやればいいじゃない」の精神で
やってしまう。
具体的には、db_recovery_file_destのアーカイブ・ログ・ファイルを削除して、フラッシュリカバリ領域の使用領域を解放する、って話。
以下、注意があったのでメモ残す。
OSコマンドで削除するとOracle Databaseとアーカイブ・ログ・ファイルの整合性がとれなくなるので、RMANを使用してアーカイブ・ログ・ファイルを削除する必要があることに注意してください。
解決方法2:DB_RECOVERY_FILE_DEST_SIZEの拡張
「アーカイブログ領域がいっぱいなら、サイズを増やせばいいじゃない」の精神で
やってしまう。
具体的には、db_recovery_file_dest_sizeを現在の値よりも大きく設定することでORA-00257を解消する。
まとめ
どちらも「アーカイブログの容量不足」に対する対処で、これは日々インフラを面倒見ている人からすれば
「ディスク容量不足」が起きた時の対処と原理的には一緒なのでとても理解しやすかった。
強いて気になるとすれば、アーカイブ・ログ・ファイルを削除すると、直近のバックアップ分がなくなるけど、大丈夫?ってところか。
ここについての説明がなかったけど。。。まぁ別の機会で調べようと思う。