ora-00257 ORA-00257归档日志写满的解决方法

ORA-00257归档日志写满的解决方法

这个错误是归档满了,首先查看一下归档使用情况。

select * from v$recovery_file_dest;

  

select * from v$flash_recovery_area_usage;


加起来99.7%了
这时只能删除日志了

rman target sys/pwd@orcl
crosscheck archivelog all;--检查日志情况
delete archivelog until time 'sysdate'; --删除所有日志
delete expired archivelog all;--删除过期日志

然后远程机器死机了重启报错

查看追踪文件3469
/home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/里的orcl_ora_3649.trc

ok,这里我们就开始删除日志吧。
这里是用rman连接,尴尬的事又出现了。

ORA-12543: TNS:destination host unreachable
重启虚拟机地址变了,改一下ok了。

sqlplus / as sysdba  
shutdown abort     ----关闭进程  
startup mount       ---- 装载数据库  
select * from v$recovery_file_dest; ---查询归档日志  
db_recovery_file_dest_size=10737418240; --设置归档日志空间为10G  
Exit ---到这里空间大小已经设置完成  
或者
mantarget /   -----进入rman工具窗口  
RMAN>crosscheck archivelog all;  --运行这个命令可以把无效的expired的archivelog标出来。  
RMAN>delete noprompt archivelog until time "sysdate -3";  -- -即删除3天前的归档日志  
delete archivelog until time 'sysdate'; --删除所有日志
delete expired archivelog all;--删除过期日志

 删除完毕后启动数据库成功。
之后按转载博主的方法设置自动清理归档日志:
https://www.jb51.net/article/48129.htm
省事点直接备份完清理之前所有日志

delete noprompt archivelog until time 'sysdate -1';
$echo $ORACLE_BASE
select * from V$database;--oracle的sid
$echo $ORACLE_HOME

将配置参数放到脚本中,清除之前备份就放到0级备份脚本中。
end;

扫描二维码关注公众号,回复: 1771659 查看本文章

猜你喜欢

转载自www.cnblogs.com/Babylon/p/9232906.html
今日推荐