ORA-00257: archiver error. Connect internal only, until freed 处理方法记录

今天(2018-11-05),同事反馈有一个数据库输入账号密码后连接失败,提示 ORA-00257: archiver error. Connect internal only, until freed。

当时的解决思路如下记录所示:

1、使用同事提供的账号密码,重新登录数据库

[[email protected] ~]# su - oracle

[[email protected] /]$ sqlplus gd_coad/[email protected]:1521/orcl(账号密码地址已隐去,可参照格式对应你们自己服务器的账号密码即可)

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 5 15:38:19 2018

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

ERROR:
ORA-00257: archiver error. Connect internal only, until freed.

2、看到提示,认为指令是没有问题,是因为其他原因报错,于是第一反应是使用管理员进行登录

[[email protected] /]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 5 15:43:31 2018

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

ERROR:
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 28: No space left on device
Additional information: 9925
ORA-01075: you are currently logged on

3、使用数据库管理员登录报错,发现一个熟悉的提示,No space left on device,于是使用 df -h 命令查看本地磁盘空间

[[email protected] /]$ df -h
Filesystem  Size  Used  Avail  Use%  Mounted on
/dev/vda3  38G   37G   56M   100%  /
tmpfs     7.8G    520M  7.3G   7%         /dev/shm
/dev/vda1  194M   30M    155M  16%        /boot
/dev/vdb1  504G   500G   6.4G  100%      /oradata

4、发现有两个目录都达到100%的使用率,使用 du -h --max-depth=1 命令查看并逐个目录清理文件,清理之后,重新登录数据库管理员

[[email protected] /]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 5 16:16:10 2018

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

5、发现重新登录数据库管理员生效,于是重新再登录第一步报错的用户

[[email protected] /]$ sqlplus gd_coad/[email protected]:1521/orcl

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 5 16:20:51 2018

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

ERROR:
ORA-00257: archiver error. Connect internal only, until freed.

6、发现这个用户还是无法登录,不过也排除了因为磁盘空间占满导致的登录失败,于是搜索 ORA-00257 这个错误

https://blog.csdn.net/panys/article/details/3838846

https://blog.csdn.net/darren__chan/article/details/18813581

https://www.cnblogs.com/haoxiaoyu/p/4346851.html

7、按照以上几篇的情景去排查,不符合我当前遇到的问题现状,此时是抱着尝试一下的状态,去删除 /oracle/diag/tnslsnr/host-19-14-132-129/listener/alert 路径下的 logxx.log 日志(虽然是尝试的心态,但我知道这个监听日志的清理不会影响到数据库)注意:要保留最初的 log.xml 日志。

8、清理之后,尝试重新登录用户,突然发现用户登录成功

[[email protected] /]$ sqlplus gd_coad/[email protected]:1521/orcl

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 5 17:28:25 2018

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

9、虽然问题解决了,是因为这个路径下的监听日志占满引起的登录失败,但不知道为什么会如此,于是查看这个日志的作用,详情如下

一、Oracle 11g 引入 ADR 机制,监听日志的存放位置调整为 $ORACLE_BASE/diag/tnslsnr/hostname/listener/alert/log.xml,前面的 hostname 根据实际主机名而定;

二、这个日志会以 log_1.xml、log_2.xml、……、log_n.xml 来命名,并以每个 10M 的大小不断增多;

三、通过命令 lsnrctl status 可以查看监听日志的存放位置;

  [[email protected] /]$ lsnrctl status

  LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-NOV-2018 18:02:28

  Copyright (c) 1991, 2009, Oracle. All rights reserved.

  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
  STATUS of the LISTENER
  ------------------------
  Alias LISTENER
  Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
  Start Date 27-MAY-2018 18:04:53
  Uptime 161 days 0 hr. 57 min. 35 sec
  Trace Level off
  Security ON: Local OS Authentication
  SNMP OFF
  Listener Parameter File /oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
  Listener Log File /oracle/diag/tnslsnr/host-xx-xx-xxx-xxx/listener/alert/log.xml
  Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host-xx-xx-xxx-xxx)(PORT=1521)))
  Services Summary...
  Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
  Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
  The command completed successfully
  [[email protected] /]$

  

原文地址:https://www.cnblogs.com/maple-study/p/9910448.html

