您的位置:首页 > 数据库 > Oracle

Oracle 备份恢复 31个实验 1-6

2012-10-07 12:23 239 查看

备份恢复实验之一(第一个实验会稍微细一点,有些步骤类似的下一个实验就不再详细操作)

USERS表空间在线损坏(在线损坏就是数据库open后的损坏)

特别提示:为什么是USERS?不是其他表空间?这里只是举一个例子,就是某个放有数据的表空间即可,没有为什么。坏多个行不行?当然可以,这里只是做实验,生产环境就是这31个实验的结合,我们做实验当然是由简入深。

首先,确保数据库是open的状态。只要是“X”,就说明是open状态。

如图:



方法有多种,我全部演示一遍。

第一种:手工热备USER表空间,用HR用户在其上建一张表,并插入一些值。之后USERS表空间在线损坏。

手工热备USERS参考下图:



具体步骤:1.alter tablespace users begin backup;(以sys来做)

2.cp /u01/app/oracle/oradata/orcl/users01.dbf /home/oracle/user01_back.dbf

3.alter tablespace users end backup;

(手工热备很耗性能,cp完后,应快速end
backup,特别是在生产环境中!)

4.conn hr/hr

5.create table test1a(a varchar2(10))tablespace users;

6.insert into test1a values(‘liujie’);

7.commit;

模拟USERS表空间的损坏,先找到USERS表空间所在位置。

将它删除,即模拟它的损坏,生产环境rm –rf是非常危险的,应用

rm –i,就是在询问一遍,敲下y再删除。Linux不是windows,删了就是删了,回不来了,这里不讨论特殊的恢复工具。所以,备份重于一切啊,哥们!如图:



接下来,我们再查询一下hr.test1a这张表。竟然还在,表空间不是被删除了吗?OK,回答你!他缓在内存中了,要是windows这张表早不在了。清内存,生产环境禁止发这样的命令!!!如图:



再查,表没了。



OK,开始恢复。如图:



友情提示(恢复前一定要先将损坏的USERS表空间OFFLINE或者OFFLINE
IMMEDIATE(WINDOWS只能OFFLINE
IMMEDIATE,即就是不写“脏块”。)



再查,表回来了,恢复成功!



第二种:用rman热备的表空间恢复(什么?rman啥时热备过?看我之前的准备工作吧,那个时候就热备过了,大不了现在再热备一次啊)

具体步骤请看下图:













第三种:用手工冷备的表空间恢复(手工冷备一开始就做过了,没事啊,大不了现在关库,再手工冷备一下,再开库也行嘛)









第四种:用rman冷备的表空间恢复

首先rman如何冷备呢?

看图:



其次,可以采用偏方,之前不是做过手工的冷备吗?将它注册进rman不就成了rman的冷备了嘛~看图:









有人就想问了,你怎么知道它用的是冷备的备份?回答你,默认RMAN都是用最新的备份,还有,你看上图数据的路径,man_recovery_area不就是我们冷备的路径嘛~



之后的实验只采用一种方式,要采用其他方式可参考实验一,方法都是类似的。

备份恢复实验之二

下线USERS表空间损坏(就是USERS表空间OFFLINE的时候损坏)

已经做过了第一个实验了,想想看这个实验跟上一个实验在恢复上有什么差别?

这个实验我的理解是这样,我们做OFFLINE后再备份USERS表空间,然后再损坏。这样的区别就是,无需再recover,因为是下线坏,没有走日志,自然无需再recover一遍,当然你想再recover的话没人阻止你,只是不需要。然后再READ
WRITE,再查数据都在!你不这样理解也行,当然恢复过程跟上一个实验相同,这样就没有区别性了,明白?

可以按如下图的方法做:(尽量都用rman来做这样的实验,rman是一种趋势,不是趋势科技~)













备份恢复实验之三

只读USERS表空间损坏

恢复过程与实验二一模一样,这里只是做一个区分,让你明白他们的情况是一样的。











无需recover ,可直接online。



备份恢复实验之四

SYSTEM表空间在线损坏(与USERS表空间在线损坏一样,把它单独列出来是告诉你,SYSTEM表空间非常的重要!它上面放有数据字典信息!而且还有一点非常重要的,SYSTEM表空间无法OFFLINE或是OFFLINEIMMEDIATE,为什么?因为它非常重要,数据字典缓在内存中,能让你下线吗?当然不行,所以恢复过程需要经历一次重启到MOUNT状态,这就是与前面的实验最大的差别!!!)





不能IMMEDIATE就只好SHUTDOWNABORT了。



想尝试开启,看吧,开不起来了。





无需再ONLINE再开,因为SYSTEM本来就无法OFFLINE,它恢复完就是ONLINE的。



备份恢复实验之五

SYSTEM表空间离线损坏(上面不是说无法离线,而本实验是要离线损坏,怎么办?关机不就是离线嘛~)













备份恢复实验之六

tbsocp05_test没有备份的表空间损坏(神奇吧,这超出了你的想像,没有备份也能恢复!关键在于日志,特别是在线日志必须要在,否则神奇的事也无法发生,备份重于一切!)





额~折行~将就着看一下~



看出TBSOCP05_TEST是DATAFILE
6。







如果没有在线日志,这样的恢复不可能成功,Thomas Kyte来了也没用,所以,备份重于一切!不是“你一定要备份”,而是“你为什么不备份”!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: