查看: 4582|回复: 10

[备份恢复] rman 删除之后物理文件还存在

[复制链接]
论坛徽章:
0
发表于 2012-10-4 23:20 | 显示全部楼层 |阅读模式
我想删除十天以前的归档日志。用rman 命令。DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-10';
归档日志指定的目录是 /oracle/dbs/arch   而 在dbs目录下没有arch目录。所以归档日志全部存放在dbs目录下了。
我用DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-10';之后 dbs目录确实减小了5G 但是我
查看了dbs目录里的内容之后发现 归档日志还是从九月十二号到十月4号的。根本就没有删除!!!
那么我到底少的是什么东西???? 还有 oracle的闪回区是关闭的。我在dbs下建了arch目录之后。
归档日志就存放在/dbs/arch 中了。    数据库的版本是11g的。请问这到底是什么情况!!!!
论坛徽章:
6
奥运会纪念徽章:网球
日期:2012-10-26 05:30:30奥运会纪念徽章:蹦床
日期:2012-11-05 16:05:03奥运会纪念徽章:网球
日期:2012-11-21 16:55:44奥运会纪念徽章:铁人三项
日期:2012-11-21 16:56:32奥运会纪念徽章:射箭
日期:2012-12-03 14:26:02奥运会纪念徽章:手球
日期:2012-12-03 14:26:02
发表于 2012-10-5 09:51 | 显示全部楼层
不明白,没有删除,怎么会少了5g?

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2012-10-5 10:35 | 显示全部楼层
yongzhuhe99 发表于 2012-10-5 09:51
不明白,没有删除,怎么会少了5g?

这个问题我一直在纠结。

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2012-10-5 17:17 | 显示全部楼层
list archivelog all by file;

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2012-10-6 08:58 | 显示全部楼层
ZALBB 发表于 2012-10-5 17:17
list archivelog all by file;

好像报错啊

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2012-10-23 22:50 | 显示全部楼层
这是因为控制文件中参数关于可以重复利用的大小有限制。 控制文件里面已经没有了以前的归档日志的信息。所以删除不掉。

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2012-10-23 22:53 | 显示全部楼层
实际上并不是RMAN命令本身有问题。RMAN删除归档日志的依据是controlfile中记录的归档日志,而不是ASM中实际存在的归档日志。controlfile中有一部分内容是可以循环使用的,其中归档日志信息和备份信息就使用的是这部分空间。Oracle用参数control_file_record_keep_time来设置控制文件中可重用的记录在多久以后可以被重用。通常这个参数的缺省值是7。这就意味着7天前的归档日志和备份信息可能在控制文件中已经不存在了。而RMAN命令只能删除控制文件中记录的归档日志,对于那些很早以前的归档日志,它们在控制文件中的信息已经不存在了,RMAN就无法删除了。对于这部分归档日志,只能其它命令从ASM或文件系统上删除。
另外需要说明的是,用RMAN删除归档日志时,并不会删除控制文件中对应的归档日志信息,而只是在控制文件中设置delete状态,即v$archived_log的deleted列。
删除归档日志时,建议使用RMAN命令来删除。如果不使用RMAN命令而用操作系统命令或ASM命令删除日志后,最好更新一下控制文件信息,方法是:
RMAN> crosscheck archivelog all;
RMAN> delete expried archivelog all;
如果是RAC环境且archivelog存储在各节点的本地盘而未使用NFS,直接执行以上命令会导致其它节点上的所有archivelog都被标识为无效而被删除。这是因为归档日志不是共享的,执行命令的节点无法访问到其它节点上的归档日志。对于这种情况需要为每个节点分配一个metainance channel来解决。
RMAN > allocate channel for maintenance device type disk connect'sys/systemaudit@ora91';
RMAN > allocate channel for maintenance device type disk connect'sys/systemaudit@ora92';
RMAN > crosscheck archivelog all;
RMAN> delete expried archivelog all;

使用道具 举报

回复
论坛徽章:
3
奥运纪念徽章
日期:2012-12-06 09:21:40鲜花蛋
日期:2013-01-10 11:05:462013年新春福章
日期:2013-02-25 14:51:24
发表于 2012-10-23 23:09 | 显示全部楼层
学习了

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2012-10-23 23:31 | 显示全部楼层
低调小马哥 发表于 2012-10-23 23:09
学习了

共同学习!!

使用道具 举报

回复
论坛徽章:
0
发表于 2014-4-11 15:22 | 显示全部楼层
xindahai 发表于 2012-10-23 22:53
实际上并不是RMAN命令本身有问题。RMAN删除归档日志的依据是controlfile中记录的归档日志,而不是ASM中实际 ...

请问这个分配了通道后还用取消分配吗,如果不分配的话,那么rac默认的通道不是一致的吗 ?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表