rman试用点滴

1.热备份

1)全备份
c:/>rman target "username/password@SID"
--RMAN performs automatic log switches at the end of any backup or copy operations

run{
    allocate channel c1 type disk format 'D:/oracle/oradata/SID/archive/full_%d_%T_%U';
    backup (database  include current controlfile);
}
         注意:rman在备份时,会首先备份CF(其中包含有备份集的信息),然后对数据库进行备份。而我们没有使用catalog进行备份恢复,我们用的是CF,所以问题出现了,CF比备份集旧!所以不能恢复数据库!所以如果采用上述备份方法的话,可以备份两次,恢复时使用备份2的控制文件,其他使用备份1的。
否则还原时出现以下错误:ORA-19505: 无法识别文件。
        或者,no catalog模式下采用如下方式备份(再备份数据库结束后备份CF)!
run {
allocate channel Channel1 type disk format 'D:/ORACLE/ORADATA/SID/full_%d_%T_%U';
backup database;
backup current controlfile;
}


2)归档日志备份

sql 'alter system archive log current';
run{
    allocate channel c1 type disk format 'D:/oracle/oradata/SID/archive/arclog_%d_%T_%U';
    backup (archivelog  all  delete  input);
}


2.过期的备份应该通过rman来删除.若通过操作系统删除了过期的备份,要在rman中做如下处理:

1)热备,不要backup (archivelog all delete input):

2)查看
list copy
list backup

3)同步并删除过期的备份集和归档日志(可能多次执行)
change archivelog all crosscheck;
delete obsolete (或者delete noprompt obsolete);

crosscheck backup;
delete expired backup;

注意:中文状态下,crosscheck返回的信息可能不正确,这是oracle的bug,通过设置客户端环境变量在英文状态下操作较好(set lang=American_America.zhs16gbk,只是改变显示语言而不是更改字符集

差异增量是备份上级或同级备份以来变化的块,累计增量是备份上级备份以来变化的块

RMAN 的整个恢复过程可以分为还原(restore)与恢复(recover),他们在含义上是有很大差别的,一个是指物理意义的文件的还原与拷贝,一个是指数据库一致性的恢复,所以,正确的理解这两个概念,有助于正确的恢复数据库

3.其他

1)修改默认的备份路径,一次搞定,用configure来改变default 值
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT  'D:/oracle/oradata/SID/archive/%d_%T_%U' MAXPIECESIZE 30G;
2)修改默认的备份路径,当次有效,指定format参数
backup  format 'D:/oracle/oradata/SID/archive/%d_%T_%U' ...  
3)自动备份控制文件
CONFIGURE CONTROLFILE AUTOBACKUP ON
4)全备份几天后继续备份归档日志文件(注意,如果不分配通道oracle可能采用并行方式,将导致OSD-04010错误)
run{
    allocate channel c1 type disk format 'D:/oracle/oradata/SID/archive/%d_%T_%U';
    backup archivelog all ;
}
5)删除指定的备份集与备份片
RMAN> DELETE BACKUPPIECE 101;
6)删除过期或者废弃了的备份
RMAN> DELETE EXPIRED BACKUP;
RMAN> DELETE NOPROMPT OBSOLETE;
7)删除指定的备份归档
RMAN> DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 300;
8)最好定期执行数据库全备份,每天执行归档日志的备份

4.rman 将备份在另外一台机子B上恢复的步骤

1)将B的oracle启动到nomount
sqlplus> shutdown immediate
sqlplus> startup nomount

2)还原spfile,controlfile
RMAN> Restore spfile to 'D:/oracle/ora92/database/SPFILESID1.ORA' from 'D:/oracle/oradata/GPS/Archive/FULL_SID_20061128_10I3H2S7_1_1'
因为SPFILESID正在使用,所以fpfile还原成SPFILESID1,否则无法还原;
然后关闭数据库,将原来的SPFILESID.ORA作个备份,再将文件SPFILESID1.ORA改名为SPFILESID.ORA,重新
RMAN> Restore controlfile from 'D:/oracle/oradata/SID/Archive/FULL_SID_20061128_10I3H2S7_1_1'

3)生成密码文件
D:/oracle/ora92/bin>orapwd file=D:/oracle/ora92/database/PWDSID.ora password=mypassword entries=10

4)启动到mount
sqlplus> shutdown immediate
sqlplus> startup mount

5)还原并恢复数据库
RMAN> restore database
RMAN> recover database
RMAN> sql 'alter database open resetlogs'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值