误删Oracle数据文件的恢复方法(二)

2014-11-24 09:47:10 · 作者: · 浏览: 3
47 26 -> /u01/app/oracle/oradata/prod/disk1/temp01.dbf
lrwx------ 1 oracle dba 64 May 14 22:47 27 -> /u01/app/oracle/oradata/prod/disk3/lmtemp201.dbf
lrwx------ 1 oracle dba 64 May 14 22:47 28 -> /u01/app/oracle/oradata/prod/disk4/lmtemp201.dbf
lr-x------ 1 oracle dba 64 May 14 22:47 29 -> /u01/app/oracle/product/10.2.0/db_1/rdbms/mesg/oraus.msb
lr-x------ 1 oracle dba 64 May 14 22:47 3 -> /dev/null
lr-x------ 1 oracle dba 64 May 14 22:47 4 -> /dev/null
l-wx------ 1 oracle dba 64 May 14 22:47 5 -> /u01/app/oracle/admin/udump/prod_ora_11859.trc
l-wx------ 1 oracle dba 64 May 14 22:47 6 -> /u01/app/oracle/admin/bdump/alert_prod.log
lrwx------ 1 oracle dba 64 May 14 22:47 7 -> /u01/app/oracle/product/10.2.0/db_1/dbs/hc_prod.dat
l-wx------ 1 oracle dba 64 May 14 22:47 8 -> /u01/app/oracle/admin/bdump/alert_prod.log
lrwx------ 1 oracle dba 64 May 14 22:47 9 -> /u01/app/oracle/product/10.2.0/db_1/dbs/lkinstprod (deleted)
[oracle@prod fd]$






\

我们可以清楚的看到 /u01/app/oracle/oradata/prod/disk2/users01.dbf (deleted) 的字样,表示此文件已经被删掉了。

5、进行恢复

通过cp命令,把语句柄拷贝回原来的位置。

cp 24 /u01/app/oracle/oradata/prod/disk2/users01.dbf

此处的24为其给出的编号。

6、进入recovery

执行以下SQL命令:

SQL> alter database datafile 6 offline;

Database altered.

SQL> recover datafile 6;
Media recovery complete.
SQL> alter database datafile 6 online;

Database altered.

SQL>

\

至此,回复完成!

7、测试

我们重新尝试在users 表空间上建立一个table

SQL> create table abcd123 tablespace users as select * from v$instance;

Table created.

SQL> select * from abcd123;

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION STARTUP_T STATUS PAR THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS SHU DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST BLO
---------- --- ----------------- ------------------ --------- ---
1 prod
prod
10.2.0.1.0 16-APR-12 OPEN NO 1 STARTED
ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO

SQL>

\

我们可以发现,建立成功了,说明回复成功,