实验:针对表空间users
PS:本次实验模拟USERS表空间数据文件损坏或者该磁盘硬件损毁
1、对users表空间进行0级备份
run {
allocate channel ch1 device type disk;
backup incremental level 0 tablespace users format '/u01/backup/users0%T_%U';
release channel ch1;
}
2、普通用户如scott,在表空间中创建表t20,写入数据100,2002、普通用户如scott,在表空间中创建表t20,写入数据100,200
create table t20(id number) tablespace users;
insert into t20 values(100);
insert into t20 values(200);
commit;
sys切换日志,产生归档日志文件
alter system switch logfile;
3、进行1级备份
run {
allocate channel ch1 device type disk;
backup incremental level 1 tablespace users format '/u01/backup/users1%T_%U';
release channel ch1;
}
4、scott用户向表T20中写入数据300,400
insert into t20 values(300);
insert into t20 values(400);
commit;
sys切换日志,产生归档日志文件
alter system switch logfile;
5、进行2级备份
run {
allocate channel ch1 device type disk;
backup incremental level 2 tablespace users format '/u01/backup/users2%T_%U';
release channel ch1;
}
6、scott用户向表T20中写入数据500,600
insert into t20 values(500);
insert into t20 values(600);
commit;
7、模拟硬盘故障,删除数据文件 (offline)
RMAN> report schema ; 找出表空间下的数据文件
Or
select * from dba_data_files ;
将users 表空间 offline
SQL>alter tablespace users offline ;
将数据文件删除
[oracle@rhel7 Backup]$ mv /u01/oracle/oradata/ORCL/datafile/o1_mf_users_gqdkd0d3_.dbf /u01/oracle/oradata/ORCL/datafile/o1_mf_users_gqdkd0d3_.dbf.bak
8、恢复数据文件到另一个存储设备
run {
allocate channel ch1 device type disk;
set newname for datafile 7 to '/u01/oradata/orcl/users01.dbf';
restore datafile 7;
switch datafile 7 ;
recover datafile 7;
alter database datafile 7 online;
release channel ch1;
}