參考的4個URL。
http://www.51testing.com/html/49/n-214249.html
http://topic.csdn.net/u/20091118/15/0b6e197e-cbcb-432c-8797-c49a86975f48.html
http://blog.csdn.net/caok/archive/2009/10/23/4718220.aspx
http://blog.sina.com.cn/s/blog_40dd06510100bv0r.html
------------------------------------以下是我琢磨時候的操作。只是給自己以後用,大家也可以參考-------------------------------------------
Microsoft Windows [版本 5.2.3790]
(C) 版權所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>cd\
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 3月 6 09:48:07 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn system/system as sysdba
已連接。
SQL> shutdown immediate
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 171969412 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
數據庫裝載完畢。
ORA-01122: 數據庫文件 1 驗證失敗
ORA-01110: 數據文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSTEM01.DBF'
ORA-01207: 文件比控制文件更新 - 舊的控制文件
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
系統已更改。
SQL> alter database open RESETLOGS
2 recover database
3
SQL> alter database open
2 exp cetrx/cetrx@DBNAME
3
SQL> shutdown immediate
ORA-01109: 數據庫未打開
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 171969412 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
數據庫裝載完畢。
ORA-01122: 數據庫文件 1 驗證失敗
ORA-01110: 數據文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSTEM01.DBF'
ORA-01207: 文件比控制文件更新 - 舊的控制文件
SQL> alter database backup controlfile to trace as 'f:\aa';
數據庫已更改。
SQL> shutdown immediate
ORA-01109: 數據庫未打開
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup nomount;
ORACLE 例程已經啓動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 171969412 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "DBNAME" RESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\REDO03.LOG' SIZE 50M
11 -- STANDBY LOGFILE
12
SQL> DATAFILE
SP2-0042: 未知命令 "DATAFILE" - 其餘行忽略。
SQL> 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSTEM01.DBF',
SP2-0734: 未知的命令開頭 "'D:\ORACLE..." - 忽略了剩餘的行。
SQL> 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\UNDOTBS01.DBF',
SP2-0734: 未知的命令開頭 "'D:\ORACLE..." - 忽略了剩餘的行。
SQL> 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSAUX01.DBF',
SP2-0734: 未知的命令開頭 "'D:\ORACLE..." - 忽略了剩餘的行。
SP2-0044: 要獲取已知命令的列表, 請輸入 HELP;
輸入 EXIT 可退出。
SQL> 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\USERS01.DBF',
SP2-0734: 未知的命令開頭 "'D:\ORACLE..." - 忽略了剩餘的行。
SQL> 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\EXIMTRX',
SP2-0734: 未知的命令開頭 "'D:\ORACLE..." - 忽略了剩餘的行。
SQL> 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\EXIMUSER'
SP2-0734: 未知的命令開頭 "'D:\ORACLE..." - 忽略了剩餘的行。
SQL> CHARACTER SET ZHS16GBK
SP2-0734: 未知的命令開頭 "CHARACTER ..." - 忽略了剩餘的行。
SP2-0044: 要獲取已知命令的列表, 請輸入 HELP;
輸入 EXIT 可退出。
SQL> oradim /?
SP2-0042: 未知命令 "oradim /?" - 其餘行忽略。
SQL> CREATE CONTROLFILE REUSE DATABASE "DBNAME" RESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\REDO03.LOG' SIZE 50M
11 DATAFILE
12 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSTEM01.DBF',
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\UNDOTBS01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\SYSAUX01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\USERS01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\EXIMTRX',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBNAME\EXIMUSER'
18 CHARACTER SET ZHS16GBK
19 ;
控制文件已創建。
SQL> RECOVER DATABASE
ORA-00283: ??????????
ORA-01610: ?? BACKUP CONTROLFILE ??????????
SQL> ALTER DATABASE OPEN
2 select * from imlc_master;
select * from imlc_master
*
第 2 行出現錯誤:
ORA-02288: ??? OPEN ??
SQL> shutdown immediate
ORA-01109: ??????
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 171969412 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
數據庫裝載完畢。
ORA-01589: 要打開數據庫則必須使用 RESETLOGS 或 NORESETLOGS 選項
SQL> alter database open resetlogs;
數據庫已更改。
SQL> select name from v$tempfile;
未選定行
SQL> alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\t
emp01.dbf'
2
SQL> select name from v$tempfile;
未選定行
SQL> 本文來自聯城技術網(http://tech.16c.cn/)轉發請保留地址:http://www.svn8.co
m/sql/Oracle/2010061136631.html
SP2-0734: 未知的命令開頭 "本文來自聯..." - 忽略了剩餘的行。
SQL> select name from v$tempfile;
未選定行
SQL> ed
已寫入 file afiedt.buf
1 select name from v$tempfile
2* /alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\
temp01.dbf' size 10M
SQL> ed
已寫入 file afiedt.buf
1* alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\t
emp01.dbf' size 10M
SQL> ed
已寫入 file afiedt.buf
1* alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\t
emp01.dbf'
SQL> ed
已寫入 file afiedt.buf
1* select name from v$tempfile;
SQL> /
select name from v$tempfile;
*
第 1 行出現錯誤:
ORA-00911: 無效字符
SQL> ed
已寫入 file afiedt.buf
1 select name from v$tempfile;
2* /alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\
temp01.dbf' size 10M
SQL> /
select name from v$tempfile;
*
第 1 行出現錯誤:
ORA-00911: 無效字符
SQL> ed
已寫入 file afiedt.buf
1 alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\t
emp01.dbf' size 10M
2* /
SQL> /
/
*
第 2 行出現錯誤:
ORA-00933: SQL 命令未正確結束
SQL> ed
已寫入 file afiedt.buf
1* alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\t
emp01.dbf' size 10M
SQL> /
alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\temp01
.dbf' size 10M
*
第 1 行出現錯誤:
ORA-01119: 創建數據庫文件 'D:\oracle\product\10.2.0\oradata\DBNAME\temp01.dbf'
時出錯
ORA-27038: 所創建的文件已存在
OSD-04010: 指定了 <create> 選項, 但文件已經存在
SQL> ed
已寫入 file afiedt.buf
1* alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\DBNAME\t
emp01.dbf'
SQL> /
表空間已更改。
SQL>
可以EXP 了
此次恢復是多個,EXP 一個後。繼續創建下一個要恢復的實力名字<最好還是一致的>
如果報 協議適配器錯誤 設置SID 指向
然後SQLPLUS
1.進去後 shutdown immediate
2. 替換文件
3. startup
繼續EXP