ORACLE10G 只有oradata 數據恢復

參考的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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章