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