玩命加载中 . . .

Oracle案例--错误码之ORA-00257


ORA-00257 归档程序错误。在释放之前仅限于内部连接案例

现象

========== Running state of HUAWEI infoX IAG system 20100407 09:09:05 ==========
The path of the installation : /home/mmsg/mms_home. 
The monitor process  is running well-balanced . pid:7753

=============================== List of Local IP ===============================
10.164.75.102       127.0.0.1           192.168.100.106     
[2010-04-07 09:09:05.527] DB Error :ORA-00257: 归档程序错误。在释放之前仅限于内部连接
 dbname:"mmsgdb_222", dbuser:"mmsg"

尝试登录数据库

164 mmsg01 [mmsg] :/home/mmsg>sqlplus mmsg/mmsg@mmsgdb_222

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Apr 7 09:09:54 2010

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

ERROR:
ORA-00257: 归档程序错误。在释放之前仅限于内部连接


Enter user-name: mmsg
Enter password: 
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0


Enter user-name:

原因

00257, 00000, "archiver error. Connect internal only, until freed."
// *Cause:  The archiver process received an error while trying to archive
//       a redo log.  If the problem is not resolved soon, the database
//       will stop executing transactions. The most likely cause of this
//       message is the destination device is out of space to store the
//       redo log file.
// *Action:  Check archiver trace file for a detailed description
//        of the problem. Also verify that the
//       device specified in the initialization parameter
//       ARCHIVE_LOG_DEST is set up properly for archiving.

查看数据库日志运行模式,发现是在归档模式下,上述错误码信息显示是out of space to store the redo log file.存储空间不足。

查看文件系统

oracle@mmsg:~> df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             30969600   3364888  26031548  12% /
udev                   8218880       176   8218704   1% /dev
/dev/sda5             50150072  29613880  17988688  63% /home
/dev/sda6             41286796  39191128         0 100% /opt
opt空间已满!

解决方法

1、停止数据录和监听,清除oracle目录下相关文件,包括告警、trace日志文件,以及在归档模式下产生的归档日志文件(dbs目录下的.dbf文件);

2、查看文件系统空间信息

oracle@mmsg:/opt/oraInventory> df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             30969600   3364888  26031548  12% /
udev                   8218880       176   8218704   1% /dev
/dev/sda5             50150072  29615732  17986836  63% /home
/dev/sda6             41286796  35579632   3609880  91% /opt

3、修改数据库日志运行模式,由原来的归档模式修改为非归档模式,并启动数据库。

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 1603411968 bytes
Fixed Size                  2160112 bytes
Variable Size             620759568 bytes
Database Buffers          973078528 bytes
Redo Buffers                7413760 bytes
数据库装载完毕。

SQL> alter database noarchivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> archive log list
数据库日志模式             非存档模式
自动存档             禁用
存档终点            /opt/oracle/product/11g/dbs/arch
最早的联机日志序列     626
当前日志序列           628
SQL>

文章作者: Gavin Wang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Gavin Wang !
  目录