Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3118396
  • 博文数量: 144
  • 博客积分: 10056
  • 博客等级: 上将
  • 技术积分: 2603
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-13 14:20
个人简介

互通有无,共同提高。

文章分类

全部博文(144)

分类: 系统运维

2007-08-28 16:25:49

山定子 注:以下内容是从网上收集的,本人未测试过。据说第三个方法有人测试通过。
 
 误删除数据库文件*.dbs导致oracle启动失败的解决方法
一、
下面步骤模拟误删除后的修复过程:
1.rm /pb/OpenWorks/oracle/dbs/OWEX0.dbs 
 
2.手动启动(dbstart)查看出错信息,找出删除的.dbs文件名和数据库名。
 
3.连接数据库(SqlPlus)
  su - oracle       

  svrmgrl    
  connect internal     
  startup nomount      
  alter database mount exclusive;
 
4.从数据库中删除出错信息中列出的全路径文件
  alter database  dataafile '/pb/OpenWorks/oracle/dbs/OWEX0.dbs'
offline drop;
 
5.打开数据库  alter database open;
 
6.drop tablespace OWEX including contents cascade        constraints;     
 drop user OWEX cascade;     
 drop role manage_OWEX;      
 drop role interp_OWEX;      
 drop role l_interp_OWEX;     
 drop role browse_OWEX
 
7.从工区数据库中删除OWEX     
 alter session set current_schema=owsys; 
 delete from ow_sys_project where     project_name='OWEX';     
 delete from ow_sys_prj_user where project_name='OWEX';     delete from owsysp.ow_sysp_prj_security where
project_name='OWEX';    
 commit
 
8.重新dbshut数据库后,再次dbstart,数据库应该正常启动,如果有OWEX 工区的备份文件,restore 即可。
=================================
 二、
这是来自阿果石油网的 hdgcl 提供的解决方案:
第5楼
 

1. 在xterm(1)窗口登录进入oracle帐号, su - oracle,
      sun1{oracle}# svrmgrl
      SVRMGR> connect internal
      SVRMGR> startup mount
      SVRMGR> alter database datafile '/home1/OpenWorks/oracle/dbs/owsysp_tbs.dbf' offline drop;
      SVRMGR> alter database open;
      SVRMGR> drop tablespace owsysp including contents cascade constraints;
 
      2. 在xterm(2)窗口, su – oracle,并且执行下列命令:
      sun1{oracle}# rm /home1/OpenWorks/oracle/dbs/owsysp_tbs.dbf
 
      3. 返回到 xterm(1) 窗口,作
      SVRMGR > create tablespace OWSYSP datafile '/home1/OpenWorks/oracle/dbs/owsysp_tbs.dbf' size 1M;
      SVRMGR > grant DBA to owsysp with ADMIN OPTION ;
      SVRMGR > grant create procedure, create synonym, create table,
               2 > create sequence, create database link, create trigger,
               3 > create session, create view to owsysp ;
 
      4. 返回到 xterm(2)窗口,作
      sun1{oracle}44# $ORACLE_HOME/bin/imp owsysp/owsysp INCTYPE=restore FULL=y \
    FILE=/home1/OpenWorks/dat/owsys/owsysp.dmp
 
      5. 返回到 xterm(1)窗口, 作
      SVRMGR > connect owsysp/owsysp;
      SVRMGR > exit;

=====================================
三、

山定子 注:据兰马群员(26个字母)说,他用下述方法测试通过。


冰晶
  540439299

LandMark Ⅰ 号超级群  36530625

 

问题:误删除数据库文件*.dbs导致oracle启动失败

回答:下面步骤模拟误删除后的修复过程:

1.  手动启动(dbstart)查看出错信息,找出删除的dbs文件名和库名(AHMTNNN

          2.  进入sqlplus

     
su - oracle

       svrmgrl

       connect internal

       startup nomount

       alter database mount exclusive;

 

以上如不能进入,用以下方法:

 

Sqlplus /nolog

Conn/ as sysdba

3. 出现sql>提示符后执行4-7,注意AHMTnnn需要根据实际库名更换.

        4. 从数据库中删除出错信息中列出的全路径文件

       alter database datafile ‘/pb/oracle/OraHome1/owprojects  /AHMTnnn.dbs’ offline drop;

 

若跟我一样仅是在project admin菜单里看不到恢复的工区信息而在系统下却能找到恢复的工区开头的一串名字的情况下。仅执行这些就够了。Commit;后再quit出来,dbshut  之后再dbstart.就该正常了,或退出SQL后重起机器也可。后面这些指令若也执行就会提示不存在。因为根本就没形成这些字段。

project admin能看见,则库里相关字段内容都要清干净。

 

     5. 打开数据库

       alter database open;

     6. drop tablespace AHMTNNN including contents cascade

       constraints;

       drop user AHMTNNN cascade;

       drop role manage_AHMTNNN;

       drop role interp_AHMTNNN;

       drop role l_interp_AHMTNNN;

       drop role browse_AHMTNNN;

     7. 从工区数据库中删除AHMTNNN

       alter session set current_schema=owsys;

       delete from ow_sys_project where

               project_name=’AHMTNNN’;

       delete from ow_sys_prj_user where

               project_name=’AHMTNNN’;

       delete from owsysp.ow_sysp_prj_security where

               project_name=’AHMTNNN’;

       commit;

     8.重新dbshut数据库后,再次dbstart,数据库应该正常启动。

==============================
相关内容:
井工区恢复失败的解决办法
http://blog.chinaunix.net/uid-124509-id-61955.html

阅读(6872) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

山定子2014-03-12 11:41:54

yz_lwb:很实用,本人实测通过。

应该感谢分享方法的网友。
测试通过了,真好。

回复 | 举报

yz_lwb2014-02-27 20:12:55

感谢山定子老师!

yz_lwb2014-02-27 20:12:38

很实用,本人实测通过。