当前位置:   article > 正文

ora-00257

delete noprompt archivelog until time 'sysdate-1

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

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

select * from v$recovery_file_dest;

  

select * from v$flash_recovery_area_usage;


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

  1. rman target sys/pwd@orcl
  2. crosscheck archivelog all;--检查日志情况
  3. delete archivelog until time 'sysdate'; --删除所有日志
  4. 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了。

 

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

转载于:https://www.cnblogs.com/Babylon/p/9232906.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/628737
推荐阅读
相关标签
  

闽ICP备14008679号