时间: 2024-10-29 12:55:54

ORA-00257: archiver error. Connect internal only, until freed 处理方法记录的相关文章

ORA-00257: archiver error. Connect internal only, until freed

ORA-00257: archiver error. Connect internal only, until freed 原因是日志满了,根据上述网址提供的步骤操作后就可以,即删除部分归档日志. 1.首先查看当前flash recovery area使用情况 C:\windows\system32>sqlplus sys/[email protected] as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期三 9月 4 18:08:4

【ORA-00257: archiver error. Connect internal only, until freed】

问题描述: 在新建的Oracle数据库中,开启了归档模式,由于目前根据实际的业务需求,需要将部分数据从原有数据库(源头数据库)迁移到新建的数据库(目标数据库),在迁移过程中使用了数据泵IMPDP远程导入,第二天使用PL/SQL登录目标数据库时,弹出提示框提示[ORA-00257: archiver error. Connect internal only, until freed],经过搜索发现该问题是由于归档日志写满,需要删除归档日志. 当导入的数据量过大时,比如我此次导入的一张数据表大小约为

ORA-00257: archiver error. Connect internal only, until freed【日志归档清理】

select * from V$FLASH_RECOVERY_AREA_USAGE;  查看使用情况 用plsql登陆时提示“ORA-00257: archiver error. Connect internal only, until freed”,原来是日志满了,根据上述网址提供的步骤操作后就可以,即删除部分归档日志. 1.首先查看当前flash recovery area使用情况 C:\windows\system32>sqlplus sys/[email protected] as sy

异常 ORA-00257: archiver error. Connect internal only, until freed

我oracle 是安装在linux 下. ORA-00257: archiver error. Connect internal only, until freed 得知是错误是由于归档日志(archive log)已满引起的. 以下是解决办法: 异常 ORA-00257: archiver error. Connect internal only, until freed解决办法:sqlplus / as sysdbaconn /as sysdba 1.使用sysdba用户登录查看archiv

一则奇怪的案例处理:ORA-00257: archiver error. Connect internal only, until freed

前天,业务反应数据库不能连接 在操作系统通过字符串尝试登陆数据库报:ORA-00257: archiver error. Connect internal only, until freed 解决思路: 1.操作系统清理归档 2.rman清理expired归档 遇到日志不能切换,且归档目录未满的情况,且数据库不能正常关闭的解决思路: 1.查看log group 状态,如果处于inactive状态但是报需要归档的错误 2.强制clear未归档的日志 3.删除clear的日志组,并重建 4.如果还不

处理:“ORA-00257: archiver error. Connect internal only, until freed”的错误问题

注:本文参考了< ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法  > 一:问题背景: 今天在 做外部表的时候,出现了下图的问题: 二:具体操作步骤 1: 看看archiv log所在位置 [[email protected] ~]$ rlwrap sqlplus / as sysdba; SQL*Plus: Release 11.2.0.3.0 Production on Sat Jul 14 09:

ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

oracle数据库做了实时同步功能,同步必须要打开归档日志功能 1. 用sys用户登录 sqlplus sys/password as sysdba; 2. 看看archiv log有那些日志 SQL> show parameter log_archive_dest; 3. 可以用archive log list  检查一下log sequence SQL> archive log list; 4. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,

ORA-00257: archiver error.Connect internalonly, until freed 后续之 delete force

前言--现象描述 远程plsq登录报错" ORA-00257: archiver error.Connect internalonly, until freed alert后台日志报错: Errors in file/oracle/app/oracle/diag/rdbms/pdunq/ptext/trace/ptext_arcc_19603.trc: ORA-19809: limit exceeded for recoveryfiles ORA-19804: cannot reclaim 42

ORA-00257 archiver error. 错误的处理方法

在此发现一个oracle漏动,eg: DELETE JEW_LOG WHERE C_ID IN (SELECT C_ID FROM BAS_BATCHNO WHERE C_WARID='028' AND C_BATCHNOTYPE='P') 在这个DELETE 语句中子查询是报错的因为没有C_ID这个字段.所以JEW_LOG这张表就糟殃了数据98292条记录直接被删除.幸亏一直以来养成的好习惯(First delete, after commit).不至于损失数据.赶紧rollback;结果一直