暂无图片
Rman catalog start with比较慢
我来答
分享
刘生祯
2019-05-22
Rman catalog start with比较慢

rman由于备份保留周期比较长(32天),所以控制文件大小比较大,导致现在catalog start with,crosscheck以及restore database都比较慢,有什么办法可以解决吗?

谢谢大家

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
刘生祯

数据库版本12.1.0.2

暂无图片 评论
暂无图片 有用 0
打赏 0
Kamus

首先具体的备份策略是怎样的?每天一个全备吗?

其次想确认一下,为何判断是控制文件过大引起的备份缓慢?

最后缓慢是多慢?能否以命令行的方式给出实际的显示?

暂无图片 评论
暂无图片 有用 0
打赏 0
章芋文

可以使用第三方备份软件如NBU、CV等来备份数据库,他有自己专门的catalog数据库用于存储备份信息,源库的控制文件通过设置CONTROL_FILE_RECORD_KEEP_TIME参数记录少量信息即可。

当然也可以自己搭一个catalog库,所有需要备份的数据库共用一个,通过脚本完成备份。

暂无图片 评论
暂无图片 有用 0
打赏 0
刘生祯

@Kamus您好:

1、备份策略是每天一个level0 级别备份,昨天恢复时使用的是5月8日的level 0 级别备份集 

2、不是备份慢,是恢复慢,控制文件大小53M

3、具体恢复过程如下:

RMAN> startup nomount pfile='/tmp/pfilezxcxdb.ora';


Oracle instance started


Total System Global Area    6442450944 bytes


Fixed Size                     3725224 bytes

Variable Size               1358956632 bytes

Database Buffers            5066719232 bytes

Redo Buffers                  13049856 bytes


RMAN> restore controlfile from '/data/20190509/DB/ZXCX_dqu13btv_1_1_20190509_11706.ctl';


Starting restore at 2019-05-22 20:51:51

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=680 device type=DISK


channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

output file name=/data/oradata/zxcx/controlfile/control01.ctl

Finished restore at 2019-05-22 20:51:53


RMAN> alter database mount;


Statement processed

released channel: ORA_DISK_1


RMAN> catalog start with '/data/20190509/DB/';


Starting implicit crosscheck backup at 2019-05-22 20:53:07

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=198 device type=DISK

......

等待了2小时,命令一直没有响应

由于catalog库跟恢复服务器物理隔离,所以将catalog库的用户导出到跟恢复服务器同一网络上的一台机器后,使用rman target / catalog xxx/xxx@catadb进行恢复,同样使用的以上catalog start with命令,以及后期的restore database命令,都比较快,30分钟整库恢复完成(库大小10G以内)

暂无图片 评论
暂无图片 有用 0
打赏 0
Kamus

首先你既然只是用控制文件存储了备份信息,而没有使用catalog库,那么实际上在恢复的时候,是不需要做catalog start with操作的,难道直接list backup里面没有你想恢复的备份集吗?


对于catalog start with这样的操作,我本人的经验很少,不确认这一步是不是会由于控制文件较大而很缓慢(实际上50多MB的控制文件也并不算很大),那么有以下建议。


  1. 跳过catalog start with,直接做recover database,看看耗时如何?

  2. 在数据库的等待事件里看一下,rman进程在catalog start with的时候处于什么等待中,有助于判断为何catalog start with缓慢

  3. 按照章芋文的建议,可以设置源库的CONTROL_FILE_RECORD_KEEP_TIME参数,以减少在控制文件中存储的内容,但是根据你提供的数据库在10GB大小左右,可以判断其实数据文件并没有多少,按理说这个数量不至于影响到2个小时没有反应的情况

  4. 还可以优化备份策略,比如无需每天level 0备份,在中间增加一些level 1的备份



暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle 游标循环执行sql, 循环到固定点的时候特别慢, 然后又恢复正常?
回答 1
与游标方式无关,主要看那条sql执行的是什么,可以通过加日志表或者开启调试来定位是游标的哪行记录作为sql的条件时速度慢,检查相关表是否存在异常数据,另外还要看执行的sql是否还可以优化
安装oracle 19c的时候报错:recovery manager failed to restore datafiles.
回答 1
磁盘空间不足了?
19cRAC DBCA建库出现报错[FATAL] Recovery Manager 无法恢复数据文件
回答 5
我也遇到了,试一下chmod 777 /asm/oracleasm/disks/asm
Oracle 8层connect by怎么提高查询?
回答 1
什么是8层connectby?应该是你的查询树形结构的层数有8层吧,你的查询慢么
imp导入报错ora00001违反唯一约束条件
回答 2
上面错了这个是10g的数据库DMP文件只有这一份使用imp如何排除约束导入呢?
oracle导出数据库中的表结构有什么便捷的方式吗?
回答 2
已采纳
也可以写个存储过程,导出表结构
Oracle 11g的库打11g最新的补丁级, 能避免漏扫吗?
回答 2
oracle11g的生命周期大概是在2020年10月份结束的,后期有扩展补丁,大概到2021年,后期oracle就不会再出补丁来维护11g的数据库了,你最新的补丁也就是能修复那个时间之前的漏洞,后期有
Oracle如何对impdp/expdp 操作做审计?
回答 1
已采纳
参考下这个,看是否复合要求。
各位大佬,请教个数据排序问题 现在的问题是:设备所在机柜的U位,如何实现3-6 与 8-11这中数据进行比较排序,然后按照这个规律排序
回答 1
你试试吧38改成0308这样行不行?
在oracle中调用存储过程时在参数前加:冒号是什么意思?
回答 1
已采纳
表示发起调用过程的程序动态输入的参数,即你在前面定义的这个vnum的值