仙道彰
作者仙道彰·2019-09-17 16:33
数据库开发工程师·花旗集团

Oracle表空间增量备份与恢复

字数 1579阅读 6244评论 0赞 2

实验:针对表空间users
PS:本次实验模拟USERS表空间数据文件损坏或者该磁盘硬件损毁

1、对users表空间进行0级备份

run {
    allocate channel ch1 device type disk;
    backup incremental level 0 tablespace users format '/u01/backup/users_0_%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/users_1_%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/users_2_%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;
}

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广