ORA-01157: 无法标识/锁定数据文件故障恢复

ORA-01157: 无法标识/锁定数据文件故障恢复

数据库表空间数据文件损坏,无法启动。进行数据库恢复。

1、现象:

前端报错:

ORA-03113: end-of-file on communication channel
Process ID: 10192
Session ID: 19 Serial number: 3301

数据库可宕机,检查alter.log

ORA-63999: 数据文件出现介质故障
ORA-01114: 将块写入文件 156 时出现 IO 错误 (块 # 2)
ORA-01110: 数据文件 156: 'F:\ORACLE\DATA\TB_SCOTT01.DBF'

检查F盘,出现故障无法访问。

2、处理过程

(1)启动数据库

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 156 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 156: 'F:\ORACLE\DATA\TB_SCOTT01.DBF'

数据文件156号,故障。
TB_SCOTT表空间上的数据,可以从其他库同步,因此可以删除。

(2)删除故障的数据文件和表空间

先启动数据库到mount状态

SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area 3.8655E+10 bytes
Fixed Size                 12295552 bytes
Variable Size            4966056576 bytes
Database Buffers         3.3554E+10 bytes
Redo Buffers              121921536 bytes
SQL> alter database mount;

数据库已更改。

再删除故障的数据文件,按文件号删除:

SQL> alter database datafile 156 offline drop;

数据库已更改。

open 数据库,安全起见先把相关的表空间offline ,然后删除。


SQL> alter database open;

数据库已更改。

SQL>
SQL> alter tablespace tb_scott offline immediate ;

表空间已更改。

SQL> drop tablespace tb_scott including contents and datafiles ;

表空间已删除。

为了确保数据库正常,再次关闭数据库,启动数据库,数据库正常。

你可能感兴趣的:(Oracle,oracle,数据库)