oracle服务器关闭归档日志,删除归档日志(linux)

1,切换oracle用户

su - oracle

2,用sys登陆数据库

sqlplus / as sysdba

3,查看archivelog日志占用空间大小

set line 999;--设置显示长度999
select * from v$recovery_file_dest;--查看archivelog日志存储路径
select * from v$flash_recovery_area_usage;--查看archivelog日志占用空间大小

4,关闭archivelog日志功能

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

5,退出sqlplus,用rman删除日志

rman target / ;--用sys登陆oracle数据库打开rman工具
rman target sys/password@host ;--用其他方式登陆数据打开rman工具
crosscheck archivelog all;--验证的是DB的归档日志即log_archive_dest参数指定位置的文件,当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行Rman备份,所以此时需要手工执行crosscheck过程,查看所有的归档日志文件是否都是正常的然后再来执行Rman备份
delete expired archivelog all;--删除过期的日志文件
delete force archivelog all;--强制删除所有的日志文件
delete archivelog until time 'sysdate-7';--删除系统时间7天之前的日志

6,sqlplus登陆数据库清空v$archived_log

execute sys.dbms_backup_restore.resetCfileSection(11);--清空v$archived_log
select * from v$archived_log;--查看v$archive_log

7,生成新的日志文件(可以不用做)

alter system switch logfile;--生成新的日志文件

 

posted @ 2020-12-16 11:25  无尽的夜猫子  阅读(1374)  评论(0编辑  收藏  举报