关于数据文件1与后台进程的文件不同引起的01033错误

刚接触ORACLE,不知道动什么地方了。登陆pl/sql时提示:ORA-01033: ORACLE initialization or shutdown in progress.

 

进入sqlplus,startup之后发现:

 

ORACLE 例程已经启动。

Total System Global Area  754974720 bytes
Fixed Size                  1289708 bytes
Variable Size             197132820 bytes
Database Buffers          553648128 bytes
Redo Buffers                2904064 bytes
数据库装载完毕。
ORA-01221: 数据文件 1 与后台进程的文件不同

 

关闭报错:

SQL> shutdown immediate
ORA-01109: 数据库未打开

.....

 

 

分析知道这个错误是由01221错误引起的,那究竟什么是数据文件1呢?什么是后台文件呢?

 

在网上找了半天,没有结果....

 

不过这哥们为此种错误提供了解决方法:

http://space.itpub.net/104152/viewspace-442123

我就是按照他写的一步一步在sqlplus上打,最后成功解决。感谢此人!

 

我用的是oracle 10g xe 版本,这里的数据文件1是SYSTEM.DBF.后台文件倒不清楚,和CONTROL.DBF有关吧....

具体过程如下(当然可以参考上面的连接里的步骤,他那是英文版):

 

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  754974720 bytes
Fixed Size                  1289708 bytes
Variable Size             197132820 bytes
Database Buffers          553648128 bytes
Redo Buffers                2904064 bytes
数据库装载完毕。
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复

 


SQL> alter database open
  2
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01221: 数据文件 1 与后台进程的文件不同


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效


SQL> recover database using backup controlfile;
ORA-00279: 更改 259170 (在 05/05/2009 16:08:06 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\ORACLE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2009_05_06\O1_MF_1_4_%U_.

ARC
ORA-00280: 更改 259170 (用于线程 1) 在序列 #4 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 无法打开归档日志
'D:\ORACLE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2009_05_06\O1_MF_1_4_%U_

.ARC'
ORA-27041: 无法打开文件
OSD-04002: ???????
O/S-Error: (OS 2) ????????????????


ORA-00308: 无法打开归档日志
'D:\ORACLE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2009_05_06\O1_MF_1_4_%U_

.ARC'
ORA-27041: 无法打开文件
OSD-04002: ???????
O/S-Error: (OS 2) ????????????????


SQL> alter database until cancel;
alter database until cancel
                     *
第 1 行出现错误:
ORA-02231: ALTER DATABASE 选项缺失或无效


SQL> recover database until cancel;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成


SQL> recover database using backup controlfile;
ORA-00279: 更改 259170 (在 05/05/2009 16:08:06 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\ORACLE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2009_05_06\O1_MF_1_4_%U_.

ARC
ORA-00280: 更改 259170 (用于线程 1) 在序列 #4 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项


SQL> alter database resetlogs;
alter database resetlogs
                       *
第 1 行出现错误:
ORA-02231: ALTER DATABASE 选项缺失或无效


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\XE\SYSTEM.DBF'


SQL> recover data file 1
ORA-00905: 缺失关键字


SQL> recover datafile 1;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成


SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 259170 (在 05/05/2009 16:08:06 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\ORACLE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ARCHIVELOG\2009_05_06\O1_MF_1_4_%U_.

ARC
ORA-00280: 更改 259170 (用于线程 1) 在序列 #4 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open resetlogs;

数据库已更改。

SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  754974720 bytes
Fixed Size                  1289708 bytes
Variable Size             197132820 bytes
Database Buffers          553648128 bytes
Redo Buffers                2904064 bytes
数据库装载完毕。
数据库已经打开。

 

 

 

你可能感兴趣的:(oracle,sql,.net,OS,Flash)