服务器 频道

打开Oracle某数据文件损坏后的数据库

  【IT168 服务器学院】系统环境:
  
  1. 操作系统:Windows 2000 Server,机器内存128M
  
  2. 数据库: Oracle 8i R2 (8.1.6) for NT 企业版
  
  3. 安装路径:C:\ORACLE
  
  错误现象:
  
  因误操作,数据库中某一数据文件被误删,控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接,显示以下错误:
  
  ORA-01033: ORACLE initialization or shutdown in progress
  
  模拟现象:
  
  create tablespace test datafile
  ''c:test.ora'' size 5M
  AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
  default storage (initial 128K next 1M pctincrease 0)
  
  /
  
  关闭所有服务stop.bat
  
  net stop "OracleWebAssistant0"
  net stop "OracleOraHome81TNSListener"
  net stop "OracleServiceORADB"
  shutdown
  
  在操作系统中删除test.ora文件
  
  重新启动服务start.bat
  
  net start "OracleWebAssistant0"
  net start "OracleOraHome81TNSListener"
  net start "OracleServiceORADB"
  
  服务里OracleServiceORADB显示已启动,但用SQL*Plus无法连接,
  
  显示ORA-01033: ORACLE initialization or shutdown in progress
  
  解决方法:先让该数据文件脱机,就可以打开数据库
  
  C:>svrmgrl
  svrmgrl>connect internal
  svrmgrl>shutdown
  svrmgrl>startup mount
  
  ——ARCHIVELOG模式命令,文件名要大写
  
  svrmgrl>alter database datafile ''C:TEST.ORA'' offline;
  
  ——NOARCHIVELOG模式命令
  
  svrmgrl>alter database datafile ''C:TEST.ORA'' offline drop;
  svrmgrl>alter database open;
  
  ——查询数据文件联、脱机状态
  
  SQL> select file#,name,status from v$datafile;
  SQL> drop tablespace test;
  
  表空间已丢弃。
0
相关文章