关于数据文件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
数据库装载完毕。
数据库已经打开。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值