ora 01110

  一新来的同事在练习的时候建了个表空间,但却在磁盘直接进行了物理删除,这下可好,数据库起不来了。
  因为在ORACLE数据库启动时,先是定位PFILE文件,里面有很多配置参数,比如内存多少,进程数什么的,
根据这些参数启动实例,这个过程称为nomount,然后定位到控制文件(地址信息在PFILE中有记载),进行controlfile的加载,这个文件里面包含数据库的物理结构,比如有那些数据文件,在什么目录,等等,这个过程完成了称为mount,然后就是open数据库,这个时候会检测各个数据文件,进行实例恢复等工作,完成后数据库就正常打开,可以使用了。
  而此时把数据库文件进行物理删除了,数据库日志里并没记载,它会根据原计划去寻找那个数据文件,但现在找不到了,从而导致整个数据库不能起来。但该文件并不重要,这时候我们可以采取如下的方式:
1) C:\Documents and Settings\Administrator>svrmgrl
2) SVRMGR> shutdown normal
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
3)SVRMGR>startup mount
4)SVRMGR>alter database open
   这时会报错:
   ORA-01157: cannot identify/lock data file 10 - see DBWR trace file
   ORA-01110: data file 10: 'D:/datafile/test.dbf'
5) 这时在mount状态下:
  判断数据库是否归档模式:
  归档模式下
    SVRMGR>alter database datafile 'D:/datafile/test.dbf' offline
  非归档模式下
    SVRMGR>alter database datafile 'D:/datafile/test.dbf' offline drop
6) SVRMGR>alter database open

  这时候数据库就成功启动,当然这时的D:/datafile/test.dbf将被offline或drop掉,将不能访问里面的数据.

猜你喜欢

转载自etendency.iteye.com/blog/1746722