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. linux中sqlplus不能用_装修中不能用海沙,但是海沙已经偷偷走进了你的家
  2. Layout of the output array img is incompatible with cv::Mat (step[ndims-1] !
  3. 动态排序JavaBean
  4. ds1302模块 树莓派_(16)给树莓派B+ 安装一个实时时钟芯片DS1302
  5. malloc()背后的实现原理——内存池
  6. 本期赠书中奖名单公布
  7. LUA Metatables
  8. UVA - 1415 Gauss Prime(高斯素数)
  9. 牛客题霸 [顺时针旋转矩阵] C++题解/答案
  10. P2801-教主的魔法【分块,二分】
  11. 山寨“饿了么”应用中添加菜品数量按钮效果
  12. 24小时学会python_零基础python24小时极速入门学习
  13. 高校云计算机中心建设方案,最新某大学云数据中心建设方案.pdf
  14. iOS开发中view controller设置问题
  15. 使用Lingo做灵敏度分析
  16. 人脸识别之特征脸方法(Eigenface)PCA方法
  17. Ubuntu 20.04 快速搭建Vue开发环境
  18. Sodinokibi勒索病毒利用Flash漏洞强势来袭
  19. 美国国土安全部和MSF相继发布了Citrix漏洞的测试利用工具
  20. 切比雪夫不等式证明及应用

热门文章

  1. rabbitmq 3.8.3 最新版下载 及安装
  2. 迟滞比较器原理及计算
  3. 百度网盘“由于网络原因”第三方登录出错
  4. 如何为 Azure 和 Office 365 设置自助服务密码重置
  5. multisim对电路的仿真
  6. oracle游标卡尺作用,四深度游标卡尺的结构原理、规格、用途
  7. 在云服务器上部署R和Rstudio
  8. APP推广之为什么17APP推广做的那么好?
  9. webpack构建时堆内存溢出解决办法
  10. 笔记本电脑提示:已关闭无线功能