好了,这时候,我的数据文件在我的默认路径上。可以进行恢复了。
E:oracleoradataorcl 的目录 2006-03-19 22:33 <DIR> . 2006-03-19 22:33 <DIR> .. 2006-03-19 22:34 <DIR> backup 2006-03-19 22:31 26,222,592 INDX01.DBF 2006-03-19 22:31 262,152,192 SYSTEM01.DBF 2006-02-16 21:38 41,951,232 TEMP01.DBF 2006-03-19 22:31 10,493,952 TOOLS01.DBF 2006-03-19 22:31 209,723,392 UNDOTBS01.DBF 2006-03-19 22:31 26,222,592 USERS01.DBF 6 个文件 576,765,952 字节 3 个目录 8,712,298,496 可用字节
在这里外为了简单,我将我的口令文件,初始化参数文件都没有改变,我现在就直接使用外以前的这两个文件,当然也没有改变它的配置,尤其是一些目录的设置。
SQL> conn /as sysdba
已连接到空闲例程。
SQL> startup nomount――在这里没有指定参数文件,但是你可以指定参数文件
ORACLE 例程已经启动。 Total System Global Area 51452388 bytes Fixed Size 453092 bytes Variable Size 46137344 bytes Database Buffers 4194304 bytes Redo Buffers 667648 bytes SQL>
使用以下语句创建控制文件。
SQL> create controlfile reuse set database orcl 2 logfile group 1 ('E:oracleoradataorcllog1orcl.ora', 3 'E:oracleoradataorcllog2orcl.ora') size 4M, 4 group 2 ('E:oracleoradataorcllog3orcl.ora', 5 'E:oracleoradataorcllog4orcl.ora') size 4M resetlogs 6 datafile 7 'E:oracleoradataorclINDX01.DBF', 8 'E:oracleoradataorclSYSTEM01.DBF', 9 'E:oracleoradataorclTOOLS01.DBF', 10 'E:oracleoradataorclUNDOTBS01.DBF', 11 'E:oracleoradataorclUSERS01.DBF' 12 ;
控制文件已创建
这里需要注意的是,在我现在试验的平台生是Oracle 9i,创建控制文件中的数据文件是不能包含临时文件的,如果使用数据文件中包含临时文件的时候,就会出现这样的错误,但是在Oracle7的时候是可以包含临时文件的,在Oracle9i的文档中使这样说的:
If it is necessary to use the CREATE CONTROLFILE statement, do not include in the DATAFILE clause any datafiles in temporary or read-only tablespaces. You can add these types of files to the database later.
就是说的使用这个语句的时候,数据文件的语句中是不能包含临时和只读表空间的文件,要想使用的话,需要在数据库启动以后添加。Oracle8不知道是如何规定的,我没有在Oracle8上作试验。
SQL> create controlfile reuse set database orcl 2 logfile group 1 ('E:oracleoradataorcllog1orcl.ora', 3 'E:oracleoradataorcllog2orcl.ora') size 4M, 4 group 2 ('E:oracleoradataorcllog3orcl.ora', 5 'E:oracleoradataorcllog4orcl.ora') size 4M resetlogs 6 datafile 7 'E:oracleoradataorclINDX01.DBF', 8 'E:oracleoradataorclSYSTEM01.DBF', 9 'E:oracleoradataorclTEMP01.DBF', 10 'E:oracleoradataorclTOOLS01.DBF', 11 'E:oracleoradataorclUNDOTBS01.DBF', 12 'E:oracleoradataorclUSERS01.DBF' 13 ; create controlfile reuse set database orcl * ERROR 位于第 1 行: ORA-01503: CREATE CONTROLFILE ?? ORA-01160: ???? data file ORA-01110: ???? : 'E:oracleoradataorclTEMP01.DBF'