ORA-00257: archiver error. Connect internal only, until freed 的解决方法

归档文件存储空间不足,导致出现该问题。

当我们将数据库的模式修改为归档模式的时候,如果没有指定归档目录,默认的归档文件就会放到Flash Recovery Area的目录,但是这个目录是有大小限制的,如果超过了这个大小,就会导致2个问题,一是不能完成归档,二是,在出现问题后,如果此时重启数据库,那么数据库就无法正常启动。

解决方法有 三个方案。(1)扩大Flash Recovery Area的容量(2)删除不用的归档日志文件(3)指定归档日志文件到其他目录

方案一:

db_recovery_file_dest_size 修改大一点

SQL> alter system set db_recovery_file_dest_size=30G;

系统已更改。

重启服务,查看信息就正常了。

方案二:

删除之前的归档文件,清理出空间

数据库在某台Linux服务器下

  • 连接oracle
    # su - oracle
  • 使用sysdba用户登录
    $ sqlplus /nolog
    SQL> conn /as sysdba

1、查看archive log 存放位置:

SQL> show parameter log_archive_dest;

2、一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence

SQL> archive log list;

3、检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到95.16

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

4、计算flash recovery area已经占用的空间

SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

5、找到recovery目录, show parameter recover

SQL> show parameter recover;

6、上述结果告诉我们,归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest目录=/u01/app/oracle/fast_recovery_area)

复制代码
$ echo $ORACLE_BASE

$ cd ORACLE_BASE/fast_recovery_area/archivelog

转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)


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


7、rman target sys/pass

8、检查一些无用的archivelog

9、删除过期的归档

RMAN> delete expired archivelog all;

delete archivelog until time 'sysdate-1' ; 删除截止到前一天的所有archivelog

10、 再次查询,发现使用率正常

方案三:

推荐使用这个办法 alter system set log_archive_dest_1='location=/db/oracle/oradata/archive_log'

相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
科技小花6 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸6 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain6 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希7 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神7 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员7 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java7 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿7 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴7 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存