​sqlplus / as sysdba;​​ cmd命令用管理员登录

shutdown immediate; -- 关闭数据库
startup mount; -- 打开数据库
alter database archivelog; -- 开启归档日志
alter database open; -- 开启数据库
archive log list; -- 查看归档日志是否开启

如果要关闭归档文件,重复上述步骤,只是第三步不一样。

shutdown immediate; -- 关闭数据库
startup mount; -- 打开数据库
alter database noarchivelog; -- 关闭归档日志,注意这里是noarchivelog
alter database open; -- 开启数据库
archive log list; -- 查看归档日志是否开启

可以用以下语句查看:

select log_mode from v$database; -- 检查当前归档日志是否开启 
select * from v$flash_recovery_area_usage; -- 查看空间占用率 4102029312 /1024/1024就是 3912M
select * from v$recovery_file_dest; -- 查看归档日志的存放地址

删除归档文件
​​​rman target / ;​​ cmd命令进入 数据库恢复管理器

crosscheck archivelog all; -- 检查归档日志文件
delete archivelog all; --清除全部文档
delete expired archivelog all; --清除过期文档
delete archivelog all completed before 'sysdate-7';--清除指定日期文档

配置新的保留策略为7天

configure retention policy to recovery window of 7 days;

如果知道归档日志的位置,也可以手动删除,直接删除目录下的文件即可。
例如归档目录为 /data/oraclelog ,清空即可。