1. 概述

Oracle数据库的恢复实际上包含了两个概念:数据库修复(RESTORE)与数据库恢复(RECOVER)。

数据库修复:指利用备份的数据库文件来替换已经损坏的数据库文件或者将其恢复到一个新的位置。RMAN在进行修复操作时,会利用恢复目录来获取备份信息,并从中选择最合适的备份进行修复操作。

选择备份时有两个原则(1、选择距离恢复目录时刻最近;2、优先选择镜像复制,其次才是备份集)

数据库恢复:是指利用重做日志或增量备份来重建丢失的数据。


2. 完全恢复(三步)

2.1 启动数据库到加载状态

RMAN>SHUTDOWN IMMEDIATE;

RMAN>STARTUP MOUNT;

2.2 执行恢复操作

RMAN>RESTORE DATABASE;

RMAN>RECOVER DATABASE DELETE ARCHIVELOGS SKIP TABLESPACE TEMP;

注意:DELETE ARCHIVELOGS和SKIP TABLESPACE两个参数是可选择的,作用如下:

DELETE ARCHIVELOGS:表示RMAN将在完成恢复过程后自动删除那些在恢复过程中修复的归档日志文件。

SKIP TABLESPACE:跳过指定表空间,比如临时表,当然临时表空间即使你不跳过它也不会恢复的。

2.3 打开数据库

RMAN>ALTER DATABASE OPEN;

注意:如果你的数据库并非处于归档模式,必须使用ALTER DATABASE OPEN RESETLOGS来打开数据库,因为RMAN会认为在非归档模式下是一个不一致的备份,执行resetlogs之后,oracle将会把scn重新置为0。


3. 恢复表空间(三步)

3.1. 启动数据库到加载状态

RMAN> SHUTDOWN IMMEDIATE;

RMAN> STARTUP MOUNT;

3.2. 进行恢复操作,在恢复之前,如果需要被恢复的表空间未处于脱机状态,需要通过alter tablespace ... Offline语句将其置为脱机:

RMAN> SQL 'ALTER TABLESPACE jweb OFFLINE IMMEDIATE';

RMAN> RESTORE TABLESPACE jweb;

RMAN> RECOVER TABLESPACE jweb;

RMAN> SQL 'ALTER TABLESPACE jweb ONLINE';

3.3 打开数据库

RMAN> ALTER DATABASE OPEN;


4. 恢复数据文件(三步)

恢复表空间实际就是恢复其所对应的数据文件(一个表空间可能对应多个数据文件),所以步骤与上相似。

4.1 启动数据库到加载状态

RMAN> SHUTDOWN IMMEDIATE;

RMAN> STARTUP MOUNT;

4.2 进行恢复操作,在恢复之前,如果需要被恢复的表空间未处于脱机状态,需要通过alter tablespace ... Offline语句将其置为脱机,操作数据文件时可以直接指定数据文件,也可以以数据文件序号代替:

RMAN>SQL 'ALTER DATABASE DATAFILE 10 OFFLINE;

RMAN> RESTORE DATAFILE 10;

RMAN> RECOVER DATAFILE 10;

RMAN>SQL ' ALTER DATABASE DATAFILE 10 ONLINE;

4.3 打开数据库

RMAN> ALTER DATABASE OPEN;

