如何处理Oracle数据库连接失败,出现ORA-01113的错误码
问题
如何处理Oracle数据库连接失败,出现ORA-01113的错误码?
现象描述
使用sysdba登录数据库后,执行alter database open命令提示“ORA-01113: file * needs media recovery”,但数据库文件存在。
> sqlplus / as sysdba
SQL>alter database open
ERROR at line 1:
ORA-01113: file * needs media recovery
ORA-01110: data file *: 'xxx.dbf'
操作步骤
- 高可用性系统
- 登录主服务器。
- 在root用户下使用命令hares -state Netlsnr -sys $(hostname) 查看执行结果是否为“online”,确保Netlsnr资源在线。
- 执行如下命令登录Oracle。
# su - oracle > sqlplus commonuser/网管数据库密码 as sysdba;
- 登录成功之后,执行如下命令恢复数据文件。
SQL> recover database; SQL> exit
- 在root用户下执行命令hares -offline Oracle -sys $(hostname) 使Oracle资源离线,然后再执行命令hares -online Oracle -sys $(hostname)使Oracle资源在线。
- 单机系统
- 执行如下命令登录Oracle。
# su - oracle > sqlplus / as sysdba;
- 登录成功之后,执行如下命令恢复数据文件。
SQL> recover database;
- 执行以下命令重启数据库。
SQL> shutdown immediate SQL> startup SQL> exit
- 执行如下命令登录Oracle。