几种场景的数据库恢复

先简单说明两种用户管理的备份方式

1.冷备份

shutdown immediate/normal/transactional

copy/cp备份所有的文件

alter database open   


2.热备份--必须在归档模式下

alter tablespace tbs_name begin backup

备份(copy/cp)tbs_name表空间对应的所有文件

alter tablespace tbs_name end backup

或者

alter database datafile 文件号 或 '' begin backup

备份对应的数据文件

alter database datafile 文件号 或 '' end backup

下面具体说明几种场景的恢复

1)关闭数据库的恢复

a)系统表空间坏了,会自动关闭数据库

b)undo表空间坏了,会自动关闭数据库

c)所有数据文件坏了

这三种情况只能关闭数据库恢复,同时可以考虑:是不是归档模式,有没有归档模式的备份,否则就有数据丢失了

模拟: shutdown immediate,删除system表空间对应的文件

startup; --报错,查看状态为mount,select status from v$instance

select * from v$backup --可以查询哪个文件丢失(status=active)

restore(copt/cp)丢失的文件

--在mount状态下执行

recover datafile 文件号 或 '文件名'

alter database open

2)Open 状态下数据文件恢复,必须在归档模式下

a)某个普通数据文件损坏 b)shutdown以后出现普通文件损坏

模拟a: 创建一个表空间test,备份,alter system switch logfile

alter tablespace test offline

删除test对应的文件

--查看那些文件需要恢复

select * from v$recover_file;

--字段ERROR,'OFFLINE NORMAL'表示不要恢复,NULL表示未知原因,

'FILE NOT FOUNT'等

select * from v$backup; //Status = Active

--不用关闭数据库,直接将备份文件复制到数据文件目录下

recover tablespace test;

alter tablespace test online;

b)先启动,使坏了的表空间offline,再恢复

3)没有任何备份的恢复

条件:必须是在归档模式起用后再创建的文件和所有之后的归档都存在

模拟:已起用归档模式

create tablespace test datafile '.... est.dbf' size 5M;

create table t(id int, mc varchar2(10)) tablespace test;

insert into values(1,'test');

commit;

alter system switch logfile;

alter system switch logfile;

--多做几次,确保归档

--破坏数据文件,没有备份

alter tablespace test offline;

删除文件 test.dbf

alter tablespace test online;

报错

--恢复

alter database create datafile 文件号 或 '文件名'

recover datafile 文件号 或 '文件名'

--或recover tablespace test;

alter tablespace test online

--如果是drop了,就只能做不完全恢复了(时间点等)

4)将文件移到另一个磁盘

只要rename (比如文件存放的磁盘损坏时使用)

alter tablespace test offline

将备份的文件复制到另一个地方

alter database rename file '文件名' to '新文件夹文件名'

recover datafile 文件号 或 '文件名'

alter tablespace test online

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

转载于:http://blog.itpub.net/35489/viewspace-84777/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值