当前位置:  数据库>oracle

RMAN表空间时间点恢复

    来源: 互联网  发布时间:2017-04-23

    本文导语: 一直想做个基于时间点的表空间恢复,今天测试了一下,做个笔记,方面以后查阅!  环境:Linux 5.2  10.2.0.1 RMAN TSPITR 使用rman进行表空间基于时间点的恢复 实例说明: (1)先创建2个表空间。 create tablespace user01  datafile '+DG1&#...

一直想做个基于时间点的表空间恢复,今天测试了一下,做个笔记,方面以后查阅! 

环境:Linux 5.2  10.2.0.1

RMAN TSPITR 使用rman进行表空间基于时间点的恢复

实例说明

(1)先创建2个表空间。

create tablespace user01  datafile '+DG1' size 1M;

create tablespace user02  datafile '+DG1' size 1M;

(2)在每个表空间上各创建一张表。

create table scott.customers

 (cust_id int,cust_name varchar2(10)) tablespace user01;

create table scott.sales

      (id int,cust_name varchar2(10),sales_amount number(8,2)) tablespace user02;

(3)在每个表中插入2条记录,提交。检查当前的时间点,待会表空间user01要恢复到当前时间点。

insert into scott.customers values(1,'SOCTT');

insert into scott.customers values(2,'SMITH');

insert into scott.sales values(1,'SCOTT',8000);

insert into scott.sales values(1,'SMITH',10000);

COMMIT;

ALTER SYSTEM SWITCH LOGFILE;

ALTER SYSTEM SWITCH LOGFILE;

ALTER SYSTEM SWITCH LOGFILE;

date

2012年 02月 29日 星期三 22:53:57 CST

 (4) truncate 表1,往表2中插入2条记录。在表空间1中再创建一个表。

truncate table scott.customers;

insert into scott.sales values(3,'SCOTT',6000);

insert into scott.sales values(4,'BLAKE',6700);

commit;

create table scott.employee(id int,name varchar2(10)) tablespace user01;

 (5) 利用rman进行表空间1基于时间点的恢复。

--rman部分恢复表空间

 (6)将表空间user01 联机, 检查表1的数据是否找回来,检查表2的数据是否是4条,检查新创建的表是否已经不values iis7站长之家

 select * from scott.customers;

       CUST_ID CUST_NAME

---------- ----------

         1 SOCTT

         2 SMITH

select * from scott.sales;

         ID CUST_NAME  SALES_AMOUNT

---------- ---------- ------------

         1 SCOTT              8000

         1 SMITH             10000

         3 SCOTT              6000

         4 BLAKE              6700

select * from dba_tables where owner = 'SCOTT' and table_name='EMPLOYEE';

 no rows selected

 一切如我们所愿,此时,表空间不完全恢复完成。

如在上例中,执行:

create index scott.idx_customers on scott.customers(cust_name) tablespace ;

begin

       dbms_tts.transport_set_check(,true);

end;

select * from transport_set_violations;

提示:Index SCOTT.IDX_CUSTOMERS in tablespace USER02 points to table SCOTT.CUSTOMERS in tablespace USER01.

begin

       dbms_tts.transport_set_check('USER01,user02',true);

end;

select * from transport_set_violations;

不会有任何提示,因为user01/user02表空间作为一个集合,是自包含的。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • rman备份脚本和rman增量备份脚本分享
  • rman配置及rman常用命令操作
  • win平台oracle rman备份和删除dg备库归档日志脚本
  • linux自动运行rman增量备份脚本
  • Oracle相关:Rman Crosscheck删除失效归档
  • Oracle RMAN快速入门指南


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,