非归档模式下恢复某个表空间
By  洛基 发表于 2007-11-30 11:29:00 

非归档模式下恢复某个表空间:
测试目的只恢复USER表空间数据到备份时的状态:
SQL> create table table_recover (a number)
SQL> tablespace users

SQL> insert into table_recover values (1);
SQL> insert into table_recover values (2);
SQL> commit;
SQL> select * from table_recove;
A
-----------
1
2

SQL> shutdown immediate;

##############################################################################
这里,先把system、undo、users、controlfile拷备一份到A目录
##############################################################################

SQL> startup

SQL> insert into table_recover values (3);
SQL> insert into table_recover values (4);
SQL> commit;
SQL> select * from table_recove;
A
-----------
1
2
3
4
sthudown immediate;

##############################################################################
删除所有数据文件,REDO,controlfile,UNDO,把A目录下的system、undo、users、
controlfile拷备回来
##############################################################################

SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL>
SQL> alter database backup controlfile to trace;

数据库已更改。

SQL> alter database open
  2  ;
alter database open
*
ERROR 位于第 1 行:
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: 'E:\ORACLE\ORADATA\SKY\CWMLITE01.DBF'
SQL>
SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\CWMLITE01.DBF' offline drop;

数据库已更改。

SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\DRSYS01.DBF'   offline drop;

数据库已更改。

SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\EXAMPLE01.DBF' offline drop;

数据库已更改。

SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\INDX01.DBF'    offline drop;

数据库已更改。

SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\ODM01.DBF'     offline drop;

数据库已更改。

SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\TOOLS01.DBF'   offline drop;

数据库已更改。

SQL> alter database datafile 'E:\ORACLE\ORADATA\SKY\XDB01.DBF'     offline drop;

数据库已更改。

SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'E:\ORACLE\ORADATA\SKY\REDO01.LOG'


SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

SQL> select * from dual;

D
-
X

SQL> select * from table_recover;

         A
----------
         1
         2

SQL> 

 
阅读全文 | 回复(0) | 引用通告 | 编辑

发表评论:

    大名:
    密码:
    主页:
    标题:

 
站点公告
站点日历
最新日志
最新评论
最新留言
友情链接
站点统计
日志搜索
用户登陆



 
Powered by Oblog.