欢迎来到天天文库
浏览记录
ID:37712025
大小:25.89 KB
页数:8页
时间:2019-05-29
《Oracle RMAN 清除归档日志》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OracleRMAN清除归档日志在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多。可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定。这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当。因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除。依旧占用着一些空间未能及时清除而需要控制文件通过ageout方式来释放空间。本文描述了使用RM
2、AN方式来清除归档日志,同时也可以将其部署到shell脚本中使用。 有关阅读本文需要的相关参考 Oracle归档日志 Oracle控制文件(CONTROLFILE) Oracle联机重做日志文件(ONLINELOGFILE) deletearchivelogall无法彻底删除归档日志? Linux/Unixshell脚本中调用SQL,RMAN脚本 Linux/Unixshell脚本清除归档日志文件 1、清除归档日志的方式a、手动删除 使用rm或者find方式
3、来删除,通过该方式删除之后,在RMAN下可以通过crosscheckarchivelogall校验归档是否失效,如下面的操作: rm-rfarch_816906485_1_10.arc find/u02/database/GOBO1/archive/-ctime+0-delete RMAN>crosscheckarchivelogallb、使用RMAN方式清除 RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息。 可以基于不同的条件来清除归档日志,
4、如基于SCN,基于SEQUENCE,基于TIME等方式。 对于上述的三种方式又可以配合from,until,between..and..等等子句来限定范围,方式灵活多变。 下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的: crosscheckarchivelogall; --->校验日志的可用性 listexpiredarchivelogall;
5、 --->列出所有失效的归档日志 deletearchiveloguntilsequence16; --->删除logsequence为16及16之前的所有归档日志 deletearchivelogallcompletedbefore'sysdate-7'; --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志 deletearchivelogallcompletedbefore's
6、ysdate-1'; --->同上,1天以前的 deletearchivelogfromtime'sysdate-1'; --->注意这个命令,删除系统时间1天以内到现在的归档日志 deletenopromptarchivelogallcompletedbefore'sysdate'; --->该命令清除所有的归档日志 deletenopromptarchivelogall; --->同上一命令
7、 2、演练使用RMAN清除归档日志 [python] viewplaincopyprint?1.robin@SZDB:~> export ORACLE_SID=GOBO1 2.robin@SZDB:~> rman target / 3. 4.Recovery Manager: Release 10.2.0.3.0 - Production on Thu Jul 11 17:07:00 2013 5. 6.Copyright (c) 1982, 2005, Oracle. All rights reserv
8、ed. 7. 8.connected to target database: GOBO1 (DBID=733951103) 9. 10.RMAN> host; 11. 12.robin@SZDB:~> cd /u02/database/GOBO1/archive/ 13.ro
此文档下载收益归作者所有