ORA-00257: archiver error. Connect internal only, until freed 错误解决

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。 SecureCRT登录服务器,切换用户oracle,连接oracle [root@userbeta~]# su - orac...
出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。
SecureCRT登录服务器,切换用户oracle,连接oracle
[root@userbeta~]# su - oracle
[oracle@userbeta~]$ sqlplus /nolog
SQL> connect /as sysdba

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

计算flash recovery area已经占用的空间
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

修改FLASH_RECOVERY_AREA的空间修改为6GB,修改前确认磁盘有足够空间
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=8g;

现在来清理一下archivelog归档日志,生产环境建议备份
查询日志目录位置
show parameter recover;
删除归档日志,USERDB是数据库实例名
cd /u01/app/oracle/flash_recovery_area/USERDB/archivelog
使用root帐户删除该目录下的文件或者备份其它地方

使用rman 操作,内容太多,只做部分截图
[oracle@userbeta archivelog]$ rman
RMAN> connect target sys/sys_passwd
crosscheck backup; 
delete obsolete; 
delete expired backup; 
crosscheck archivelog all; 
delete expired archivelog all; 
//此步会有提示,输入 YES 回车
host;   //退出rman

确认是否操作成功
#  sqlplus /nolog
SQL>  connect /as sysdba
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
数据库
ORA-06553: PLS-801: internal error 的解决办法
搜索了一下,原来是把32位的数据库恢复到64位的数据库了。找到解决方案如下
163 0
|
Oracle 关系型数据库 数据库
|
网络协议 Oracle 关系型数据库