学习要求

有一定关系型数据的操作功底,会SQL语句

教学目标

熟练掌握Oracle数据库的数据备份与恢复

备份

概念

备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本。

分类

从物理与逻辑的角度来分类: 从物理与逻辑的,备份可以分为物理备份和逻辑备份。 物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是以归档日志的方式对运行的数据库进行备份。可以使用oracle的恢复管理器(RMAN)或操作系统命令进行数据库的物理备份。

逻辑备份:对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三方工具,都可以进行数据库的逻辑备份。

从数据库的备份角度分类: 从数据库的备份角度,备份可以分为完全备份和增量备份和差异备份 完全备份:每次对数据库进行完整备份,当发生数据丢失的灾难时,完全备份无需依赖其他信息即可实现100%的数据恢复,其恢复时间最短且操作最方便。

增量备份:只有那些在上次完全备份或增量备份后被修改的文件才会被备份。优点是备份数据量小,需要的时间短,缺点是恢复的时候需要依赖以前备份记录,出问题的风险较大。

差异备份:备份那些自从上次完全备份之后被修改过的文件。从差异备份中恢复数据的时间较短,因此只需要两份数据---最后一次完整备份和最后一次差异备份,缺点是每次备份需要的时间较长。

逻辑备份(expdp和impdp)

Oracle 的导入导出有2种exp/imp和expdp/impdp,相对来看expdp/impdp用的最多,所以它们来讲解。

数据导出

注意:1>必须是超管用户操作sys  2>必须是cmd 客户端输入

步骤1:切换到超管用户

conn sys/admin as sysdba;

步骤2:创建导入目录

-- create directory 目录名 as '目录路径'
create directory data_bak as 'E:\data_bak';

步骤3:查看当前创建的导出目录

select * from dba_directories;

步骤4:为创建的目录赋权限(scott用户后续能操作该目录)

-- grant read,write on directory 目录名 to 需要赋值的用户名
grant read, write on directory data_bak to scott;

步骤5:导出数据并备份

-- expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log
expdp scott/tiger@localhost:1521/ORCL dumpfile=data_bak dumpfile=scott.dmp logfile=scott.log;

其他导出【拓展】

1、“full=y”,全量导出数据库

$ expdp sys/admin@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log

2、schemas按用户导出

$ expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

3、按表空间导出

$ expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

4、导出表

$ expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

5、按查询条件导出

$ expdp user/passwd@orcl tables=table1='where number=1234' dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

恢复

跟备份是反向操作

数据导入

删掉一些表,再将之前备份的数据导入进来

impdp scott/tiger@localhost:1521/ORCL schemas=scott directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

其他导入【拓展】

impdp user/passwd directory=data_dir dumpfile=expdp.dmp full=y

2、同名用户导入,从用户A导入到用户A;

impdp A/passwd schemas=A directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

3、

①从A用户中把表table1和table2导入到B用户中;

impdp B/passwdtables=A.table1,A.table2 remap_schema=A:B directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

②将表空间TBS01、TBS02、TBS03导入到表空间A_TBS,将用户B的数据导入到A,并生成新的oid防止冲突;

impdp A/passwd remap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n
directory=data_dir dumpfile=expdp.dmp logfile=impdp.log

4、导入表空间;

impdp sys/passwd tablespaces=tbs1 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log

5、追加数据;

impdp sys/passwd directory=data_dir dumpfile=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log;
--table_exists_action:导入对象已存在时执行的操作。有效关键字:SKIP,APPEND,REPLACE和TRUNCATE

