Oracle Database 11g 报错 ORA-01033、ORA-01113、ORA-01110

ORA-01033: ORACLE initialization or shutdown (ORACLE 初始化或关闭错误)
ORA-01113: file 1 needs media recovery (文件 1 需要介质恢复)
ORA-01110: data file 1 : ‘xxx’ (数据文件 1: ‘xxx’)

问题

同事电脑宕机重启后,连接 Oracle 数据库时,报出ORA-01033异常。随即求助。

  1. 查询监听状态
1
lsnrctl status

查询监听状态,发现实例已启动无异常

  1. 重启监听
1
lsnrctl reload

重启监听,还是同样的报错

  1. 重启数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sqlplus /nolog

SQL> conn / as sysdba
已连接

SQL> shutdown normal

SQL> startup
ORACLE instance started.

Total System Global Area 1.6911E+10 bytes
Fixed Size 2113696 bytes
Variable Size 8472498016 bytes
Database Buffers 8422162432 bytes
Redo Buffers 14659584 bytes
Database mounted.

ORA-01113: file 3 needs media recovery
ORA-01110: data file 3 : 'xxx'

找到问题了,宕机重启的时候数据库文件损坏。

解决方法

  • 直接修复对应文件
1
2
SQL> recover datafile 3;
SQL> alter database open;

搞定收工。