100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Oracle归档日志使用情况及自动清理

Oracle归档日志使用情况及自动清理

时间:2019-07-24 03:09:09

相关推荐

Oracle归档日志使用情况及自动清理

背景

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

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

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

归档日志使用情况查询

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

[oracle@ESBDatabase ~]$ sqlplus / as sysdbaSQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 18 14:29:25 Copyright (c) 1982, , Oracle. All rights reserved.Connected to:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit ProductionWith 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_area2.1475E+108498622464 0 381 0# 查询归档日志文件使用情况SQL> select * from v$flash_recovery_area_usage;FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILESCON_ID------------------------------ ------------------ ------------------------- --------------- ----------CONTROL FILE 0 0 00REDO LOG 0 0 00ARCHIVED LOG39.88 03840BACKUP PIECE 0 0 00IMAGE COPY0 0 00FLASHBACK LOG 0 0 00FOREIGN ARCHIVED LOG0 0 00AUXILIARY DATAFILE COPY 0 0 008 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';

归档日志定时清理

新建归档日志脚本

[oracle@localhost ~]$ vim /home/oracle/del_arch.sh#!/bin/bashecho "----------------------------------------`date`---------------------------------------"source ~/.bash_profilerman target / <<EOFcrosscheck archivelog all;delete noprompt expired archivelog all;delete noprompt archivelog all completed before 'sysdate-7';EOFecho -e "\n"echo "------------------------------------ FINISHED ------------------------------------"

将清理脚本添加到定时任务中

[oracle@localhost ~]$ crontab -e* 1 * * * sh /home/oracle/del_arc.sh

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。