oracle正确维护归档,转载:ORACLE正确删除归档日志的方法
我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除
archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:
1.
进入rman
[oracle@dthxdb2
~]$ /u01/app/oracle/product/10.2.0/db/bin/rman
2.
connect target
/
RMAN> connect
target /
3.
crosscheck
archivelog all;
crosscheck archivelog
all:验证的是DB的归档日志即log_archive_dest参数指定位置的文件,当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行Rman备份,所以此时需要手工执行crosscheck过程,查看所有的归档日志文件是否都是正常的然后再来执行Rman备份。
4.
delete expired
archivelog all;
这时候我们再去OEM中就看不到这些日志文件了,如果你的从来没有做过这个动作的话,我们可以比较这个动作前的controlfile和动作后的controlfile的文件大小
ORACLE正确删除归档并回收空间的方法:
一个ORACLE归档日志经常满,表现为/archivelog这个文件空间占用100%大家总是抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和
FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。
删除归档日志的过程
以ORACLE用户身份登录到数据库服务器主机或通过网络连接
进入ORACLE数据备份工具
/u01/app/oracle/product/10.2.0/db/bin/rman
target/
或/u01/app/oracle/product/10.2.0/db/bin/rman
target/@DTHXRAC1
在命令窗口里面执行
DELETE ARCHIVELOG ALL
COMPLETED BEFORE 'SYSDATE-7';
说明:
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行数据库全备份
DELETE ARCHIVELOG FROM TIME
'SYSDATE-7';
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /archivelog -xdev -mtime
+7 -name "*.dbf" -exec rm -f {} \;
这样做仍然会在RMAN里留下未管理的归档文件,它的作用还是相当于直接用操作系统命令将归档日志文件直接删除,而ORACLE控制文件并不知道,因此仍需要在RMAN里执行下面2条命令:
crosscheck archivelog
all;
delete expired archivelog
all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能。
简要介绍一下report obsolete命令
使用report obsolete命令报告过期备份
RMAN>
report obsolete;
RMAN
retention policy will be applied to the command
RMAN
retention policy is set to redundancy 1
Report
of obsolete backups and copies
Type
Key
Completion Time
Filename/Handle
--------------------------
------------------
--------------------
Backup
Set
125
01-NOV-04
Backup
Piece125
01-NOV-04
/data1/oracle/orabak/full_1_541045804
Backup
Set
131
04-NOV-04
Backup
Piece131
04-NOV-04
/data1/oracle/orabak/full_AVATAR2_20041104_131
....
Backup
Set
173
06-DEC-04
Backup
Piece173
06-DEC-04
/data1/oracle/orabak/full_AVATAR2_20041206_173
Backup
Set
179
11-DEC-04
Backup
Piece179
11-DEC-04
/data1/oracle/orabak/arch544588206.arc
.....
Backup
Piece189
17-DEC-04
/data1/oracle/orabak/arch545106606.arc
Backup
Set
190
17-DEC-04
Backup
Piece190
17-DEC-04
/data1/oracle/orabak/arch545106665.arc
Backup
Set
191
20-DEC-04
Backup
Piece191
20-DEC-04
/data1/oracle/orabak/arch_AVATAR2_20041220_194
Archive
Log
2973
20-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2985.dbf
Archive
Log
2971
20-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2984.dbf
.....
Archive
Log
270517-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2717.dbf
Archive
Log
2704
17-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2716.dbf
Archive
Log
2703
17-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2715.dbf
Archive
Log
2702
17-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2714.dbf
使用delete obsolete命令删除过期备份:
RMAN>
delete obsolete;
RMAN
retention policy will be applied to the command
RMAN
retention policy is set to redundancy 1
using
channel ORA_DISK_1
Deleting
the following obsolete backups and copies:
Type
Key
Completion Time
Filename/Handle
--------------------
--------------------------------------------
Backup
Set
125
01-NOV-04
Backup
Piece125
01-NOV-04
/data1/oracle/orabak/full_1_541045804
....
Archive
Log
2704
17-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2716.dbf
Archive
Log
2703
17-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2715.dbf
Archive
Log
2702
17-DEC-04
/opt/oracle/oradata/avatar2/archive/1_2714.dbf
Do
you really want to delete the above objects (enter YES or NO)?
yes
deleted
backup piece
backup
piece handle=/data1/oracle/orabak/full_AVATAR2_20041206_173
recid=173 stamp=544156241
.....
deleted
archive log
archive log
filename=/opt/oracle/oradata/avatar2/archive/1_2715.dbf recid=2703
stamp=545108268
deleted
archive log
archive log
filename=/opt/oracle/oradata/avatar2/archive/1_2714.dbf recid=2702
stamp=545107659
Deleted
286 objects
RMAN>
crosscheck archivelog all;
released
channel: ORA_DISK_1
allocated
channel: ORA_DISK_1
channel
ORA_DISK_1: sid=19 devtype=DISK
specification
does not match any archive log in the recovery catalog
在rman中用crosscheck检查归档日志,2个归档日志都是失败的:
RMAN>
crosscheck archivelog all;
释放的通道:
ORA_DISK_1
分配的通道:
ORA_DISK_1
通道 ORA_DISK_1: sid=14
devtype=DISK
对归档日志的验证失败(validation
failed for archived log)
archive log
filename=/archivelog1/1_615_737652750.dbf recid=928
stamp=750848535
对归档日志的验证失败
archive
log filename=/archivelog1/1_616_737652750.dbf recid=930
stamp=750851615
已交叉检验的 2
对象(Crosschecked
2 objects)
试着同步一下,看行不行,结果不行,crosscheck还是失败:
RMAN>
resync catalog;
正在启动全部恢复目录的 resync
完成全部 resync
RMAN>
crosscheck archivelog all;
释放的通道:
ORA_DISK_1
分配的通道:
ORA_DISK_1
通道 ORA_DISK_1:
sid=14 devtype=DISK
对归档日志的验证失败(validation
failed for archived log)
archive log
filename=/archivelog1/1_615_737652750.dbf recid=928
stamp=750848535
对归档日志的验证失败
archive
log filename=/archivelog1/1_616_737652750.dbf recid=930
stamp=750851615
已交叉检验的 2
对象(Crosschecked
2 objects)
用list
expired看看是否有失效的archive
log,证明没有失效的archive
log:
RMAN>
list expired archivelog all;
说明与恢复目录中的任何存档日志均不匹配
更改语言环境试试,结果再次crosscheck,2个archive
log 都成功了:
RMAN>
exit
恢复管理器完成。
C:>set
nls_lang=american_america.zhs16gbk
C:>rman
catalogrman/rman@safetarget /
Recovery
Manager: Release 9.2.0.1.0 - Production
Copyright
(c) 1995, 2002, Oracle Corporation. All rights reserved.
connected
to target database: TEST (DBID=1870953724)
connected
to recovery catalog database
RMAN>
crosscheck archivelog all;
allocated
channel: ORA_DISK_1
channel
ORA_DISK_1: sid=9 devtype=DISK
validation
succeeded for archived log
archive log
filename=/archivelog1/1_615_737652750.dbf recid=928
stamp=750848535
validation
succeeded for archived log
archive log
filename=/archivelog1/1_616_737652750.dbf recid=930
stamp=750851615
Crosschecked
2 objects
oracle正确维护归档,转载:ORACLE正确删除归档日志的方法相关推荐
- oracle的hints类型,[转载]oracle hints用法大全
在向大家详细介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家有用.基于代价的优化器是很聪明的,在绝大多数情况下它会选择 ...
- oracle的iw算法,[转载]Oracle日期周详解IW
1 ORACLE中周相关知识描述 1.1 日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...
- oracle alter user identified,[转载]oracle通过alter user 用户名 identified by
oracle 查看用户操作而不最终修改用户密码 ---------------------------------------------------------------------------- ...
- oracle 11g删除归档日志,oracle 11g生产环境清理归档日志脚本
最近几个客户生产环境都遇到一些故障,原因就是开归档,没有部署删除归档定时任务,以下大家可以参考,经过本人测试,在生产环境上正常运行. **roidba删除归档日志脚本** 一.基于RHEL6服务器端的 ...
- oracle数据库报错1033,Oracle联机日志出现错误ORA-16038 ORA-19809 ORA-00312 解决
出现ORA-16038 ORA-19809 ORA-00312 Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了2G大小当归档日志超过2G的 ...
- oracle如何删除可回收归档,Oracle正确删除归档并回收空间的方法
一个Oracle归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨Oracle为何没有归档维护工具,很多人直接删除了事,错了,Oracle有,而且很智能,可以正确的删除 ...
- 当ORACLE归档日志满后如何正确删除归档日志
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格 ...
- Oracle 删除归档日志脚本
归档日志记录着数据库的操作记录,是做数据恢复的依据,如果数据库开启了归档模式,那么就会产生大量的归档日志,当然如果有RMAN备份的话,可以在备份之后删除已经备份过的日志,如果是没有采用rman备份的话 ...
- 【RMAN】正确删除归档日志的方式
归档日志的信息是记录在控制文件中,所以不能从OS层面进行简单的删除,因为这些归档日志还是会在动态视图中出现, Oracle 并不认为这些日志删除了. 方法一 : 先从 OS 层面删除,再使用 RMA ...
最新文章
- Netty 系列一(核心组件和实例).
- 阿里不让 MySQL 多表 Join ?我偏要!
- DL之Xception:Xception算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- Image and video pencil sketch with OpenCV 3.X and CUDA
- BugkuCTF-MISC题低位的色彩
- c语言程序设计的几种循环,C语言程序设计教案 第六章 循环程序设计.doc
- wp8安装SSL证书
- python的进程和线程_Python进程与线程知识
- python2与python3在windows下共存
- python matplot模块
- 浏览器对象模型(Browser Object Model)
- 关于C#中Thread.Join()的一点理解
- ESP32 LVGL8.1 ——Label 标签 (Style 14)
- 什么是老毛子固件 padavan中文叫什么
- 微信公众号开发详细笔记
- 【转帖】 嵌入式路线狂人计划--------个人认为。
- GitHub 用户专属福利,实际到账 3K+,Namebase Airdrop
- 荷兰版《口袋妖怪GO》:不找小精灵,找免费啤酒!
- 《大掌门》欧阳刘彬--基于Cocos2d-x引擎开发经验分享
- hillin:浮木漂流
热门文章
- C#实现Windows后台服务实例浅析
- reactjs组件生命周期:componentWillReceiveProps及新旧版本生命周期钩子函数对比
- wsl设置c盘自动挂载到wsl中的/c/目录下
- k8s:Service的四种类型和三种代理模式
- 请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
- Java工具类--雪花算法生成全局唯一ID
- 【软考-软件设计师】解释程序实现高级语言的三种方式
- MongoRepository findById方法使用示例
- 支付宝开发中return_url和notify_url的区别分析
- centos7安装tomcat8.5.46版本碰到的问题