背景

新上的应用最近在做压力测试,测试了一天就发现登录报错了,提示:

ORA-00257: Archiver error. Connect AS SYSDBA only until resolved

百度后,确定原因为归档日志空间不足,也查询了具体的归档日志扩容方法及清理方法,记录一下,帮助自己也帮助其他其他朋友。

归档日志使用情况查询

使用sys用户登录数据库使用如下语句可以查询归档日志的使用情况及使用率。

[oracle@ESBDatabase ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 18 14:29:25 2020
Copyright (c) 1982, 2014, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options# 查询归档文件位置、大小信息
SQL> select * from v$recovery_file_dest;
NAME                                         SPACE_LIMIT  SPACE_USED   SPACE_RECLAIMABLE    NUMBER_OF_FILES    CON_ID
-------------------------------------     ---------------     ----------------     -----------------------------     -------------------------     ----------
/u01/app/fast_recovery_area     2.1475E+10     8498622464             0                                         381                               0# 查询归档日志文件使用情况
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE              PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
------------------------------ ------------------ ------------------------- --------------- ----------
CONTROL FILE                               0              0       0      0
REDO LOG                                       0              0       0      0
ARCHIVED LOG                          39.88           0     384      0
BACKUP PIECE                                0             0       0      0
IMAGE COPY                                  0             0       0      0
FLASHBACK LOG                           0             0       0      0
FOREIGN ARCHIVED LOG                0             0       0      0
AUXILIARY DATAFILE COPY             0             0       0      08 rows selected.

归档日志扩容及清理

归档日志扩容

通过sys用户登录后使用如下语句进行容量设置:

SQL> alter system set db_recovery_file_dest_size=20G;

归档日志清理

使用RMAN方式登录,并执行如下语句进行日志清理:

# 检查所有归档日志文件
RMAN> crosscheck archivelog all;
# 删除失效的归档日志文件
RMAN> delete noprompt expired archivelog all;
# 删除七天前的归档日志文件
RMAN> delete noprompt archivelog all completed befored 'sysdate-7';

归档日志定时清理

  1. 新建归档日志脚本
[oracle@localhost ~]$ vim /home/oracle/del_arch.sh
#!/bin/bash
echo "----------------------------------------`date`---------------------------------------"
source ~/.bash_profile
rman target / <<EOF
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before 'sysdate-7';
EOF
echo -e "\n"
echo "------------------------------------ FINISHED ------------------------------------"
  1. 将清理脚本添加到定时任务中
[oracle@localhost ~]$ crontab -e
* 1 * * *  sh /home/oracle/del_arc.sh

Oracle归档日志使用情况及自动清理相关推荐

  1. 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志

    一 如何解决"归档日志已满问题" 问题描述:所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文 ...

  2. Oracle归档日志比联机重做日志小很多的情况总结

    Oracle归档日志比联机重做日志小很多的情况总结 ORACLE归档日志比联机重做日志小很多的情况总结 2017-09-06 15:05 by 潇湘隐者,  250  阅读,  0  评论,  收藏 ...

  3. Windows环境定期清理Oracle归档日志

    一.Windows环境下的配置 原理:通过系统的任务计划执行Oracle归档日志. 1.系统环境变量中新建变量示例:ORACLE_SID:ORCL 变量名称:ORACLE_SID 值:ORCL 2.创 ...

  4. oracle归档日志参数reopen=30,Oracle 归档日志 -- CSDN 比较全的说明文档

    -- Oracle归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志. 一. ...

  5. 玩转oracle 11g(25):手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间

    12.手工删除oracle归档日志后操作步骤 1. 开始->运行->cmd 2.cmd-> set oracle_sid=docare 3.cmd-> rman target ...

  6. Oracle归档日志与非归档日志的切换及路径设置

    Oracle归档日志与非归档日志的切换及路径设置 Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志. 一.归档日志 是联机重做日志 ...

  7. oracle archiev,Oracle 归档日志 archivelog

    --==================== -- Oracle归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过 ...

  8. Oracle归档日志删除

    为什么80%的码农都做不了架构师?>>>    环境说明 版本:Oracle 11gR2 操作步骤 查看系统磁盘使用情况 [oracle@Oracle ~]$ df -h Files ...

  9. oracle归档日志太多(ORA-00257: archiver error. Connect internal only, until freed)错误的处理方法

    1.原因 oracle归档日志太多 2.解决方法 删除一天前的oracle归档日志 3.删除步骤 1)使用sqlplus登录oracle sqlplus / as sysdba 2)查看归档日志使用信 ...

最新文章

  1. 殊途同归的策略梯度与零阶优化
  2. extern用法详解
  3. 【ES】分布式调度系统之 Elastic-Job-Lite
  4. 微信小程序四(设置底部导航)
  5. LOUVAIN——社交网络挖掘之大规模网络的社区发现算法
  6. 搜集的几个超高难度的数独题
  7. 各种缩写名词汇总,力求最全面最精确
  8. RX8025 RTC闹钟唤醒Alarm_D的初始化
  9. 程序员如何变身IT讲师
  10. 有意思的DCDC工作原理
  11. 吉林大学计算机学院辅导员王,毕业30载 吉林大学计算机学院1982级校友重返母校...
  12. post请求参数校验工具param-validate
  13. 霍华德大学计算机科学,霍华德大学有哪些专业
  14. 线程插队--Join方法
  15. 山西流传于百姓餐桌的宫府名菜——山西过油肉
  16. zabbix4.0 zabbix-server.service never wrote its PID file. Failing.
  17. 乌班图好玩的命令_Ubuntu实用命令大全
  18. 支持外链的mp3网站
  19. 写一本书作者到底能拿到多少稿酬?
  20. VMware vSphere 7.0 Update 2 发布 - 数据中心虚拟化和 Kubernetes 云原生应用引擎

热门文章

  1. Cdiscount平台对接总结(辛酸史)
  2. 【Altium designer】快捷键小技巧
  3. 词法分析扫描器的设计实现
  4. hdu 5148 Cities(树形背包)
  5. Visio中关于跨线的设置
  6. 将自己写的网站发布到外网sunny-ngrok
  7. 差分进化算法python 指派问题_多目标优化算法
  8. ACM常用模板-数据结构
  9. 超市收银系统测试报告
  10. 如何更好地学习新概念英语