Oracle19C入门到熟练016-数据备份与恢复相关推荐

  1. Oracle19C入门到熟练013-列约束

    学习要求 有一定关系型数据的操作功底,会SQL语句 教学目标 熟练掌握Oracle数据库表设计中列的设计 约束定义 约束是强加在表上的规则或条件.确保数据库满足业务规则.保证数据的完整性.当对表进行D ...

  2. 大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门到熟练操作)

    系列博客 1.大数据技术之Hadoop完全分布式集群搭建+Centos7配置连通外网和主机 2.大数据技术之Hadoop编译源码 3.大数据技术之Hadoop分布式文件系统HDFS系统知识整理(从入门 ...

  3. 【github干货】主流深度学习开源框架从入门到熟练

    文章首发于微信公众号<有三AI> [github干货]主流深度学习开源框架从入门到熟练 今天送上有三AI学院第一个github项目 01项目背景 目前深度学习框架呈百家争鸣之态势,光是为人 ...

  4. matlab z变换离散化_MATLAB作图从入门到熟练

    有同学说,靠网络上的文章,很难学到系统的知识,还得自己看书,这话不假.主要是因为网上文章篇幅过短,难免无法概括全面,加之同学们更关心一些高效的学习方法,更倾向于接受高密集信息的学习方式,节省时间和精力 ...

  5. Linux PWN从入门到熟练

    最近在复习pwn的一些知识.主要涉及到当堆栈开启了保护的时候,我们不能够直接将shellcode覆盖到堆栈中执行,而需要利用程序其他部分的可执行的小片段来连接成最终的shellcode.此小片段就是g ...

  6. RESTful从入门到熟练,看完这篇就够了

    学习要求 良好的java基础, 熟悉SpringBoot框架,熟悉SpringMVC框架 教学目标 掌握RESTful接口设计 视频教程 5小时带你入门到熟练RESTful接口设计 铺垫 先说明,本篇 ...

  7. .Net Redis 入门到熟练

    内存缓存主要有两种,一种是应用服务自己的memcache,类似于 webapi的session 其实都是服务自己的应用级内存,另外一种是分布式的缓存服务,此服务在另外的机器上,耗费的都是此机器的内存资 ...

  8. 04: 用户授权及撤销 、 数据备份与恢复 、 MySQL管理工具

    day04 一 .管理root用户密码 1.1 修改密码 1.2 恢复密码 二.用户授权与权限撤销 2.1 授权 2.2 撤销权限 三.安装图形管理工具 四 数据备份与恢复 ----- 完全备份与恢复 ...

  9. ​HealthKit开发快速入门教程之HealthKit数据的操作

    ​HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知 ...

最新文章

  1. 1086 Tree Traversals Again
  2. 第十二届河南省ACM大学生程序设计竞赛赛后总结
  3. 26岁想转嵌入式软件开发来得及吗?参加嵌入式培训好不好?
  4. 单件模式Singleton Pattern
  5. OD使用教程 调试篇
  6. 中英文怎么算 字符长度_如何将混合了中英文及不同数量空格的文本,快速拆分成多列...
  7. mysql存储过程中文乱码_mysql存储过程碰到中文乱码问题
  8. Bootstrap使用-1
  9. 两个栈实现一个队列与两个队列实现一个栈
  10. Android面试总结经
  11. toj 4597 字符识别?
  12. 出于安全考虑,千万不要绕开 CORS!
  13. Raki的读paper小记:FastText:Enriching Word Vectors with Subword Information
  14. 等价类划分法设计测试用例
  15. Spring 中的 bean 生命周期(代码实现)
  16. 433MHz,2.4GHz,GPRS,NB-IOT各有哪些特点?
  17. 数字电路设计的基本方法有哪些
  18. 被食者与食者系统matlab,捕食者与被捕食者模型——Logistic-Volterra
  19. Python生成requirement.txt文件
  20. win10只显示飞行模式,不显示任何wifi信号解决方案

热门文章

  1. html radio原生样式修改
  2. 多伦多大学utm计算机科学,多伦多大学专业介绍
  3. 解决app项目出现Are you interested in participation的问题
  4. Cost-effectiveness of paclitaxel-coated balloon angioplasty and paclitaxel-eluting stent implantatio
  5. 2021年中国液态金属行业现状分析:化学特性和广泛的技术应用,市场需求大[图]
  6. qt关于播放声音总结
  7. 熊啸锋:什么是大数据网络营销,它的好处和原理以及实战运用
  8. (概率论与数理统计)样本方差
  9. python中空格怎么打_python输入空格_python以空格为分隔输入_python如何让用户输入空格 - 云+社区 - 腾讯云...
  10. outstanding and out-of-order