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

  1. 用sys用户登录

  2. ORACLE_SID=orcl

sqlplus /nolog
connect / as sysdba

  1. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62
    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

  1. 找到recovery目录, show parameter recover
    SQL> show parameter recover;

7 上述结果告诉我们,归档位置用的是默认值
/u01/app/oracle
[root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog
转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)


注意:

在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。

  1. [root@sha3 oracle]# rman target sys/db

  1. 检查一些无用的archivelog
    RMAN> crosscheck archivelog all;

  1. 删除过期的归档
    RMAN> delete expired archivelog all;

  2. 再次查询,发现使用率正常,已经降到23.03
    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

标签: oracle, select, archivelog, 归档, rman, parameter

已有 2 条评论

  1. 查看flashback是否开启:select name,flashback_on from v$database;
    查看闪回恢复区及大小是否设置:show parameter db_recovery;
    先设置闪回恢复区的大小:
    alter system set db_recovery_file_dest_size='2G';
    再设置闪回恢复区路径:
    alter system set db_recovery_file_dest='E:oracleproduct10.2.0db_recovery_file_dest';
    设置数据库回退的时间,默认1440分钟为一天时间:
    alter system set db_flashback_retention_target = 1440;

  2. ls
    lsnrctl status
    su
    pwd
    ps -ef|grep ora
    whoami
    lsnrctl status
    clear
    reboot
    ls
    pwd
    clear
    lsnrctl status
    service start oracle
    service
    service list
    service --status-all
    service --status-all oracle
    sqlplus / as sysdba
    clear
    df -h

添加新评论