ORA-01200的简单处理

在大容量PC断电导致数据库无法启动的情况下,遇到了ORA-01200错误。由于没有备份和归档,通过计算数据文件的正确大小并使用dd命令填充缺失部分,最终成功欺骗Oracle使其认为数据库是一致的,从而恢复了数据库的正常运行。
摘要由CSDN通过智能技术生成

大容量pc断电,导致虚拟机中的数据库down掉了。无法启动

ALTER DATABASE OPEN
Read of datafile '/paic/oradata/vmdev/system01.dbf' (fno 1) header failed with ORA-01200
Rereading datafile 1 header failed with ORA-01200
Errors in file /paic/app/oracle/diag/rdbms/vmdev/vmdev/trace/vmdev_ora_3332.trc:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/paic/oradata/vmdev/system01.dbf'
ORA-01200: actual file size of 82256 is smaller than correct size of 83280 blocks
ORA-1122 signalled during: ALTER DATABASE OPEN...

这个错误猜测是因为数据中正在想system01.dbf这个数据文件写东西的时候突然断电,导致这个1K的东西没有写入完成,而中断。
因数据库没有备份,也没有开归档,所以没有办法只能欺骗oracle,让他认为数据库是一致的。
SQL> select 83280-82256 from dual;

83280-82256
-----------
       1024

[vm11g@vmdb11g trace]$ dd if=/dev/zero of=/paic/oradata/vmdev/system01.dbf bs=8192 count=1024 seek=82257
82256+0 records in
82256+0 records out
673841152 bytes (674 MB) copied, 2.87257 seconds, 235 MB/s

SQL> alter database open;

Database altered.

SQL> select status from v$instance;

STATUS
------------------------
OPEN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值