--恢复整个数据库
run {
shutdown immediate;
startup mount;
restore database;
recover database;
alter database open;}
--恢复表空间users
run {sql ‘alter tablespace users offline‘;
restore tablespace users;
recover tablespace users;
sql ‘alter tablespace data online‘;}
--恢复数据文件适用所有表空间数据文件
run{
shutdown immediate;
startup mount;
restore datafile ‘/u01/app/oracle/oradata/data01.dbf‘;
recover datafile ‘/u01/app/oracle/oradata/data01.dbf‘;
alter database open;
}
非system表空间的数据文件,也可以直接在open状态下restore和recover
run {sql ‘alter database datafile 6 offline‘;
restore datafile 6;
recover datafile 6;
sql ‘alter database datafile 6 online‘;
}
--临时表空间损坏重新建立一个临时表空间
SQL> create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/test10g/temp101.dbf‘ size 200M ;
将建好的TEMP1表空间设置为数据库默认的临时表空间
SQL> alter database default temporary tablespace temp1;
DROP掉旧的TEMP的表空间
SQL> drop tablespace temp including contents and datafiles;
--全部控制文件损坏
run {
shutdown immediate;
startup nomount;
set dbid=1187100180;
restore controlfile from ‘/u01/backup/20131202_TEST11G_64.bak‘;
alter database mount;
recover database;
alter database open resetlogs;
}
打开后对数据库做一次全备份 --spfile损坏
run {
shutdown immediate;
startup nomount;
set dbid=1176041295;
restore spfile from ‘/u01/backup/20131202_TEST11G_64.bak‘;
shutdown immediate;
startup;
}
原文:https://www.cnblogs.com/vzhangxk/p/11301232.html