rman怎么恢复控制文件

rman怎么恢复控制文件,第1张

如果有全部数据文件知氏吵是可以重建的ctl的,脚本还是很容易写得,找一个好的db来alter database backup controlfile to ''然后对着修改就行了,不过你必须清楚完整的数据文件的位置。如果核仔没有控制文件的备份,一般不建议重建ctl,有备份的ctl最好,是oracle 9i还是10g的搭侍是有控制文件的快照,特殊情况下可以采取快照来恢复。

首先确认空间是否真的够用,rman备出来的文件有可能比expdp或exp出来的文件大不少。

如锋缺果型基游空间够用,那么请在backup、configure和allocate channel这3个命令中选一个配置备份集的format(这个format中指定存放在哪个目录),只要主机能识别的文件系统,rman就可以用。

(backup和allocate channel是每次都要执行,configure是设置默认值)

全库备份,最简单的命令就是backup database(10gR2以后,控制文件和参数文件会在这个命令后自动备份),恢复时如果需要先restore,需要先去v$recover_file查哪些文件需要restore,然后执行restore datafile <file_id>,最后执行recover database即可。

补充:

lz的问题变了,其他人说过的而且正确的我就不说了,纠正他们几个错误。

1、expdp并非不能在客户端远程运行,只是生成的文件永远在服务器上,这是10g新推出的一个工具,exp是一个老工具,在哪里运行,生成的文件就在哪。

2、80G的东西备份需要多少时间跟存储性能有关系,这个需要你先备份一下看看,按照经验猜是没有太大意义的,我曾经备份同一个1.8T的数据库到磁盘,在不同的存储上用过2小时,也用过10小时。

3、expdp毕竟是新工具,因此和exp的区别很多,不好一两句概括,如有需要,卜销可以去看官方的手册或者直接pm我,我在线。

exp备份和rman备份的区别有:

1、rman是物理备份,expdp是逻辑备份,我觉得做了rman就没必要做expdp备份了。优缺点见下图:

2、exp类似冷备份, 你只能够恢复到某一点。而rman的话,需要开启归档,那样就可以绝散进行无数据丢失的恢复。

详细点说就是:

在野宏裂不开归档日志的情况下,Oracle数据库的备份只能依赖exp命令(逻辑备份)导出数据文件(注意:不包括日志文件以及控制文件等),导出的所有数据仅仅以一个大文件的方式来存放,但是这种备份容易导致丢失数据。举个例子:如果5号晚上进行了exp数据导出,但是在6号的运行过程中发生宕机,数据丢失,这个时候从5号备份后一颂闭直到6号宕机前的数据将全部丢失。所以采用exp方式备份数据还是存在很大风险的。

另一种方式就是使用Oracle自带的备份工具rman。一次rman备份(物理备份)的全过程如下:

因为使用rman备份不会产生数据丢失的情况,所以必须有一个全备份的文件,使用rman需要先进行一次全备份,相当于将当前数据库里面的所有文件以及日志都全盘拷贝一份到备份介质中,然后通过归档日志(实时更新的)的记录看每个进程都对数据库做了哪些修改,只要保留了一份物理备份以及物理备份之后的所有归档日志,就能够将数据库恢复到宕机前一刻的状态,将数据丢失降到最低。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12165382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存