生产服务器(主)归档日志路径:
/home/u01/app/oracle/fast_recovery_area
清理Oracle归档日志
https://jingyan.baidu.com/article/3065b3b6e202ccbecef8a411.html
- 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;
次查询可以查看当前归档日志使用大小,单位B
SQL> select * from v$recovery_file_dest;
- oracle 查看归档日志设置的大小
使用sys登陆数据库
输入show parameter db_recovery_file_dest_size;
- 修改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;
- 8
删除完成,重新连接数据库