使用备份控制文件进行恢复(数据文件或表空间)
测试:【使用备份控制文件进行恢复(数据文件或表空间)】
【首先创建一个表空间】
SQL> create tablespace test1 datafile'/u01/oracle/oradata/orcl/test1.dbf' size 20m;
【在表空间里创建一些表】
SQL> conn scott/tiger
Connected.
SQL> create table te2 tablespace test1 as select * from emp;
Table created.
SQL> create table te3 tablespace test1 as select * from emp;
Table created.
SQL> commit;
Commit complete.
【查看表】
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
E1 TABLE
E22 TABLE
USER1 TABLE
TE2 TABLE
TE3 TABLE
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
9 rows selected.
【查看表空间】
SQL> select name from v$tablespace; NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS
TEMP
RMAN_CATA
TEST1
【备份】
SQL> alter database begin backup;
$ cp * /u01/back
SQL> alter database end backup;
【设置时间】
SQL>set time on;
【删除表空间】
14:22:46 SQL>
14:22:46 SQL>
14:22:46 SQL>
14:22:47 SQL> drop tablespace test1including contents and datafiles;
Tablespace dropped.【同时删除了内容和文件】
如果想找回现有的表空间就不能用现有的控制文件了,现有的控制文件没有它的信息,只能用过去的控制文件。
1.关闭数据库
SQL> shutdown immediate;
2.删除所有的数据文件和控制文件【破坏】
$ cd /u01/oracle/oradata/orc
$ rm -f *.dbf
$ rm -f *.ctl
3.复制备份文件中的数据文件和控制文件
$cd /u01/back
$cp *.dbf /u01/oracle/oradata/orcl
$cp *.ctl /u01/oracle/oradata/orcl sqlplus
4.mount 数据库
SQL> startup mount
5.恢复数据库
SQL>recover database until time'2014-04-18:05:26:43'using backup controlfile;
14:40:02 SQL> recover database until time '2014-04-02:14:22:46'using backup controlfile;
ORA-00279: change 961855 generated at 04/02/2014 14:20:36 needed for thread 1
ORA-00289: suggestion : /u01/arch/1_1_843820505.dbf
ORA-00280: change 961855 for thread 1 is in sequence #1
14:40:06 Specify log: {=suggested | filename | AUTO | CANCEL}
/u01/oracle/oradata/orcl/redo01.log
Log applied.
Media recovery complete.
6.打开数据库
14:41:25 SQL> alter database open resetlogs;
Database altered.
7.查看恢复的表空间。
14:42:05 SQL> select name from v$tablespace;
NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS
TEMP
EXAMPLE
TEST1
7 rows selected.
14:42:30 SQL> conn scott/tiger
Connected.
14:44:55 SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
T4 TABLE
EE2 TABLE
T1 TABLE
TE2 TABLE
TE3 TABLE
8.使用备份控制文件进行恢复(数据文件或表空间)成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29509120/viewspace-1145849/,如需转载,请注明出处,否则将追究法律责任。