1.口令文件丢失
orapw file=orapworcl password=pass1234 entries=5 ---通过这条语句进行重建
2.spfile丢失
在RMAN中进行:
startup nomount
set dbid 9815108
restore spfile from autobackup
shutdown immediate
set dbid 9815108
startup
3.确定dbid
cd $ORACLE_HOME/dbs
[oracle@jumper dbs]$ ll c-*
-rw-r----- 1 oracle dba 3375104 Dec 21 11:13 c-3152029224-20051221-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:03 c-3152029224-20060121-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:08 c-3152029224-20060121-01
这里的3152029224就是DBID.
4.控制文件丢失
startup nomount
restore controfile from autobackup
alter database mount
recover database
alter database open resetlogs
5.redo log丢失
在sqlplus中执行:
shutdown immediate
startup mount
recover database until cancel
alter database open resetlogs
6.datafile丢失
report schema ----查看文件号
sql "alter database datafile 5 offline"
restore datafile 5
recover datafile 5
sql "alter database datafile 5 online"
7.表空间恢复
sql "alter tablespace users offline immediate"
restore tablespace users;
recover tablespace users;
sql "alter tablespace users online";
8.数据全部丢失
startup nomout
restore controlfile from autobackup
alter database mout
restore database
恢复redolog
create pfile from spfile
编辑pfile,在行尾追加
._allow_resetlogs_corruption='TRUE' ---表明可以在没有redo.log的情况下,进行recover
recover database
alter database open resetlogs
9.基于时间点的恢复
run{
set until time "to_date('07/01/02 15:00','mm/dd/yy hh24:mi:ss')"'
restore database;
recover database;
alter database open resetlogs;
}
10.基于scn的恢复
startup mount;
restore database until scn 10000;
recover database until scn 10000;
alter database open resetlogs;
11.基本命令
crosscheck backup ---检测备份文件是否存在
delete --- 删除控制文件和备份文件
delete backup 8;
12.设定catelog模式
create tablespace rman_ts datafile '/u01/oracle/....' size 20M autoextend on next 4M
create user rman identified by rman default tablespace rman_ts quota unlimited on rman_ts;
grant recovery_catalog_owner to rman
rman catalog rman/rman
create catalog tablespace rman_ts
register database
13.重新连接
rman target / catalog rman/rman