ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Oracle 解决ORA-00257 Archiver error 报错

2026/9/15 23:22:48 拓冰建站 浏览量
Oracle 解决ORA-00257 Archiver error 报错

Oracle 解决ORA-00257 Archiver error 报错

日期: 2023-12-11
作者: Tingy, H

文章目录

  • Oracle 解决ORA-00257 Archiver error 报错
    • 一、问题描述
    • 二、原因分析
    • 三、解决步骤
      • 1. 登录 Linux 用户
      • 2. 切换到 Oracle 用户
      • 3. 以 sysdba 登录数据库
      • 4. 清理 Oracle Home 目录所在磁盘空间
        • 4.1 重新切回 root 用户
        • 4.2 查看磁盘挂载盘符空间
        • 4.3 删除 Oracle 的 trace 文件
      • 5. 手动删除数据库归档日志
        • 5.1 切换到 Oracle 用户
        • 5.2 以 sysdba 登录数据库并修改检查点
        • 5.3 以 Oracle 用户执行删除归档命令
      • 6. 再次登录 Oracle 数据库

一、问题描述

订单投资交易环境进行 impdb 数据泵恢复数据,执行到一半,报错终止。
系统弹出提示:

 ORA-00257: Archiver error. Connect AS SYSDBA only until resolved.

Oralce 安装在 Linux 机器上。

二、原因分析

归档策略保留时间较长,或归档频率过高,导致数据库挂载盘符空间不足。
临时处理办法:

手动删除归档文件。

三、解决步骤

1. 登录 Linux 用户

>>> ssh root@127.0.0.1
password:
[root@U2DBBASE]#

2. 切换到 Oracle 用户

此处的 Oracle 用户为:oracle

[root@U2DBBASE]# su - oralce
Last login: Sun Dec 10 21:55:08 CST 2023
[oralce@U2DBBASE]$

3. 以 sysdba 登录数据库

[oralce@U2DBBASE]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0 - Production on Mon Dec 11 14:52:03 2023Version 19.13.0.0.0Copyright (c) 1982, 2021, Oracle. All rights reserved.ERROR:ORA-09925: Unable to create audit trail fileLinux-x86_64 Error: 28: No space left on deviceAdditional information: 9925ORA_01075: you are currently logged onEnter user-name:
  • 登录失败,没有储存空间,无法以 sysdba 方式登录。
  • 如果登录成功,跳到步骤 5. 手动删除数据库归档日志

4. 清理 Oracle Home 目录所在磁盘空间

4.1 重新切回 root 用户
>>> ssh root@127.0.0.1password:
[root@U2DBBASE]#
4.2 查看磁盘挂载盘符空间
[root@U2DBBASE]# du -sh *
  • 查看 Use% 比例比较高的,进入;
  • 本次发现为 Oralce Home 目录已满,删除 trace 文件;
4.3 删除 Oracle 的 trace 文件
[root@U2DBBASE oralce]# cd $ORACLE_HOME
[root@U2DBBASE oralce]# du -sh *- admin - 337MB- audit - 500K- cfgtoollogs - 149MB- checkpoints - 0- diag - 8.7G- product - 11G
[root@U2DBBASE oracle]# 
[root@U2DBBASE oracle]# cd diag/rdbms
[root@U2DBBASE rdbms]#
[root@U2DBBASE rdbms]# ll-rw-r----- i_1.mifdrw-r----- dbbase1
[root@U2DBBASE rdbms]# dbbase1
[root@U2DBBASE dbbase1]#
[root@U2DBBASE dbbase1]# cd trace
[root@U2DBBASE trace]# 
[root@U2DBBASE trace]# rm *.trc

5. 手动删除数据库归档日志

5.1 切换到 Oracle 用户

此处的 Oracle 用户为:oracle

[root@U2DBBASE]# su - oralce
Last login: Sun Dec 10 21:55:08 CST 2023
5.2 以 sysdba 登录数据库并修改检查点
[oralce@U2DBBASE]$ sqlplus / as sysdbaConnected to:SQL*Plus: Release 19.0.0.0 - Production on Mon Dec 11 14:52:03 2023Version 19.13.0.0.0SQL> alter system checkpoint;System altered.SQL>
SQL> exit;
5.3 以 Oracle 用户执行删除归档命令
[root@U2DBBASE oralce]# rman target
RMAN> delete noprompt archivelog all completed before 'sysdate-1';archived log file name=+ORACLEDBHDG/ORACLEDB>ARCHIVER/2023_12_09/thread_2_seq_1_1695.340.115Deleted 130 objectsRMAN> _
  • 删除归档日志完成。

6. 再次登录 Oracle 数据库

C:\Users\admin> sqlplus username/password@127.0.0.1/orclConnected to:SQL*Plus: Release 19.0.0.0 - Production on Mon Dec 11 14:52:03 2023Version 19.13.0.0.0SQL> 
SQL> exit;
C:\Users\admin>

数据库登录成功。