rman_copy和基本命令记载

最近这两天终于在linux上装好了oracle 10g,折腾了好多次,有点像自己第一次用pl/sql连接数据库的时候,囧得很啊!不过其中的过程自己倒是对linux的文件目录和vi更加熟悉了。接下来还要配置一下racdg的环境,估计又得花一番功夫了!

今天又看了eygle的循序渐进,重新翻看了rmancopy备份恢复,试试手了!

首先修改一下system01.dbf的位置,方面后面测试

Shutdown immediate

Startup mount

Alter database rename file to ‘d:system01.dbf’;

然后再os上复制数据文件1到的d:、是system.dbf位置

Host rman target /

Rman>backup as copy datafile 1 format ‘d:system01.dbf’

对数据文件1进行一次copy镜像的备份

当然copy datafile 1 to ‘d:system01.dbf’也是可以的,不过对于在oracle 10G中对于全库镜像数据库则Rman>backup as copy database此时copy database语法上存在错误的,个人一般都是backup as copy写法。

数据文件1备份完全成后

Rman> shutdown abort;

Rman>startup

由于删除数据文件1导致数据库无法open

Nocatalog模式下数据库的全部备份记录存储在controlfile中,利用copy的备份集来恢复吧

Rman>run{

set newname for datafile 1 to ‘d:oracleproduct10.2.0oradatasystem01.dbf’;

restore datafile 1;

switch datafile all;

recover datafile 1;

}

其中的set newname for datafile to ‘’然后switch datafile alldatafile 1进行了控制文件的更新,把数据文件rename到了一个新的位置。

由于之前个人把system01.dbf转移到了d:system01.dbf,此时恢复完毕后查看system01.dbf存储在‘d:oracleproduct10.2.0oradatasystem01.dbf’oracle会自动选择最新的备份来restore。(可以查看alertsid.log查看具体的详细信息,oracle会选择具体用的备份集来恢复)

前段时间在windows上创建了asm实例的数据库。本机数据库test是建立在asm磁盘组实例的数据库。试着模拟一次asm磁盘组的故障来实行恢复。

首先在asm实例的数据库orcl做一个数据文件system的备份,然后强制关闭数据库

set oracle_sid=test

rman target /

backup as copy datafile 1;

shutdown abort

进入asm磁盘实例

Set oracle_sid=+ASM

Sqlplus / as sysdba

Alter diskgroup dggroup1 drop file ‘+DGGROUP1/test/datafile/system.256.764084429’

好了在磁盘组已经把datafile 1 drop掉了。

回到orcl库来恢复吧

Set oracle_sid=test

Rman target /

Run{

Startup mount;

Restore datafile 1;

Recover datafile 1;

}

Alter database open

到此asm磁盘组的数据库恢复完毕。

参照上面的恢复过程asm磁盘组数据库和普通的数据库没有多大区别。

接触rman也有一段时间了,有些list backup copy的命令顺便在这里写一下。

List 命令:

List backup of database

List backup of datafile 1

List backup of controlfile

列出关于数据文件的全部备份信息,此时列出的都是是备份集

List copy of database

List copy of datafile 1

。。。

列出关于数据文件的全部镜像信息,此时列出的是镜像

Copy镜像备份

Backup as copy database

Backup as copy datafile 1 ||format ‘’

Backup as copy current controlfile ||format ‘’

Backup as copy archivelog all;

。。。

此时copy的镜像备份在restore时是优先与backup产生的备份机的,利用备份集会有额外的开销,而且结合rmanswitch datafile all可以实现alter database rename file实现数据文件重新定位。

Backup备份

Backup database

Backup datafile 1 to ‘’

Backup current controlfile to ‘’

。。。

Crosscheck 命令

Crosscheck backup

Crosscheck backup of database

Crosscheck backup of controlfile

Crosscheck copy of database

Crosscheck copy

。。。。

列出在os上已经删除的备份集并置为expired,因为有些备份集在os上已经删除,但是在rman的备份目录中还是存在,此时需要crosscheck backup置为expired过期的然后delete expired backup

全备份的一个脚本

Run{

Allocate channel d1 device type disk

Backup database

include current controlfile

Plus archivelog all format ‘ /oracle_data/oraback/full_%d_%T_%S‘delete all input;

Release channel d1;

}

此时上述的过程1 归档current log 2 备份归档然后全备份库和控制文件 3 再次归档当前日志备份没有备份archivelog

(生产库中的archivelog和备份集应该存储和数据文件的不同磁盘,而且也应该做多份冗余备份)

Archivelog的命令

列出大于等于序号40archivelog

List backup of archivelog from sequence 40

List backup of archivelog low sequence 40

List archivelog from sequence 40

列出小于等于序号40的日志

List backup of archivelog until sequence 40

List backup of archivelog high sequence40

列出等于40的日志

List archivelog sequence sequence 40

删除7天前的archivelog

Delete archivelog from time ‘sysdate-7’

Show all

其中的configure retention policy to redendancy 1默认冗余度为1rman备份策略认为最后最新一个是rman应该使用和保留的备份集,其余的都认为是oblosote的,实际rman恢复过程中也会使用最新的一次备份来做恢复。

Report obsolete

Report rman备份策略中认为的过期备份集

Delete obsolete

删除rman备份策略中认为的过期备份集

罗嗦了半天了,就自己是初学者来说,oracle确实有太多的未知,不过又很多点东西真的还是要自己多多去尝试,由于是个人本本无法实验安装asmlinux上安装rac和布置dg环境,环境只是客观的,要想测试自己装个虚拟机两个instance设置一下网络rac不就可以弄了吧,

Dg不也一样,asmwindows上单机都可以设置,所以经常说:别为自己找借口,只要你想学爱学就去实验吧!不能说成功就实际的来说薪水待遇只是迟早的事,用自己所学到的东西,而且又是兴趣所在还能取得一份不错的薪水。可能几个月后再看这篇blog会觉得里面还有很多知识点可以写,量变形成质变,加油吧!飞鱼!

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25362835/viewspace-1055803/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25362835/viewspace-1055803/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值