设为首页 收藏本站
查看: 1349|回复: 0

[经验分享] RMAN>干掉热备份+全局备份还原#OCP试验2#

[复制链接]

尚未签到

发表于 2015-6-16 12:52:22 | 显示全部楼层 |阅读模式
  继续上个RMAN>干掉热备份#OCP试验1#时候全局备份的错误
  RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 01/12/2013 10:01:34 上) 失败
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4039114752 限制中)
继续执行其他作业步骤, 将不重新运行失败的作业
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 12-1月 -13
通道 ORA_DISK_1: 已完成段 1 于 12-1月 -13
段句柄=C:\APP\DELL\FLASH_RECOVERY_AREA\NCBETA\BACKUPSET\2013_01_12\O1_MF_NCSNF_TAG20130112T095737_8H
1JZZSD_.BKP 标记=TAG20130112T095737 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 01/12/2013 10:01:34 上) 失败
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4039114752 限制中)
  1,查看和删除备份(因为之前的没有成功)
  RMAN> list backup;
DSC0000.png
  RMAN> delete backup;
DSC0001.png
  2,配置rman的备份设置(控制文件和存放路径)
  RMAN> show all;
  RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;
  备份的时候自动带上控制文件

  RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\xs\rmanback\controlback\%F';
上面的控制文件备份存放路径,%F是自动名称

  RMAN> configure channel device type disk format 'd:\xs\rmanback\%d_%u_%t';
除去控制文件(spfile文件)之外的数据和归档存放路径设置,上面show all没有这个参数,需要自己手工录入
  3,向scott.t1插入一条新的数据‘before rman’
  SYS@ncbeta>insert into scott.t1 values(6,'be rman');
  commit之后创建检查点
  SYS@ncbeta>alter system checkpoint;--数据写入数据文件
alter system checkpoint的作用
  1.checkpoint 由ckpt进程触发oracle进行checkpoint动作,将data buffer中的脏块(已经写在redo里记录但是没有写到datafile里的)的内容写入到data file里并释放站用的空间,由dbw后台进程完成,并修改controlfile和datafile的scn.
一般手工执行是由于要删除某个日志但是该日志里还有没有同步到data file里的内容,就需要手工check point来同步数据,然后就可以drop logfile group n.
  4,rman下执行完全备份
  RMAN> backup database plus archivelog; --加上归档日志
  如果报表空间损坏,执行set maxcorrupt fro datafile xx to 10 --xx是report schema时候前面数据文件的序号

  数据文件和归档日志产生了三个文件(合计大小7.1G,比起exp产生的2G大多了),9M左右的控制和参数文件

  5,再次插入一下数据
  SYS@ncbeta>insert into scott.t1 values(7,'af rman');

  insert 之后,没有写检查点
  6,copy好联机日志之后(尽量copy,后来插入的af rman在里面),dbca删除数据库ncbeta

  

  spfile 也会删除

  7,创建实例ncbeta
  C:\Documents and Settings\dell>oradim -new -sid ncbeta
  8,rman下连接

  nomount状态下启动(检测参数文件spfile)

  恢复spfile(备份数据和controlfile在一个文件下)
  RMAN> restore spfile from 'D:\xs\rmanback\controlback\C-3184901590-20130112-00';

  9,查看恢复好的spfile文件,创建下一步恢复需要的目录(和手工建库差不多)
  我没有复制另外实例的目录,直接新建空的,不知道是否有问题



  10,上面的startup nomount并没有成功,只是“欺骗”oracle,因此这里执行shutdown immediate 然后startup nomount(真正的成功)

  恢复控制文件
  RMAN> restore controlfile from 'D:\xs\rmanback\controlback\C-3184901590-20130112-00';

  11,启动mount状态恢复数据文件(mount下检查controlfile,上面已经恢复)

  RMAN> restore database; --还原数据库(相当于imp),通过上面的控制文件和参数文件,oracle已经知道了rman下的备份,这里还原不需要指定路径

  
  12,将之前copy的联机日志copy到数据文件夹

  执行recover(恢复)操作,报错了
  未处理数据文件 11, 因为文件是只读的
  RMAN-03002: recover 命令 (在 01/12/2013 13:59:45 上) 失败
RMAN-06054: 介质恢复正在请求未知的线程 1 序列 177 的归档日志以及起始 SCN 3345287
  1  上面说了, 恢复到当前在线日志,则不会报此错误。
2  可以查看归档日志的结束日期,粗略估计出要恢复的时间点。
3  有无问题,自己才知道,你可以先 READ ONLY 打开,若发现恢复不足,再MOUNT,继续往前恢复。
  刚才看了,原来测试的时候,我把日志文件数据文件和控制文件一起删除了,
当前那个日志的redo是丢失了,所以恢复的时候用recover database才会提示找不到序列。

  执行重做日志文件
  RMAN> alter database open resetlogs;
  红色箭头是重做日志之后产生的文件。


  查询表t1,因为上面的recover失败,后面insert的数据没有找到,下次课问题老师

   15:10 更新:
  网上查询到:1、RMAN> RESTORE DATABASE CHECK READONLY;
对于存在只读表空间的情况,如果我们是在有效备份之前把表空间设置为只读的情况,RMAN会跳过只读表空间的恢复。
  我查询到我果然有一个表空间是只读的

  alter tablespace TBS  read write;
  修改之后就onlie了,不是直接alter tablespace TBS onlie(这是联机);
  重新操作
  并且在restore database之前copy redolog
  这次成功了

  完全恢复

  
   2013-01-23 10:33:46 更新:
  RMAN备份归档日志的注意要点
  backup database plus archivelog delete all input; --备份数据库

  backup archivelog all delete all input;--all delete all input是对数据库归档日志进行备份
  delete input和delete all input的区别
  (1)如果归档日志目录只是一个时,即归档时只有一份归档日志时,上面的两种写法是没有区别的;
  (2)如果归档日志目录有多个时,即归档时保存有多份归档日志时,那么:
  delete input当备份了归档日志后,会删除第一个归档目录(如:log_archive_dest_1)下的所有归档日志;
  delete all input则在备份了归档日志后,所有所有log_archive_dest_n中的备份的archivelog都会被删除。
   14:02:34 更新删除操作:
  》rman里面删除指定日期的备份
  delete backup completed after "to_date('2013-01-22','yyyy-mm-dd')";
  
delete backup completed after 'sysdate-1';
这里可以用before,after,between,删除之后备份的物理文件也一并删除。

  也可以
  首先物理删除 然后再
RMAN> crosscheck archivelog all;
RMAN> delete expried archivelog all;
  》rman备份时候增加tag,但是数据文件和controlfile并没有tag
  RMAN> backup database plus archivelog tag=xxx;
  单独列出tag xx的备份
  RMAN> list backup tag=xx;
  》plus archivelog的rman备份第一步就是把当前联机日志归档

  备份时候的很小归档文件

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-77962-1-1.html 上篇帖子: OCP 11g 第一章练习 下篇帖子: EXPDP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表