Rainbow Planet (GT×IT×SP×SA)

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

01_IT技術 (Technology) 02_OracleDB

ORA-00257エラーの対応(“archiver error. Connect Internal only. until freed”)

投稿日:2017年8月19日 更新日:

ORA-00257エラーの対応法についてです。

(“archiver error. Connect Internal only, until freed”)

(0) 目次

(1) 原因
(2) 対策
(3) 結果チェック
(4) 用語の解説

(1) 原因

アーカイブログ出力先のフラッシュリカバリ領域容量が満タンになり、新規のアーカイブログを書き出せない場合にエラーとなり接続出来なくなります。

高速リカバリ領域が満タンかどうかは、以下のSQLで確認します。

select
name,
round(space_limit/1024/1024/1024,2)||'GB' space_limit,
round(space_used/1024/1024/1024,2)||'GB' space_used,
round((space_limit - space_used)/1024/1024/1024,2)||'GB' space_available,
NUMBER_OF_FILES,
round(space_used/space_limit ,3)*100 used_percent
from
v$recovery_file_dest;

 満タンの場合、下記の様に表示されます。
(USED_PERCENTが99.2%になっています)

 >目次にもどる

(2) 対策

以下のコマンドでフラッシュリカバリ領域にある不要なArchiveログを削除します。削除する時は、OSのファイルを削除しただけでは、領域が解放されないため、RMAN(リカバリマネージャー)から実施する必要があります。
下記のようなコマンドでRMANを起動します(環境変数は各自の設定により異なります)。

sudo su oracle
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
./rman

RMANが起動したら以下のコマンドでログを削除します。

Recovery Manager: Release 11.2.0.1.0 - Production on Sun Aug 20 23:29:14 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
RMAN> CONNECT TARGET
RMAN> DELETE ARCHIVELOG UNTIL TIME 'sysdate';


本当に削除してよいか、確認が入るので良ければ”YES”と入力。

入力後、削除が始まる。

以下のように”Deleted NN objects”と出たら、削除が完了です。

目次にもどる

(3) 結果チェック

再度、高速リカバリ領域の容量確認のSQLを流し、領域の解放を確認します。
(USED_PERCENTが14%に減りました)

また、SQL Developerからスキーマへの接続も確認します。

目次にもどる 

(4) 用語の解説

◆フラッシュリカバリ領域について
フラッシュリカバリ領域とは「バックアップの自動管理」や「素早いリカバリ」のために、リカバリに必要なファイルを格納した領域で、実態はディスク内のディレクトリです。本領域には「制御ファイル」「REDOログのコピー」「アーカイブREDOログ」などリカバリに必要なファイル一式が格納され、領域に存在するファイルはRMANによって自動で容量の管理がされるので、DBA(データベース管理者)の負担を削減する事ができます(※10gより前は各ファイルが任意のディレクトリに保存されており、相互の考慮がなかった)

◆フラッシュリカバリ領域の監視
指定した上限サイズ内でログの管理を行いつつ不要となったファイルの削除も行うものの、DBAは領域が十分に大きいかどうかの十分な監視を行う必要あり(利用状況の監視)。監視には主に「V$RECOVERY_FILE_DEST」ビューや「V$RECOVERY_AREA_USAGE」を用います。

(1)V$RECOVERY_FILE_DEST
容量の制限量、利用量、ファイル数などの情報を参照できる。

(2)V$RECOVERY_AREA_USAGE
ファイル種別毎(イメージコピー、REDOログ、制御ファイルなど)の利用量やファイル数を確認できる。

◆アーカイブREDOログについて
アーカイブREDOログとは、REDOログが上書きされる前に取得したREDOログのコピーファイルの事です。Oracleデータベースにおいては、インスタンスの中の「ARCn」プロセスが、アーカイブREDOログの生成を行います(db_recovery_file_dest)。

目次にもどる 

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology), 02_OracleDB

執筆者:


comment

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

関連記事

Windows Server2012で仮想サーバーのメモリ割当ての変更をする手順

(0)目次&概説 (1) 前提条件 (2) メモリ割当ての変更手順  (2-1) 事前作業(ログ取得)  (2-2) 仮想サーバーの停止  (2-3) リソース変更  (2-4) 仮想サーバーの起動 …

OracleDBのメディア障害やインスタンス障害からの復旧について

(0)目次&概説 (1) 障害復旧について  (1-1) インスタンス障害  (1-2) メディア障害   (1-2-1) 制御ファイル   (1-2-2) REDOログファイル   (1-2-3) …

Linuxサーバ(CentOS6)にOracleDB11gをインストールする(その4)

掲題の通り、LinuxにOracleDB(11g)をインストールする方法について書きます。 「(その3)」の続編記事です。 http://rainbow-engine.com/2017/05/05/l …

VBAで処理と処理の間に一定時間を空けて実行する方法

今回はVBAで処理と処理の間に一定時間を空けて実行する方法について、備忘も兼ねて記載します。 (0)目次&概説 (1) Application.wait (2) サンプルプログラムソース (3) サン …

Linuxサーバ(CentOS6)にEclipse(OXYGEN)をインストールする

0.目次 (1) JDKの概要  (1-1) JDKの種類  (1-2) JDKのバージョン(2018年2月時点) (2) JDKのインストール  (2-1) wget コマンドでJDK の rpm …

Top