ora-00283

问题描述:SQL> show user;
USER is "SYS"
SQL> recover datafile 9;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'
查看BDUMP中DBWN进程的跟踪文件出现以下信息
[root@oraclelinux bdump]# more testenv01_dbw0_6158.trc 
/u01/admin/dbtest/bdump/testenv01_dbw0_6158.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/oracle
System name:    Linux
Node name:      oraclelinux
Release:        2.6.9-89.ELsmp
Version:        #1 SMP Mon Jun 22 12:32:43 EDT 2009
Machine:        i686
Instance name: TESTENV01
Redo thread mounted by this instance: 1
Oracle process number: 5
Unix process pid: 6158, image: oracle@oraclelinux (DBW0)

*** 2012-04-26 12:00:04.946
*** SERVICE NAME:(SYS$BACKGROUND) 2012-04-26 12:00:04.945
*** SESSION ID:(167.1) 2012-04-26 12:00:04.945
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'
处理:通过重建数据文件来处理,先看下直接恢复的情况
SQL> select file#,status from v$datafile;

     FILE# STATUS
---------- -------
         1 SYSTEM
         2 ONLINE
         3 ONLINE
         4 ONLINE
         5 ONLINE
         6 ONLINE
         7 ONLINE
         8 ONLINE
         9 RECOVER

9 rows selected.

SQL> recover datafile 9;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'
创建数据文件9SQL> alter database create datafile 9;

Database altered.

SQL> select file#,status from v$datafile;

     FILE# STATUS
---------- -------
         1 SYSTEM
         2 ONLINE
         3 ONLINE
         4 ONLINE
         5 ONLINE
         6 ONLINE
         7 ONLINE
         8 ONLINE
         9 RECOVER

9 rows selected.
恢复数据文件9SQL> recover datafile 9;
ORA-00279: change 1645095 generated at 04/26/2012 10:16:59 needed for thread 1
ORA-00289: suggestion :
/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_54_%u_.arc
ORA-00280: change 1645095 for thread 1 is in sequence #54


Specify log: {=suggested | filename | AUTO | CANCEL}

ORA-00279: change 1646743 generated at 04/26/2012 10:59:35 needed for thread 1
ORA-00289: suggestion :
/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_55_%u_.arc
ORA-00280: change 1646743 for thread 1 is in sequence #55
ORA-00278: log file
'/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_54_7skgjqyf_.arc'
no longer needed for this recovery


Specify log: {=suggested | filename | AUTO | CANCEL}

ORA-00279: change 1646866 generated at 04/26/2012 11:01:15 needed for thread 1
ORA-00289: suggestion :
/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_56_%u_.arc
ORA-00280: change 1646866 for thread 1 is in sequence #56
ORA-00278: log file
'/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_55_7skgmvm2_.arc'
no longer needed for this recovery


Specify log: {=suggested | filename | AUTO | CANCEL}



Log applied.
Media recovery complete.
让数据文件ONLINE
SQL> alter database datafile 9 online;

检测数据
SQL> conn qq1/qq1;
Connected.
SQL> select * from t;

        ID NAME
---------- ---------------
         0 qq1
         1 qq2
         2 qq3
         3 qq4
         4 qq5

SQL> 

备注:
[oracle@oraclelinux ~]$ oerr ora 00283
00283, 00000, "recovery session canceled due to errors"
// *Cause: An error during recovery was determined to be fatal enough to end
//         the current recovery session.
// *Action: More specific messages will accompany this message. Refer to
//          the other messages for the appropriate action.
[oracle@oraclelinux ~]$ 
说了当没说。。。。
请使用浏览器的分享功能分享到微信等