误删除数据库文件*.dbs导致oracle启动失败
下面步骤模拟误删除后的修复过程:下面步骤模拟误删除后的修复过程:
1.rm /pb/OpenWorks/oracle/dbs/OWEX0.dbs
2.手动启动(dbstart)查看出错信息
3.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 即可。
=================================
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;