如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
没有备份的Datafile被误删除时的修复方法。
(前提条件:归档日志模式)
[詳細]
使用归档日志模式下,制成的数据文件,如果从制作完成到现在为止的所有offline REDO日志存在的话,即使没有备份也可以修复。
<顺序>
- 对于物理不存在的datafile制成空的datafile
SVRMGR> alter database create datafile 数据文件名’;
- 执行介质恢复
SVRMGR> recover datafile ‘数据文件名’ ;
- 将Datafile ONLINE
SVRMGR> alter database datafile ‘数据文件名’ online;
<<执行例>> ※ 用于查看时,会记录 v$datafile_header的输出。
- 发生错误
SQL> select * from test_tab;
select * from test_tab
*
错误行: 1: 发生了错误。
ORA-00376: 文件: 无法读入6。
ORA-01110: 数据文件: 6 :
/home/app/oracle/product/8.0.5/dbs/test1.dbf
SQL> select name,status,error,recover from v$datafile_header
2> where file#=6;
NAME STATUS
———————————————————— ——-
ERROR REC
—————————————————————- —
OFFLINE
FILE NOT FOUND
- 对物理上不存在的datafile执成空白datafile
SQL> alter database create datafile
2>’/home/app/oracle/product/8.0.5/dbs/test1.dbf’;
变更数据库。
SQL> select name,status,error,recover from v$datafile_header
2> where file#=6;
NAME STATUS
——————————————————— ——-
ERROR REC
————————————————————- —
/home/app/oracle/product/8.0.5/dbs/test1.dbf OFFLINE
YES
SVRMGR>!ls -l /home/app/oracle/product/8.0.5/dbs/test1.dbf
-rw-rw—- 1 ora805 dba 12288 3月 28日 13:49 /home
/app/oracle/product/8.0.5/dbs/test1.dbf
- 执行介质修复
SVRMGR> recover datafile
2>’/home/app/oracle/product/8.0.5/dbs/test1.dbf’ ; — 2
媒介修复完成。
SVRMGR> select name,status,error,recover from v$datafile_header
2> where file#=6;
NAME
STATUS ERROR REC
—————————————————————–
——- —————— —
/home/app/oracle/product/8.0.5/dbs/test1.dbf
OFFLINE NO
选择1行。
- 将Datafile ONLINE
SVRMGR> alter database datafile
2>’/home/app/oracle/product/8.0.5/dbs/test1.dbf’ online;
处理语句。
SVRMGR> select name,status,error,recover from v$datafile_header
2> where file#=6;
NAME
STATUS ERROR REC
—————————————————————–
——- —————— —
/home/app/oracle/product/8.0.5/dbs/test1.dbf
ONLINE NO
选择1行。
SVRMGR>!ls -l /home/app/oracle/product/8.0.5/dbs/test1.dbf
-rw-rw—- 1 ora805 dba 104448 3月 28日 13:53 /ho
me/app/oracle/product/8.0.5/dbs/test1.dbf
[补充事项]
DB终止时,删除了数据文件的话,启动时就会发生以下错误。
SVRMGR> startup
启动了Oracle实例。
所有系统global区域 4857944byte
Fixed Size 49240byte
Variable Size 4325376byte
Database Buffers 409600byte
Redo Buffers 73728byte
数据库mount完成。
ORA-01157: ????????: 6???????????????????????????
ORA-01110: ????????: 6 : /home/app/oracle/product/8.0.5/dbs/test1.dbf
这种情况也能以同样的方法修复。
SVRMGR> alter database create datafile ‘/home/app/oracle/product/8.0
.5/dbs/test1.dbf’;
语句处理完成。
SVRMGR> recover datafile ‘/home/app/oracle/product/8.0.5/dbs/test1.dbf’;
介质修复完成。
SVRMGR> alter database open;
语句处理完成。
Comment