|
|
1:
控制文件默认都有三个,是三个都坏了?
如果不是,可以关闭状态下 copy 一个过去修改名字
2:
做任何动作之前,备份你的整个数据库
重建控制文件
使用脚本创建,如前面的脚本,使用你自己的 文件
根据
SQL> select group#, bytes from v$log;
GROUP# BYTES
---------- ----------
1 1048576
2 1048576
3 1048576
SQL> select * from v$logfile;
GROUP# STATUS
---------- -------
MEMBER
------------------------------------------------
3 STALE
E:\ORACLE\ORADATA\BILLY\REDO03.LOG
2
E:\ORACLE\ORADATA\BILLY\REDO02.LOG
1 STALE
E:\ORACLE\ORADATA\BILLY\REDO01.LOG
SQL> select file_name from dba_data_files
2 ;
FILE_NAME
----------------------------------------------
E:\ORACLE\ORADATA\BILLY\DR01.DBF
E:\ORACLE\ORADATA\BILLY\INDX01.DBF
E:\ORACLE\ORADATA\BILLY\TOOLS01.DBF
E:\ORACLE\ORADATA\BILLY\TEMP01.DBF
E:\ORACLE\ORADATA\BILLY\USERS01.DBF
E:\ORACLE\ORADATA\BILLY\RBS01.DBF
E:\ORACLE\ORADATA\BILLY\SYSTEM01.DBF
E:\ORACLE\ORADATA\BILLY\DB4K.DBF
已选择8行。
当然你可以在你也可以在的机器上找出这些信息
然后创建控制文件,字符集跟你自己的数据库保持一致
比如下面的一个例子:
SQL>
SQL> CREATE CONTROLFILE SET DATABASE "billy" RESETLOGS NOARCHIVELOG
2 MAXLOGFILES 64
3 MAXLOGMEMBERS 2
4 MAXDATAFILES 254
5 MAXINSTANCES 32
6 MAXLOGHISTORY 113
7 LOGFILE
8 GROUP 1 'E:\ORACLE\ORADATA\BILLY\REDO01.LOG' SIZE 1048576 ,
9 GROUP 2 'E:\ORACLE\ORADATA\BILLY\REDO02.LOG' SIZE 1048576 ,
10 GROUP 3 'E:\ORACLE\ORADATA\BILLY\REDO03.LOG' SIZE 1048576
11 DATAFILE
12 'E:\ORACLE\ORADATA\BILLY\SYSTEM01.DBF',
13 'E:\ORACLE\ORADATA\BILLY\RBS01.DBF',
14 'E:\ORACLE\ORADATA\BILLY\USERS01.DBF',
15 'E:\ORACLE\ORADATA\BILLY\TEMP01.DBF',
16 'E:\ORACLE\ORADATA\BILLY\TOOLS01.DBF',
17 'E:\ORACLE\ORADATA\BILLY\INDX01.DBF',
18 'E:\ORACLE\ORADATA\BILLY\DR01.DBF',
19 'E:\ORACLE\ORADATA\BILLY\DB4K.DBF'
20 CHARACTER SET ZHS16GBK
21 ;
数据簇已更改。
已用时间: 00: 00: 01.66
SQL> shutdown
ORA-01109: ??????
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 31229980 bytes
Fixed Size 75804 bytes
Variable Size 14299136 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
数据库装载完毕。
SQL> recover using backup controlfile until cancel;
ORA-00279: ?? 645009 (? 03/14/2003 16:39:47 ??) ???? 1 ????
ORA-00289: ??: E:\ORACLE\ORA81\RDBMS\ARC01056.001
ORA-00280: ?? 645009 ???? 1 ???? # 1056 ???
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: ???????? 'E:\ORACLE\ORA81\RDBMS\ARC01056.001'
ORA-27041: ??????
OSD-04002: N^7(4r?*ND<~
O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#
SQL> alter database open resetlogs;
数据库已更改。
已用时间: 00: 00: 14.97
SQL>
SQL>
打开数据库后最好自己做一个备份 |
|