ORACLE 执行Recover Database时,数据文件的STATUS

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:[email protected]

 

执行RECOVER DATABASE 时,想修复数据文件的STATUS的话,就需要online。Offline的数据文件无法修复

 

[适用版本]

所有版本

 

[适用平台]

所有平台

 

[详细内容]

通过执行RECOVER DATABASE语句,对于restore完成的数据文件应用完成归档的归档REDO日志,ONLINE REDO日志的信息。

 

恢复对象的数据文件需要全部online。Offline的文件无法恢复。

 

因此通过以下方法来恢复。

 

-restore数据文件

-mount数据库。

-查看是否所有数据文件完成online。

select name, status from v$datafile;

-没有全部online时请执行以下命令。

alter database datafile ‘datafile_name’ online;

 

 

例)/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf が破損したため、

从备份中restore后进行以下工作。

 

SQL> alter database datafile

2  ‘/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf’

3  offline;

 

Database altered.

 

SQL> recover database;

ORA-00283: recovery session canceled due to errors

ORA-00264: no recovery required

 

归档日志中有如下所示的记录。

 

Thu Jan 16 14:01:01 2003

alter database datafile

‘/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf’

offline

Thu Jan 16 14:01:01 2003

Completed: alter database datafile

‘/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf’

Thu Jan 16 14:01:07 2003

ALTER DATABASE RECOVER  database

Media Recovery Start

Media Recovery failed with error 264

ORA-283 signalled during: ALTER DATABASE RECOVER  database  …

 

之后查看v$datafile的话STATUS如下所示。

 

SQL> select name, status from v$datafile where name

2  like ‘%users01.dbf’;

 

NAME                                                              STATUS

—————————————————————– ——-

/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf     RECOVER

 

无论是否执行RECOVER DATABASE命令,因为文件脱机,所以状态都会变成recover

 

然后将users01.dbf脱机后再次进行恢复。

 

SQL> alter database datafile

2  ‘/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf’

3  online;

 

Database altered.

 

SQL> recover database;

ORA-00279: change 1161989 generated at 01/14/2003 16:12:40 needed for thread 1

ORA-00289: suggestion :

/home/ora920/app/oracle/product/9.2.0/oradata/pri/archive/1_5291.dbf

ORA-00280: change 1161989 for thread 1 is in sequence #5291

 

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

auto

 

Log applied.

Media recovery complete.

 

SQL> select name, status from v$datafile where name

2  like ‘%users01.dbf’;

 

NAME                                                              STATUS

—————————————————————– ——-

/home/ora920/app/oracle/product/9.2.0/oradata/pri/users01.dbf     ONLINE

 


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *