因停电引起oracle 10g无法启动。连接提示ora-01033.现将我的操作复制如下

因停电引起oracle 10g无法启动。连接提示ora-01033.现将我的操作复制如下
SQL> shutdown immediate

ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
ORA-00214: ???? ''E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTROL02.CTL'' ??
36016 ??? ''E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTROL01.CTL'' ?? 35932 ???
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
ORA-00214: ???? ''E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTROL02.CTL'' ??
36016 ??? ''E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTROL01.CTL'' ?? 35932 ???
SQL> recover datafile 2
ORA-01507: ??????
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
SQL> alter system set control_files='E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTR
OL03.CTL' scope=spfile;
系统已更改。
SQL> startup mount
ORA-01081: ????????? ORACLE - ??????
SQL> startup nomount
ORA-01081: ????????? ORACLE - ??????
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
SQL> alter system set control_files='E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTR
OL01.CTL' scope=spfile;
系统已更改。
SQL> startup mount
ORA-01081: ????????? ORACLE - ??????
SQL> startup
ORA-01081: ????????? ORACLE - ??????
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
ORA-00600: ??????, ??: [kccpb_sanity_check_2], [36015], [35932], [0x0], [], [],
[], []
接下来就不敢动了,一直提示600.
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
SQL> alter system set control_files='E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\CONTR
OL01.CTL' scope=spfile;
系统已更改。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。

startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 104860548 bytes
Database Buffers 499122176 bytes
Redo Buffers 7135232 bytes
ORA-00205:?????????,??????,?????????
又变成报错00205了

alert.log 提示
0ra-00202:control file:'e:\oracle\product\10.2.0\oradata\db\control01.ctl'
0ra-27041:unable to open file
osd-04002 :无法打开文件
o/s-error:(os 123)文件名、目录名或卷标语法不正确。
这种情况非常的麻烦,只怕要动大手术了。
这是Oracle数据文件损坏,如果单纯是控制文件损坏是可以重建的,只怕系统数据文件也坏。
如果是system01.dbf数据文件坏了的话,只能重建数据亮亏库,然后做完全恢复。
这里有一个重建控制文件示例,你看看,要作饥颤最坏的打敬肢神算哦。
--create_ctl_file.sql
--create_ctl_file.sql
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "PRIMARY" NORESETLOGS ARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\redo01.log' SIZE 10M,
GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\redo02.log' SIZE 10M,
GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\redo03.log' SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\system01.dbf',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\undotbs01.dbf',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\users01.dbf'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
ALTER TABLESPACE TEMP ADD TEMPFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\JJDB\temp01.dbf'
SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database ? schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在拦亮无备份的情况下恢复被truncated掉的表,也可以袭衡侍恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的拍吵特性
控制文件有问题了
← 上一篇: 下一篇: →