月間18,000PV達成! 収益は毎日発生中! 記事は毎日更新中! 東京でエンジニア武者修行中! ギランバレー症候群に関する情報を集めています

【Batch】バッチ実行時にアーカイブ・エラー!解決方法!

             
  • 2018.11.01
  • IT
【Batch】バッチ実行時にアーカイブ・エラー!解決方法!
Advertisement

 

バッチ実行時に「ORA-00257:アーカイブ・エラーです。解除されるまで内部接続のみにしてください。」が表示される。。

僕が遭遇したこのエラーですが、解決方法は簡単でしたのでご紹介しておきます。

 

 

アーカイブ・エラーとは

アーカイブ・エラーとは

まずは、バッチを実行した際に表示される「アーカイブ・エラー」というものが何なのかを理解しておきましょう。

僕の場合は、バッチ自体には問題がなく、2回に1回エラーが出るという訳の分からない状況でした。ちなみに、バッチを実行した際にSQL*Plusを実行し、DBにアクセスしています。

 

さて、このエラーの内容ですが、これは

アーカイブファイル出力するのはいいけど、容量いっぱいでファイル作れないよ。勘弁して。

と言われているとお考えください。

 

僕はDドライブ直下にアーカイブファイルを出力していましたが、この要領を見るとパンパンでした。。

ディスクの容量は、任意のドライブを選択し、「右クリック」⇒「プロパティ」の全般にある容量から確認できます。

 

 

アーカイブ・エラー解決方法

先ほど見た通り、容量が足りていないことが問題で発生するエラーですので、解決方法は以下のようになります。

・容量を拡張する

・不要なファイルなどを削除する

 

手っ取り早いのは、「不要なファイルなどを削除する」です。

基本的にアーカイブファイルを出力する場合は、それを定期的に削除するバッチも作成するべきです。

ですので、僕は1か月以前のアーカイブファイルを削除するバッチを作成し解決しました。

 

 

まとめ

バッチに問題があるエラーなら分かりやすいのですが、環境依存のエラーは分かりにくいですね。

特に「解除されるまで内部接続のみにしてください」というエラー内容は意味不明です。。

解決方法が分かれば簡単ですので、落ち着いて対応しましょう!

Travelerを知らないの?