解决Oracle数据库归档日志占满磁盘空间问题

作者:袖梨 2022-06-29

1、常用命令

SQL> show parameter log_archive_dest;
SQL> archive log list;
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
ARCHIVELOG        96.62            0       141
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

2.9904

SQL> show parameter recover;
db_recovery_file_dest        string      /u01/oracle/flash_recovery_area
db_recovery_file_dest_size    big integer  2G

2、删除日志

cd $ORACLE_BASE/flash_recovery_area/orcl/archivelog

转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。

3、删除RMAN过期备份

rman target sys/password
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

或者

RMAN> delete archivelog until time “sysdate-1″;

4、再查

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

5、修改大小

SQL> alter system set db_recovery_file_dest_size=4G scope=both;

相关文章

精彩推荐