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;--生成新的日志文件