plsql 复制表结构到指定表空间_Oracle Rman 完全恢复 表空间 数据文件相关推荐

  1. plsql 复制表结构到指定表空间_数据库知识总结—(八)数据库amp;表的CRUD

    一.创建表 本节用到的表结构如下: customers表 vendors表 orderitems表 一般有两种创建表的方法: 使用具有交互式创建和管理表的工具:或者直接用MySQL语句操纵. (1)表 ...

  2. oracle 修索引改空间_Oracle如何更改表空间的数据文件位置详解

    表空间概述 Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库对象(如:数据文件)的逻辑空间,是Oracle中信息存储的最大逻辑单元,其下还包含有段.区.数据块等逻辑数据类型.表空 ...

  3. oracle表空间怎么改名字,修改oracle数据文件和表空间名字

    由于不想再重新建新的表空间给客户用,拿旧的直接改,故步骤如下: 一.修改表空间名字 SQL> alter tablespace TMS_RITONG rename to TMS_LYT; Tab ...

  4. linux软件读取不到空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...

    虚拟机中的Oracle运行的久了,归档.数据文件不断增长,原来安装ORACLE的分区空间不足. 此时可以重新向虚拟机增加一块硬盘,将ORACLE的数据文件或归档的目录挂载到新增加的磁盘分区上. --我 ...

  5. linux+oracle磁盘空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...

    虚拟机中的Oracle运行的久了,归档.数据文件不断增长,原来安装ORACLE的分区空间不足. 此时可以重新向虚拟机增加一块硬盘,将ORACLE的数据文件或归档的目录挂载到新增加的磁盘分区上. --我 ...

  6. 上去了server查所有表空间_oracle如何查看表空间

    select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace &qu ...

  7. docker解决空间占用问题,迁移虚拟机数据文件ext4.vhdx

    PS:适用于:新版本 wsl管理的docker windows docker 迁移 docker虚拟映像文件 如何判断: 打开powershell 输入wsl -l -v,即可查看当前docker发行 ...

  8. plsql导出表结构到excel_plsql 将表结构导出到excel中的两种方式

    1.情景展示 如何将表结构导出到excel中(不是建表的SQL语句),如何实现? 2.方式一 新建一个SQL窗口,输入要导出结构的表,选中右键-->描述 右键-->导出-->CSV文 ...

  9. 【mysql】mysql 导出全库表结构,并排除指定库

    作者:lianghc mysql 导出一般使用mysqldump,这个工具很灵活,可以根据需要导出全库数据,指定库数据.表结构,指定表数据.表结构,等等. 导出全库表结构 mysqldump -h 1 ...

最新文章

  1. 比起VR高端设备市场,三星或对移动VR平台更感兴趣
  2. SQL Server 获取表或视图结构信息
  3. Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用
  4. Java常用API例子_Java常用API及Math类
  5. Visual studio 2017 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包...
  6. CreateThread线程函数
  7. C++11 并发指南三(Lock 详解)(转载)
  8. linux通用自启动管理,linux下通过xinetd服务管理 rsync 实现开机自启动
  9. Android 跨进程双向通信(Messenger与AIDL)详解
  10. windows程序设计简介
  11. 流行的灯谜集锦(包括天鹅类)
  12. 几台服务器做虚拟化,4台服务器虚拟化教程(多台服务器虚拟成一台)
  13. STANDARD_FULLSCREEN
  14. matlab积分器的工作原理,[转载]Simulink积分器详解(图)
  15. java添加文本框和标签_如何在column.expression中插入文本框或标签的值?
  16. 数据库作业 用Python读取Excel 数据 存放到mysql中
  17. 最新常用数据库排名及分类介绍
  18. 基于word2vec+TextCNN 实现中文文本分类
  19. 十个励志小故事,一场精彩的人生课!
  20. 使用阿里云ECS服务器搭建java环境

热门文章

  1. 请确保此代码文件中定义的类与“inherits”特性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。
  2. 荣耀10x更新鸿蒙系统,华为鸿蒙升级名单确定,10款机型优先升级,荣耀手机暂时被遗忘...
  3. 这个看起来有点简单!--实验吧
  4. hive配置参数的说明:
  5. sencha touch 入门系列 (三)sencha touch 项目创建
  6. 想做好一个程序猿 先建好身 瘦人同样可以练出肌肉
  7. (...)ES6三点扩展运算符
  8. linux vi 不保存退出
  9. 2021年Java社招面试题,2021大厂面试合集
  10. 基于飞桨与OpenVINO 的智能机器人开发实践 | 开发者实战