Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5699389
  • 博文数量: 745
  • 博客积分: 10075
  • 博客等级: 上将
  • 技术积分: 7716
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-29 12:09
文章分类

全部博文(745)

文章存档

2019年(1)

2016年(1)

2010年(31)

2009年(88)

2008年(129)

2007年(155)

2006年(197)

2005年(143)

分类: Oracle

2007-12-03 14:48:56

数据库打开的时候,并且恢复的时候数据库也开启,此时受损的文件不能是system或者undo文件
 
如下操作,都在数据库open时进行
1) SQL> create table scott.com2 (n1 number) tablespace users; 
   SQL> insert into scott.com2 values(1);
   SQL> commit;
   SQL> alter system switch logfile;
 
2) 破坏users01.dbf表空间                                
   我这里采取的办法是将users 表空间offline。
SQL> alter tablespace users offline immediate;  
SQL> select * from scott.com2;
select * from scott.com2
                    *
ERROR 位于第 1 行:
ORA-00376: 此时无法读取文件 8
ORA-01110: 数据文件 8: 'D:\ORACLE\ORADATA\ORA9I\USERS01.DBF'
 
 
3) 恢复
C:\>rman target nocatalog
RMAN> run {
2>  sql "alter tablespace users offline immediate";
3>  set newname for datafile 8 to 'D:\oracle\oradata\ora9i\users01.dbf';
4>  restore tablespace users;
5>  switch datafile 8;
6>  recover tablespace users;
7>  sql "alter tablespace users online";}
SQL>  select * from scott.com2;
        N1
----------
         1
阅读(2065) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~