概述:
接收到告警:xxxx系统的归档个数不足30个。需对历史归档文件进行清理。
- 使用oracle账号登录服务器,查询v$asm_diskgroup视图查看容量
SQL> select name, total_mb/1024, free_mb/1024, free_mb/total_mb from v$asm_diskgroup2.清理归档,在Linux Oracle用户下,执行 rman target /回车,登录rman,执行清理SQL
# rman target /
RMAN> delete archivelog all completed before 'sysdate-1'; (指定删除1天前的归档)
或者
RMAN> delete archivelog until time "sysdat-1";注意:
清理归档和扩容不一样,扩容时,需要仅在主库上操作。清理归档时 哪台服务器归档满了,在哪台清理,不需要一定在主库。
扩充:除了归档日志还有一个监听日志可以直接rm -rf清理。
eg: 收到告警通知数据库根目录使用率95%以上,经排查:
/u01/app/11.2/grid/log/diag/tnslsnr/WGQORA03/listener_scan1/alert/
/u01/app/11.2/grid/log/diag/tnslsnr/WGQORA03/listener_scan1/trace/
上述两个目录占用较多,共计约400G,需进行清除:
1、alert/中有大量的 log*.xml文件,进行清除:rm -rf log_*.xml
2、trace/目录中有一个文件listener_scan1.log,清空文件:> listener_scan1.log
出现上述情况,是因log_status打开的,关闭即可。现在进行关闭操作。
切换至 grid账号
[root@wgqoradb03 ~]$ su - grid
[grid@wgqoradb03 ~]$ lsnrctl
LSNRCTL> help // 帮助文档
LSNRCTL> show // 查看show的所有指令
LSNRCTL> show log_status // 查看状态是否关闭
LSNRCTL> set log_status off // 进行关闭
LSNRCTL> show log_status // 进行确认是否关闭
[grid@wgqoradb03 ~]$