GNU/Linux >> Linux の 問題 >  >> Linux

ORA-16038、ORA-19504、ORA-00312 によるアーカイブの失敗

問題 1

サーバーに OS レベルでパッチを適用した後、次のデータベース エラー メッセージが alert.log ファイルに報告されます:

Unable to create archive log file '/path/name.arc'
ARC3: Error 19504 Creating archive log file to '/path/name.arc'
ARCH: Archival stopped, error occured. Will continue retrying.
ORACLE instance "name" - Archival error
ORA-16038: log 3 sequence #2639 cannot be archived
ORA-19504: failed to create file "name"
ORA-00312: online log 3 thread 1: '/path/redo03.log'
ORA-16014: log 3 sequence #2639 not archived, no available destinations.

解決策

その理由は、LinuxShield 用の Antivirus McFee がインストールされ、ローカル ファイルシステムへのアクセス/書き込みをブロックしているためです。ディスク アクセスの問題がある場合、これらのエラーが発生することが予想されます。データベースの実行中に Oracle ファイルがスキャンされないように、ウイルス対策設定を変更します。

問題 2

データベースのアラート ログで以下のエラーが確認されました:

Mon Aug 22 16:59:05 2016
Archiver process freed from errors. No longer stopped
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance openprod - Archival Error
ORA-16014: log 3 sequence# 3 not archived, no available destinations
ORA-00312: online log 3 thread 1: '/oracle/openprod/origlogA/openprod/redo03a.log'
ORA-00312: online log 3 thread 1: '/oracle/openprod/mirrlogA/openprod/redo03b.log'
Mon Aug 22 17:04:05 2016
Archiver process freed from errors. No longer stopped
Mon Aug 22 17:04:05 2016
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance openprod - Archival Error
ORA-16038: log 3 sequence# 3 cannot be archived
ORA-19504: failed to create file ""
ORA-00312: online log 3 thread 1: '/oracle/openprod/origlogA/openprod/redo03a.log'
ORA-00312: online log 3 thread 1: '/oracle/openprod/mirrlogA/openprod/redo03b.log'

原因 :アーカイブ先に適切な権限がありませんでした。
解決策 :エラーを確認したところ、アーカイブ先の権限の問題でした。
ORA-19504:ファイル「」の作成に失敗しました

解決策

アーカイブ dest のパーミッションを変更して、問題を解決しました。

# chown -R oracle:oinstall /oracle/openprod/oraarch/archive
# chmod -R 775 /oracle/openprod/oraarch/archive

次のように権限とアラート ログの内容を変更した後:

Archiver process freed from errors. No longer stopped
Mon Aug 22 17:09:05 2016
Archived Log entry 1 added for thread 1 sequence 3 ID 0xc45f408a dest 1:
krse_arc_driver_core: Successful archiving of previously failed ORL
Mon Aug 22 17:09:06 2016
Thread 1 advanced to log sequence 6 (LGWR switch)
 Current log# 3 seq# 6 mem# 0: /oracle/openprod/origlogA/openprod/redo03a.log
 Current log# 3 seq# 6 mem# 1: /oracle/openprod/mirrlogA/openprod/redo03b.log
Archived Log entry 2 added for thread 1 sequence 4 ID 0xc45f408a dest 1:
Mon Aug 22 17:09:08 2016
Archived Log entry 3 added for thread 1 sequence 5 ID 0xc45f408a dest 1:
Thread 1 advanced to log sequence 7 (LGWR switch)
 Current log# 1 seq# 7 mem# 0: /oracle/openprod/origlogA/openprod/redo01a.log
 Current log# 1 seq# 7 mem# 1: /oracle/openprod/mirrlogA/openprod/redo01b.log
Archived Log entry 4 added for thread 1 sequence 6 ID 0xc45f408a dest 1:
Thread 1 cannot allocate new log, sequence 8


Linux
  1. rsyslogを使用してリモートログサーバーを構成するにはどうすればよいですか?

  2. CSFを使用してシステムログファイルを検索する

  3. Windowsイベントビューアを使用してSQLServerバックアップの失敗をトラブルシューティングする

  1. 方法:Journalctlを使用してシステムログを管理する

  2. Linux での複数スレッドによるシグナル処理

  3. タスクセットで実行中のプロセス アフィニティを設定できない

  1. Linuxlogrotateコマンドを使用してログをローテーションおよびアーカイブします

  2. Linux –タスクセットとの実行中のプロセスアフィニティの設定が失敗しますか?

  3. Linux でスレッドを作成する方法 (C サンプル プログラムを使用)