Oracle 11G 误删.dbf文件,解决方案

当Oracle11G中的.dbf文件被误删,需要首先停止数据库服务,然后进行一系列操作来恢复。包括取消登录、使用SYSDBA权限登录、可能需要修改listener.ora和sqlnet.ora文件,接着卸载数据库、打开并检查损坏的文件记录,最后通过ALTER DATABASE命令删除控制文件中的记录并尝试重新打开数据库。
摘要由CSDN通过智能技术生成

Oracle 11G 误删.dbf文件,解决方案

要点:1、数据库服务启动的情况下删除.dbf文件是无法成功的,需要先停止Oracle服务,然后才能删除.dbf文件,如果删除.dbf文件时在重启Oracle服务,这时候再去通过plsql或者sqlplus会出现ORA-01033,这个错误就是我们删除.dbf文件引起的
解决方案:

  1. 取消登录
sqlplus /nolog
  1. 使用超级管理员登录/使用管理员登录
conn / as sysdba 或者 conn a/a@orcl as sysdba

上面语句如果执行失败,并提示ORA-01031,此时我们需要指定监听,D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora中添加以下代码,如下:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_2)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (SID_NAME = orcl(需要修改))
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_2(需要修改))
      (GLOBAL_DBNAME= orcl(需要修改))
  )
)

并且在D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora文件中添加以下代码:

SQLNET.AUTHENTICATION_SERVICES=(NTS)

上述代码添加完成后,再进行第2步;

  1. 卸载数据库
shutdown immediate;
  1. startup mount 打开控制文件,这一步可省略;
startup mount;
  1. 打开数据库查看有哪些文件已经删除,但是在数据库控制文件中还存在记录
alter database open;

这一步会提示’D:\ORADATA\XXXXXX.DBF’文件不存在,我们将该文件从控制文件中删除即可,代码如下:

alter database datafile 'D:\ORADATA\XXXXXX.DBF' offline drop;
  1. 打开数据库,直到成功启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值