当前位置:操作系统 > Unix/Linux >>

某个数据文件损坏,如何打开数据库?(forLinux)

某个数据文件损坏,如何打开数据库? (for Linux)

  PuJiang Science Park Of ShangHai 、 jccz_zys_zhouys

  最近做开发时不小心删除了创建的数据库表空间文件,导致服务器重新启动时普通用户

  不能够正常登陆。网上有一篇此类文章是针对winnt和oracle8i的。我通过简单的尝试即解决了此问题,过程如下:

  系统环境:

  1、操作系统:RedHat Advanced Server,机器内存512M

  2、数据库:

  Oracle 9i Release 9.2.0.1.0 for linux

  3、安装路径:/home/oracle/ora

  错误现象:

  因误操作,数据库中某一数据文件被误删,

  Oracle相关服务显示已启动,用SQL*Plus可以连接sys DBA用户,但普通用户无法连接,

  显示以下错误

  ORA-01033: ORACLE initialization or shutdown in progress

  模拟现象:

  create tablespace tablespace_ecms

  datafile '/home/oracle/ora/products/9.2.0/oradata/ora9i/tablespace_ecms.dbf'

  size 512M extent management local autoallocate

  --default storage (initial 128k next 2M pctincrease 0)

  online;

  shutdown

  在操作系统中删除tablespace_ecms.dbf文件

  [oracle@js-oracle oracle]$ sudo - oracle -c "dbstart" >> /var/log/oracle

  [oracle@js-oracle oracle]$ sudo - oracle -c "lsnrctl start" >> /var/log/oracle

  在客户端PL/SQL工具中正常连接sys DBA用户,但数据库没有打开,同时普通用户无法连接,

  显示以下错误

  ORA-01033: ORACLE initialization or shutdown in progress

  解决方法:

  先让该数据文件脱机,就可以打开数据库

  --NOARCHIVELOG模式命令

  [oracle@js-oracle oracle]$ sqlplus /NOLOG

  SQL> connect sys/wellhope as sysdba

  SQL> alter database datafile '/home/oracle/ora/products/9.2.0/oradata/ora9i/tablespace_ecms.dbf' offline drop;

  SQL> alter database open; --则数据库正常打开

  SQL> select file#,name,status from v$datafile;

  SQL> drop tablespace tablespace_ecms INCLUDing contents;

  表空间已丢弃。

  如有不足,请指正。

  jccz_zys@163.net

  阅读:805次

  责任编辑:jccz_zys_zhouys

  来源:某个数据文件损坏,如何打开数据库?(for Linux)本文来自:http://doc.xiaoyaxiao.com/3528.html
发表您的高见!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,