归档日志手动清理

系统:windows系统

数据库:oracle11g

前景:数据库登录异常,无法登录

在能用dba权限登录的情况下,可以用如下命令查询:
select log_mode from v$database; --检查当前归档日志是否开启 

select * from v$flash_recovery_area_usage; --查看空间占用率

 select * from v$recovery_file_dest;  --查看归档日志的存放地址

在确认开启归档日志的情况下,可用rman 命令进行归档日志的清理。

win+r:cmd

进入默认数据库恢复管理器

rman target /

检查归档日志文件

crosscheck archivelog all; 

清空归档文件 

delete archivelog all; --清除全部文档

 delete expired archivelog all; --清除过期文档

delete archivelog all completed before 'sysdate-7';--清除指定日期文档

 

 rman有一个保留策略,可以定义多少天之前的日志算为过期;

configure retention policy to recovery window of 7 days;

----最后用下面的语句验证下,能不能正常登录

sqlplus / as sysdba;

conn usr/password@sid;

 

 

-------------------------------



 

清理 Oracle 数据库的归档日志是维护数据库性能和可用性的关键操作,尤其是在启用归档模式的环境中。以下是几种常见的归档日志清理方法: ### 使用 RMAN 清理归档日志 Oracle 提供了 **RMAN(Recovery Manager)** 工具用于管理备份和恢复操作,同时也可用于清理归档日志文件。可以通过以下命令验证归档日志状态并删除过期的日志: ```bash rman target / ``` 随后执行以下命令进行归档日志清理: ```sql CROSSCHECK ARCHIVELOG ALL; -- 验证所有归档日志的状态 DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-1'; -- 删除一天前的归档日志 DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-12/24'; -- 删除半天前的归档日志 ``` 这些命令可以有效地释放磁盘空间,并确保数据库在归档模式下稳定运行[^1]。 ### 手动删除归档日志文件 如果希望直接通过操作系统层面删除归档日志文件,可以使用 RMAN 命令指定具体的归档日志路径进行删除: ```sql DELETE ARCHIVELOG '/path/to/your/archivelog/file'; ``` 该方式适用于需要对特定日志文件进行清理的情况。需要注意的是,在手动删除之前应确保这些归档日志不再被数据库或备份系统所需要[^2]。 ### 自动化脚本定期清理 为了减少人工干预,可以编写自动化脚本来定期执行归档日志清理任务。例如,下面是一个基于 Linux 系统的 shell 脚本示例,它会自动调用 RMAN 来清理过期的归档日志: ```bash #!/bin/bash echo "----------------------------------------`date`---------------------------------------" source ~/.bash_profile rman target / >> delarchive.log <<EOF CROSSCHECK ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED ARCHIVELOG ALL; DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1/2'; EXIT EOF echo -e "\n" echo "------------------------------------ FINISHED ------------------------------------" ``` 此脚本会在每天执行时自动清理已过期的归档日志,并将操作日志记录到 `delarchive.log` 文件中,便于后续审计和排查问题[^4]。 ### 设置归档日志保留策略 通过配置 RMAN 的归档日志删除策略,可以实现更加智能的日志管理。例如,以下命令设置了一个保留策略,确保只有在备用数据库上应用过的归档日志才可被删除: ```sql CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; ``` 这种机制可以有效防止误删尚未使用的归档日志,同时也能避免因日志堆积而导致的存储空间不足问题。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值