控制文件丢失,非当前日志组丢失以及系统表空间或非系统表空间丢失

a.控制文件丢失

-----一般情况

1.alter database backup controlfile to '/backup...';

2.ho rm -rf 所有的控制文件 startup force

3.ho cp 从备份的控制文件恢复到原位置

4.介质恢复

recover database using backup controlfile

--------修改数据库结构(比如新建了表空间)丢失控制文件

1.alter database backup controlfiel to ..

2.create tablespace datafile '' size..  create table tablespace

并在新建的表空间上建表

3.ho rm -rf所有的控制文件 startup force

4.ho cp

5.介质恢复提示 not started

因为备份控制文件中没有新建表空间的信息

select name,status from v$datafile;

alter database create datafile '' as '/oracle/app/oracle/oradata/orcl/..';

再使用介质恢复即可

-------------修改数据库后脱机或者表空间只读

1.备份 

alter database backup conterolfile to trace as ...

2.create tablkesoace 并建表

alter tablespace read only 

3.ho rm -rf 删除所有的控制文件 startup 

4.利用备份建立控制文件

alter databse open;

select nbame,status from v$datafile 

发现一个数据文件名字不对,重命名

alter database rename file '' to 'oracle/app/oracle..'

alter tablespace online 

aletr tablespace read wirite

b.丢失日志组(非当前组)

1.desc v$log

select group#,sequence#,archived,status from v$log

删除一个费当前组 redo02.log

startup 

alter database clear unarchived logfile grpoup2 ;

即可

c.归档模式丢失系统表空间

1.alter tablespace system begin backup

2.ho cp

3.alter tablespace system end backup

4.create table t 

在系统表空间上建表 并切换日志

alter system switch logfile

/

/


5.ho rm -rf  startup force

6.ho cp 恢复system01.dbf

7.recover datafile 1

选择auto 

8.aletr database open;


你可能感兴趣的:(控制文件丢失,非当前日志组丢失以及系统表空间或非系统表空间丢失)