Oracle 9i數據庫登錄時,提示ORA-01003&ORA-01110,大概意思是數據文件存儲介質損壞。
startup nomount,正常;
alter database mount,也正常;
alter database open,提示如下:
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 1 ??????
ORA-01110: ???? 1: 'E:\ORACLE\ORADATA\JSDSB\SYSTEM01.DBF'
以下是恢復過程的日志,主要看紅色標注的部分:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 1月 7 09:41:58 2012
Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
SQL> conn? / as sysdba
已連接。
SQL> conn system/manager
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
警告: 您不再連接到 ORACLE。
SQL> exit
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 1月 7 09:43:30 2012
Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
SQL> conn / as sysdba
已連接。
SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> startup noount
SP2-0714: 無效的??????? STARTUP 選項組合
SQL> startup nomountORACLE 例程已經啟動。
Total System Global Area? 135338868 bytes
Fixed Size?????????????????? 453492 bytes
Variable Size???????????? 109051904 bytes
Database Buffers?????????? 25165824 bytes
Redo Buffers???????????????? 667648 bytes
SQL> alter database mount? 2? ;
數據庫已更改。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 1 ??????
ORA-01110: ???? 1: 'E:\ORACLE\ORADATA\JSDSB\SYSTEM01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\SYSTEM01.DBF';
完成介質恢復。
SQL> recover tablespace system;
//指數據文件存儲介質出錯ORA-00283: ??????????
ORA-00264: ?????
SQL> recover tablespace system;
ORA-00283: ??????????
ORA-00264: ?????
SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中斷開
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 1月 7 09:45:56 2012
Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
SQL> conn / as sysdba
已連接。
SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area? 135338868 bytes
Fixed Size?????????????????? 453492 bytes
Variable Size???????????? 109051904 bytes
Database Buffers?????????? 25165824 bytes
Redo Buffers???????????????? 667648 bytes
SQL> alter database mount;
數據庫已更改。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 2 ??????
ORA-01110: ???? 2: 'E:\ORACLE\ORADATA\JSDSB\UNDOTBS01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\UNDOTBS01.DBF';
完成介質恢復。SQL> recover tablespace system;
ORA-00283: ??????????
ORA-00264: ?????
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 3 ??????
ORA-01110: ???? 3: 'E:\ORACLE\ORADATA\JSDSB\CWMLITE01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\CWMLITE01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 4 ??????
ORA-01110: ???? 4: 'E:\ORACLE\ORADATA\JSDSB\DRSYS01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\DRSYS01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 5 ??????
ORA-01110: ???? 5: 'E:\ORACLE\ORADATA\JSDSB\EXAMPLE01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\EXAMPLE01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 6 ??????
ORA-01110: ???? 6: 'E:\ORACLE\ORADATA\JSDSB\INDX01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\INDX01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 7 ??????
ORA-01110: ???? 7: 'E:\ORACLE\ORADATA\JSDSB\ODM01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\ODM01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 8 ??????
ORA-01110: ???? 8: 'E:\ORACLE\ORADATA\JSDSB\TOOLS01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\TOOLS01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 9 ??????
ORA-01110: ???? 9: 'E:\ORACLE\ORADATA\JSDSB\USERS01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\USERS01.DBF';
完成介質恢復。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: ?? 10 ??????
ORA-01110: ???? 10: 'E:\ORACLE\ORADATA\JSDSB\XDB01.DBF'
SQL> recover datafile 'E:\ORACLE\ORADATA\JSDSB\XDB01.DBF';
完成介質恢復。SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00322: ?? 2 (?? 1) ??????
ORA-00312: ???? 2 ?? 1: 'E:\ORACLE\ORADATA\JSDSB\REDO02.LOG'
//重做日志文件損壞
SQL> select group#,status,is_recovery_dest_file from v$logfile;
select group#,status,is_recovery_dest_file from v$logfile
*
ERROR 位于第 1 行:
ORA-00904: "IS_RECOVERY_DEST_FILE": ??????
SQL> select group#,status from v$logfile;
GROUP# STATUS
---------- -------
3 STALE
2 STALE
1
SQL> alter database clear unarchived logfile group 2;
數據庫已更改。
//清除非歸檔模式的重做日志文件,一旦清除后,重做日志組就少一個
SQL> alter database open;
數據庫已更改。
SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中斷開
C:\Documents and Settings\Administrator>