backup database;
sql 'alter system archive log current';
backup tablespace users;
backup datafile '/u01/app/oracle/oradata/orcl/users01.dbf';
backup datafile 5;
backup archivelog all delete input;
backup current controlfile;
copy datafile 4 to '/u01/app/oracle/users01.dbf.bck';
whole database backup:
backup database include current controlfile plus archivelog;
小于等于当前备份级别的最近的那一次备份以来,发生变化的数据块。
backup incremental level 0 database;
backup incremental level 1 database;
backup incremental level 1 cumulative database;
如何恢复临时表空间:
create temporary tablespace tempnew tempfile '$ORACLE_BASE/oradata/tempnew01.dbf' size 10M autoextend on;
alter database default temporary tablespace tempnew;
drop tablespace temp including contents and datafiles;
alter database clear logfile group 1;
1.丢失非system和undo文件
sql 'alter tablespace users offline immediate';
restore tablespace users;
recover tablespace users;
sql 'alter tablespace users online';
2.丢失system和undo文件
shutdown abort;
startup mount;
restore datafile 1;
recover datafile 1;
alter database open;
3.基于时间点的不完全恢复
SQL> select sysdate from dual;
SYSDATE
-------------------
2011-09-24 09:57:34
[oracle@dbserver orcl]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
[oracle@dbserver orcl]$ export NLS_LANG=american
run{
set until time = '2011-09-24 09:57:34';
restore database;
recover database;
alter database open resetlogs;
}
run{
set until sequence 14;
recover database;
alter database open resetlogs;
}
丢失所有文件后的恢复
1. 随便编辑一个初始化参数文件,只要一个参数:
db_name=orcl
startup nomount
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_09_24/o1_mf_nnsnf_TAG20110924T102613_77thyv2g_.bkp';
恢复spfile
2.用恢复的spfile重新启动数据库实例
3.恢复控制文件:
restore controlfile from '/u01/app/oracle/control_bak.1omnbfmj_1_1';
4.alter database mount;
5.restore database;
6.
run{
set until sequence 2;
recover database;
}
7.alter database open resetlogs;