Oracle如何正确删除archivelog文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle如何正确删除archivelog文件相关的知识,希望对你有一定的参考价值。
参考技术A Oracle正确删除archivelog文件 Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间。 问题:如何定期正确删除archivelog文件呢? 很多人直接在archive目录下删除文件,这样其实不能达到在Oracle CLF文件中删除文件记录的效果。 正确方法: 1.用RMAN连接目标DB: RMAN target sys/*****@orcl 2.在RMAN命令窗口中,输入如下命令: crosscheck archivelog all; delete expired archivelog all; 或者删除指定时间之前的archivelog: DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志) 3.其它相关命令: 查看归档日志列表: list archivelog all; 查看失效的归档日志列表: list expired archivelog all; 4.定期清除archivelog: 可以将如下代码写成.bat文件,在控制面版的任务计划下添加新的定时任务: RMAN target sys/*****@orcl crosscheck archivelog all; delete expired archivelog all;本回答被提问者采纳Oracle数据库的归档模式(archivelog mode)
Oracle数据库可以运行在2种模式下:
- 归档模式(archivelog)
归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。
- 非归档模式(noarchivelog)
如何启用和关闭数据库的归档模式。
1.shutdown normal或shutdown immediate关闭数据库
2.startup mount启动数据库到mount状态
3.启用或停止归档模式
启用归档模式:alter database archivelog
停用归档模式:alter database noarchivelog
4.查看归档模式:archive log list
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started.
Total System Global Area 1653518336 bytes Fixed Size 2253784 bytes Variable Size 1207962664 bytes Database Buffers 436207616 bytes Redo Buffers 7094272 bytes Database mounted. SQL> alter database archivelog;
Database altered.
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 18 Next log sequence to archive 20 Current log sequence 20 |
以上是关于Oracle如何正确删除archivelog文件的主要内容,如果未能解决你的问题,请参考以下文章