zoukankan      html  css  js  c++  java
  • 表空间基于时间点的恢复

    表空间基于时间点的恢复

    步骤:
    1.检测和解决对要恢复的表空间有依赖关系的对象问题
    select *
      from sys.ts_pitr_check
     where (ts1_name = 'UERS' and ts2_name != 'USERS')
        or (ts1_name != 'USERS' and ts2_name = 'USERS');
    如果有依赖约束,可以考虑disable掉约束;或者同时还原依赖对象所在的表空间

    2.检测哪些对象不会被还原
    如果有些表,在还原后还需要存在,可以使用数据泵等工具导出,等表空间还原后再导入
    select owner, name, tablespace_name
      from ts_pitr_objects_to_be_dropped
     where tablespace_name = 'USERS'
       and creation_time >
           to_date('2015-06-19 15:00:00', 'YYYY-MM-DD HH24:MI:SS');

    3.在磁盘上创建一个目录,作为辅助目录
    mkdir /tmp/auxx

    辅助目录的空间大小要足够大

    4.运行recover tablespace until命令
    RMAN> connect target /
    RMAN> recover tablespace users until time "to_date('2015-06-19 15:00:00', 'YYYY-MM-DD HH24:MI:SS')" auxiliary destination '/tmp/auxx';

    5.备份已经还原的表空间,并将表空间置于online状态
    RMAN> backup tablespace users;
    RMAN> sql 'alter tablespace users online';

    基于时间点的恢复在以下场景不可行:
    ·表空间包含sys用户的数据
    ·表空间含有undo segments 或者 rollback segments
    ·已经被删除的表空间
    ·表含有内嵌表或者含有varray列
    ·表是外部表
    ·表含有快照日志

  • 相关阅读:
    jmeter如何连接数据库
    jmeter基础之录制篇
    php解压缩
    composer基本使用
    react组件之间的参数传递
    解决VMware Workstation 不可恢复错误: (vcpu-0)
    虚拟机vmware11装Mac ox 10.8 解决windows8.1下unlocker202 vmxsmc.exe已停止工作的问题
    Photoshop学习:打开PS之前需要...
    汇编语言之启航
    Markdown语法介绍
  • 原文地址:https://www.cnblogs.com/abclife/p/4589337.html
Copyright © 2011-2022 走看看