oracle 提示文件丢失,oracle数据文件丢失。

今天来上班听说我们的数据库服务器连不上,说是昨晚停电服务器都挂掉了。初步考虑应该是数据库没有自动拉起造成的,手动执行拉起脚本数据库仍然无法连接。后来查看oracle启动日志以及跟踪日志如下:

$ cd /opt/oracle/admin/oracle9i/bdump

$more alert_oracle9i.log

Errors in file /opt/oracle/admin/oracle9i/bdump/oracle9i_dbw0_13503.trc:

ORA-01157: cannot identify/lock data file 32 - see DBWR trace file

ORA-01110: data file 32: '/opt/ap/m/oracle9i/dftt1.dbf'

ORA-27037: unable to obtain file status

有很多类似于这样的错误信息,突然想起来之前给该服务器新mount了两个逻辑卷,这些数据文件大多都在这些逻辑卷所对应的目录下。用df -k命令查看发现这两个逻辑卷都没有挂接上来。奇怪!?之前确实是挂接上来的,怎么又没了?怀疑是服务器掉电启动后没有挂接造成的,然后就手动挂接这两个逻辑卷,操作如下:

$ mount /dev/test/lvabc /opt/ap/m

vxfs mount:  /dev/test/lvabc  is corrupted. needs checking

报错了,需要检测一下,执行如下命令:

$fsck  /dev/test/lvabc

执行检测OK!

$mount /dev/test/lvabc /opt/ap/m

这次挂接成功!

$cd  /opt/ap/m

进入 /opt/ap/m目录查看了一下所建立的文件都还存在,甚好。

手动执行数据库启动脚本,启动后仍然不能正常连接数据库,查看oracle日志如下:

$ cd /opt/oracle/admin/oracle9i/bdump

$more alert_oracle9i.log

Errors in file /opt/oracle/admin/oracle9i/bdump/oracle9i_dbw0_13503.trc:

ORA-01157: cannot identify/lock data file 10 - see DBWR trace file

ORA-01110: data file 10: '/opt/oracle/oradata/oracle9i/xdb01.dbf'

ORA-27037: unable to obtain file status

其他的数据文件已经可以找到了,但仍然有如上错误。

执行以下命令发现文件并不存在!

$ ll /opt/oracle/oradata/oracle9i/xdb01.dbf

/opt/oracle/oradata/oracle9i/xdb01.dbf not found

这个错误比计较诡异, 数据文件怎么好端端没了?先让数据库跑起来了吧。

由于是测试用数据库所以数据库无备份、无归档,执行如下操作:

1. 用dba身份连接数据库

$sqlplus /nolog

SQL>conn sys/sys as sysdba

2. 启动oracle例程

SQL>startup mount

3. 打开数据库

SQL>alter database open;

大致会报一下这样的错误:

ORA-01157: cannot identify/lock data file 32 - see DBWR trace file

ORA-01110: data file 32: '/opt/ap/m/oracle9i/dftt1.dbf'

4. 离线drop

SQL>alter database datafile 32 offline drop;

再次执行如下命令:

SQL>alter database open;

无报错说明以上操作成功。

5. 关闭数据

SQL>shutdown mormal;

6. 启动数据库

SQL>startup

至此数据库可以正常连接上来了。

环境:HP-UX B.11.23 U ia64, oracle9i

问题:1. 为什么掉电启动后挂接的逻辑卷要重新手动挂接才可以?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值