问题描述:
SQL> show user;USER is "SYS"SQL> recover datafile 9;ORA-00283: recovery session canceled due to errorsORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'ORA-01157: cannot identify/lock data file 9 - see DBWR trace fileORA-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.trcOracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORACLE_HOME = /u01/oracleSystem name: LinuxNode name: oraclelinuxRelease: 2.6.9-89.ELsmpVersion: #1 SMP Mon Jun 22 12:32:43 EDT 2009Machine: i686Instance name: TESTENV01Redo thread mounted by this instance: 1Oracle process number: 5Unix 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.945ORA-01157: cannot identify/lock data file 9 - see DBWR trace fileORA-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 errorsORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'ORA-01157: cannot identify/lock data file 9 - see DBWR trace fileORA-01110: data file 9: '/u01/oradata/dbtest/qq01.dbf'创建数据文件9
SQL> 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.恢复数据文件9
SQL> recover datafile 9;ORA-00279: change 1645095 generated at 04/26/2012 10:16:59 needed for thread 1ORA-00289: suggestion :/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_54_%u_.arcORA-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 1ORA-00289: suggestion :/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_55_%u_.arcORA-00280: change 1646743 for thread 1 is in sequence #55ORA-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 1ORA-00289: suggestion :/u01/flash_recovery_area/DBTEST/archivelog/2012_04_26/o1_mf_1_56_%u_.arcORA-00280: change 1646866 for thread 1 is in sequence #56ORA-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 ~]$
说了当没说。。。。