【Oracle】Oracle系列之十六--数据库备份

文章目录

  • 往期回顾
  • 1. 数据库备份的分类
    • 1.1 逻辑备份与物理备份
      • (1)逻辑备份
      • (2)物理备份
      • (3)归档模式与非归档模式
    • 1.2 完全备份/差异备份/增量备份
  • 2. Oracle 逻辑备份
    • 2.1 EXP/IMP
      • (1)EXP导出
    • (2)IMP导入
    • 2.2 EXPDP/IMPDP

往期回顾

  • 【Oracle】Oracle系列之一–Oracle数据类型

  • 【Oracle】Oracle系列之二–Oracle数据字典

  • 【Oracle】Oracle系列之三–Oracle字符集

  • 【Oracle】Oracle系列之四–用户管理

  • 【Oracle】Oracle系列之五–Oracle表空间

  • 【Oracle】Oracle系列之六–Oracle表分区

  • 【Oracle】Oracle系列之七–表的创建与管理

  • 【Oracle】Oracle系列之八–SQL查询

  • 【Oracle】Oracle系列之九–Oracle常用函数

  • 【Oracle】Oracle系列之十–Oracle正则表达式

  • 【Oracle】Oracle系列之十一–PL/SQL

  • 【Oracle】Oracle系列之十二–视图、记录、同义词、序列

  • 【Oracle】Oracle系列之十三–游标

  • 【Oracle】Oracle系列之十四–触发器

  • 【Oracle】Oracle系列之十五–存储过程

1. 数据库备份的分类

1.1 逻辑备份与物理备份

数据库备份按照备份状态分为逻辑备份与物理备份。

(1)逻辑备份

利用SQL从数据库中抽取数据,并存为二进制文件的形式进行备份。业务数据库采用此种方式,不需要在归档模式下。如Oracle中,对数据库对象(用户、表、存储过程)利用EXPORT导出,利用IMPORT把逻辑备份文件导入数据库(Oracle exp/imp)。

  • 优点:可以只备份某些表或某些特定的数据;可以在不同版本之间进行跨平台恢复;可以压缩后存储节省空间。
  • 缺点:对于大规模的数据库,执行语句耗时较长;无法保证完全一致性(如同时有新数据插入)。

(2)物理备份

物理备份是指直接拷贝数据库存储介质上的所有内容,包括操作系统层面和数据库引擎层面,这样就能够完整地还原整个数据库。一般需要外部存储设备。

  • 优点:速度快且可靠;能够提供一致性快照。
  • 缺点:只能提供到“某一时间点”上的恢复,无法选择性地(按表或用户)进行备份和恢复,只能全库备份和恢复;不能用于跨平台迁移。

冷备份:发生在数据库已经正常关闭的情况下(脱机状态),所有的数据文件都处于离线状态。在实施备份过程中,数据库不能做其他工作,可以保证数据的完整性和一致性。
热备份:在数据库运行情况下(联机状态)进行,不会影响正常的业务操作,可在表空间或数据库文件级备份,并且对用户透明,能够保持业务连续性,备份时间短,可达到秒级恢复(恢复到某一时间点)。热备份要将日志置为归档模式,需要考虑到正在写入或修改的数据可能导致数据不一致性问题,采取特殊措施来确保数据完整性。

(3)归档模式与非归档模式

归档模式:归档模式下,数据库将历史记录保存到一组称为“归档日志”的特殊文件中。这些日志包含先前已提交的事务的详细信息,使得可以恢复或还原丢失或损坏的数据。由于需要频繁地写入日志文件,性能会有所降低。
非归档模式:非归档模式下,当一个事务被提交时,其结果直接写入主要数据文件中。而不像归档模式那样额外生成日志文件。这种方式虽然可以提高性能,并降低空间开销,但也存在数据丢失或损坏时无法完全恢复的风险。

1.2 完全备份/差异备份/增量备份

(1)完全备份(Full):备份全部选中文件,并不依赖文件的存档属性来确定备份哪些文件(每个文件都被标记为已备份,消除存档属性)。

(2)差异备份(Differential):备份上次完全备份后发生变化的所有文件(备份后不标记为已备份文件,不消除存档属性)。(备份时间长,占空间多,恢复快)。

(3)增量备份(Incremental):针对上次备份后(无论哪种备份)备份上次备份后所有发生变化的文件(备份后标记文件,消除存档属性)。(备份时间短,占空间少,恢复慢)。

组合示例:

完备+差备:周一进行完全备份,周二到周五进行差异备份。若周五数据被破坏,需还原周一的完全备份及周五的差异备份。
完备+增备:周一进行完全备份,周二到周五机型增量备份。若周五数据被破坏,需还原周一的完全备份及周二至周五的增量备份。

2. Oracle 逻辑备份

Oracle支持两种类型的逻辑备份:导出/导入实用程序与数据泵。

2.1 EXP/IMP

(1)EXP导出

完全模式

exp SYSTEM/MANAGER BUFFER=64000 file= C:\full.dmp full=Y

用户模式

exp detail12/detail12 owner=(detail12,detail11) file=/home/oracle/detail.dmp
exp detail12/detail12@RACDB_192.168.1.13 file=d:/detail.dmp

其中,RACDB_192.168.1.13为Oracle Net Configuration Assistant的网络服务名。

表模式

exp detail12/detail12 owner=detail12 tables=(T_JBXX) file=/home/oracle/t_jbxx.dmp

如果T_JBXX为分区表,使用tables=(T_JBXX1:P1,T_JBXX2:P2)的形式。

query字段格式:

query="""where dept_date<to_date('2014-02-01 00:00:10','yyyy-mm-dd hh24:mi:ss')"""

注意:不导入权限和索引可加入 GRANTS=Y INDEXES=Y

关键字说明

关键字说明 (默认值)
USERID用户名/口令
FULL导出整个文件 (N)
BUFFER数据缓冲区大小
OWNER所有者用户名列表
FILE输出文件 (EXPDAT.DMP)
TABLES表名列表
COMPRESS导入到一个区 (Y)
RECORDLENGTH IO记录的长度
GRANTS导出权限 (Y)
INCTYPE增量导出类型
INDEXES导出索引 (Y)
RECORD跟踪增量导出 (Y)
DIRECT直接路径 (N)
TRIGGERS导出触发器 (Y)
LOG屏幕输出的日志文件
STATISTICS分析对象 (ESTIMATE)
ROWS导出数据行 (Y)
PARFILE参数文件名
CONSISTENT交叉表的一致性 (N)
CONSTRAINTS导出的约束条件 (Y)
OBJECT_CONSISTENT只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK每 x 行显示进度 (0)
FILESIZE每个转储文件的最大大小
FLASHBACK_SCN用于将会话快照设置回以前状态的 SCN
FLASHBACK_TIME用于获取最接近指定时间的 SCN 的时间
QUERY用于导出表的子集的 select 子句
RESUMABLE遇到与空格相关的错误时挂起 (N)
RESUMABLE_NAME用于标识可恢复语句的文本字符串
RESUMABLE_TIMEOUTRESUMABLE 的等待时间
TTS_FULL_CHECK对 TTS 执行完整或部分相关性检查
TABLESPACES要导出的表空间列表
TRANSPORT_TABLESPACE导出可传输的表空间元数据 (N)
TEMPLATE调用 iAS 模式导出的模板名

(2)IMP导入

完全模式

imp SYSTEM/MANAGER BUFFER=64000 file=C:\full.dmp full=Y

用户模式

imp detail12/detail12 fromuser=(detail12,detail11) touser=(detail12,detail11) file=/home/oracle/detail.dmp

表模式

imp detail12/detail12 owner=detail12 tables=(T_JBXX) file=/home/oracle/t_jbxx.dmp

注意

IMP导入必须指定Full=Y,或提供fromuser/touser参数,或提供tables参数。
导入前需按要求设置字符集export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
忽略创建表错误可加入IGNORE=Y,不导入权限和索引可加入 GRANTS=Y INDEXES=Y
导入时发生IMP-00032错误,表示SQL语句超过缓冲区长度,可以加入选项:buffer=100000000
关键字说明

关键字说明 (默认值)
USERID用户名/口令
FULL导入整个文件 (N)
BUFFER数据缓冲区大小
FROMUSER所有者用户名列表
FILE输入文件 (EXPDAT.DMP)
TOUSER用户名列表
SHOW只列出文件内容 (N)
TABLES表名列表
IGNORE忽略创建错误 (N)
RECORDLENGTH IO记录的长度
GRANTS导入权限 (Y)
INCTYPE增量导入类型
INDEXES导入索引 (Y)
COMMIT提交数组插入 (N)
ROWS导入数据行 (Y)
PARFILE参数文件名
LOG屏幕输出的日志文件
CONSTRAINTS导入限制 (Y)
DESTROY覆盖表空间数据文件 (N)
INDEXFILE将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES跳过不可用索引的维护 (N)
FEEDBACK每 x 行显示进度 (0)
TOID_NOVALIDATE跳过指定类型 ID 的验证
FILESIZE每个转储文件的最大大小
STATISTICS始终导入预计算的统计信息
RESUMABLE在遇到有关空间的错误时挂起 (N)
RESUMABLE_NAME用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUTRESUMABLE 的等待时间
COMPILE编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION导入流的一般元数据 (Y)
STREAMS_INSTANTIATION导入流实例化元数据 (N)

2.2 EXPDP/IMPDP

(1)数据泵介绍

Oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中,与Export / Import相比,它提供更好的性能、安全性和灵活性。

并行处理: Oracle 数据泵支持并行处理(通过指定 PARALLEL 参数启用),这使得导入和导出任务更加快速和高效。
可定制: 数据泵允许用户选择要包含或排除的对象类型(如表、视图、约束等),以及要包含或排除的特定对象。
压缩: Oracle 数据泵支持压缩功能,可减少导出文件的大小,并提高传输速度。
安全性: 数据泵支持 SSL 加密协议来保护敏感信息,在安全方面非常有优势。
多平台兼容性: Oracle 数据泵支持多个平台上运行,例如 Windows 和 Linux 等操作系统。
(2)数据泵的使用

EXP和IMP是客户段工具程序,它们既可以在可以客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。因此,使用EXPDP工具时,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限。

使用Data Pump,可将整个数据库或特定模式及其对象(如表格、索引、约束和其数据)导出/导入,还可指定选项,例如表空间、压缩级别、加密和远程导出/导入的网络链接。

Data Pump包括两个客户端实用程序:expdp(Export Data Pump)和impdp(Import Data Pump)。

e.g.

create directory imp_dir as 'D:\imp_dir';
GRANT READ, WIRTE ON DIRECTORY imp_dir TO detail;
expdp scott/tiger DUMPFILE=tmp_dump.dmp  DIRECTORY= imp_dir
impdp scott/tiger DUMPFILE=tmp_dump.dmp  DIRECTORY= imp_dir

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

差分构造法推广:arc166_d

https://atcoder.jp/contests/arc166/tasks/arc166_d 首先肯定是这样子放&#xff1a; 考虑相邻之间的差&#xff0c;本质就是橙色区间减蓝色区间数量 区间数量越少显然越优&#xff0c;所以我们要么保留橙区间&#xff0c;要么保留紫区间&#xff0c;然后两两匹配 #include…

如何做好sop流程图?sop流程图用什么软件做?

5.如何做好sop流程图&#xff1f;sop流程图用什么软件做&#xff1f; 建立标准作业程序sop已经成为企业进步和发展的必经之路&#xff0c;不过&#xff0c;很多刚刚开始着手搭建sop的企业并不知道要如何操作&#xff0c;对于如何做sop流程图、用什么软件做sop流程图等问题充满…

数据安全防护:云访问安全代理(CASB)

云访问安全代理&#xff08;Cloud Access Security Broker&#xff0c;CASB&#xff09;&#xff0c;是一款面向应用的数据防护服务&#xff0c;基于免应用开发改造的配置方式&#xff0c;提供数据加密、数据脱敏功能。数据加密支持国密算法&#xff0c;提供面向服务侧的字段级…

记录一次springboot使用定时任务中@Async没有生效的场景

环境说明 jdk21springboot 3.0.11 springcloud 2022.0.0 spring-cloud-alibaba 2022.0.0.0 在开发一个定时触发的任务的时候&#xff0c;由于开发执行任务的函数比较耗费时间&#xff0c;所以采用异步解决问题。 发现并没有按照预期的触发 经询问后&#xff0c;发现当前类的…

JS中 split(/s+/) 和 split(‘ ‘)的区别以及split()详细解法,字符串分割正则用法

博主: http://t.csdnimg.cn/e4gDi split用法详解: http://t.csdnimg.cn/6logr

陕西省高级工程师职称基本流程

一.评审范围 全省范围具有合法生产&#xff0c;经营手续的中小企业局和非公有制经济从事工程师工作专业技术人员和高技能人员&#xff0c;均可申报 当年达到法定退休或已办退休…

网站被劫持了怎么办

网站被劫持了怎么办 建议新建一个index.html文件&#xff0c;文件中只写几个数字&#xff0c;上传到网站根目录&#xff0c;然后访问网站域名&#xff0c;看看是不是正常&#xff0c;从而可以确定是程序问题还是域名被劫持的问题。 如果是域名被劫持&#xff0c;你可以登录你…

Nginx常用命令

Nginx常用命令 查看版本 #仅显示nginx版本nginx -v#显示nginx版本、编译器版本以及配置参数nginx -V 启动 #使用默认配置文件启动nginx#指定配置文件加载nginx -c filename 停止 #快速关闭&#xff0c;可能不保存相关信息&#xff0c;并迅速终止web服务nginx -s stop#正常关闭…

SpringCloud学习笔记-Eureka服务的搭建

目录 1.首先引入依赖2.main中配置注解3.src/main/resources/application.yml配置文件 本文的主要工作是介绍如何搭建一个Eureka服务 1.首先引入依赖 pom文件中加入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring…

phpstudy本地域名伪静态

环境&#xff1a;WNMP(Windows10 Nginx1.15.11 MySQL5.7.26 【PHP 7.4.3 (cli) (built: Feb 18 2020 17:29:57) ( NTS Visual C 2017 x64 ) 】) 使用PhpStudy配置本地域名后&#xff0c;设置伪静态&#xff0c;这样在Web端打开网站就不需要输入index.php了&#xff0c;很简单…

竞赛选题 深度学习 python opencv 火焰检测识别 火灾检测

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

学习记忆——数学篇——案例——代数——均值不等式

文章目录 理解记忆法定义定义推导 重点记忆法用途记忆法使用前提做题应用及易错点两种用法 出题模式法模型识别 谐音记忆法一正二定三相等 秒杀方法 理解记忆法 定义 1.算术平均值&#xff1a;设有n个数 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1​,x2​,...,xn​&#xf…

数据采集平台(二)

5. 安装Kafka 5.1 基础架构 为方便扩展&#xff0c;并提高吞吐量&#xff0c;一个topic分为多个partition配合分区的设计&#xff0c;提出消费者组的概念&#xff0c;组内每个消费者并行消费为提高可用性&#xff0c;为每个partition增加若干副本&#xff0c;类似NameNode HA…

网络代理技术:保障隐私与增强安全

在当今数字化的世界中&#xff0c;网络代理技术的重要性日益凸显。无论您是普通用户还是网络工程师&#xff0c;了解如何使用代理技术来保护隐私和增强网络安全都是至关重要的。本文将深入探讨Socks5代理、IP代理以及它们在网络安全和隐私保护中的关键作用。 1. Socks5代理&am…

【LeetCode: 901. 股票价格跨度 | 单调栈】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

如何在VS2022中进行调试bug,调试的快捷键,debug与release之间有什么区别

什么是bug 在学习编程的过程中&#xff0c;应该都听说过bug吧&#xff0c;那么bug这个词究竟是怎么来的呢&#xff1f; 其实Bug的本意是“虫子”或者“昆虫”&#xff0c;在1947年9月9日&#xff0c;格蕾丝赫柏&#xff0c;一位为美国海军工作的电脑专家&#xff0c;也是最早…

【linux进程(三)】进程有哪些状态?--Linux下常见的三种进程状态

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; Linux进程 1. 前言2. 操作系统…

十五、异常(5)

本章概要 异常限制构造器 异常限制 当覆盖方法的时候&#xff0c;只能抛出在基类方法的异常说明里列出的那些异常。这个限制很有用&#xff0c;因为这意味着与基类一起工作的代码&#xff0c;也能和导出类一起正常工作&#xff08;这是面向对象的基本概念&#xff09;&#…

大话机器学习准确率(Accuracy)、精确率(Pecision)、召回率(Recall)以及TP、FP、TN、FN

话说三国时期&#xff0c;乱世出人才&#xff0c;当时刘备让张飞帮忙招兵买马&#xff0c;寻找人才。张飞发公告以后&#xff0c;有10人来面试&#xff0c;这10人分为两类&#xff0c;人才和庸才&#xff0c;各占百分之五十&#xff0c;张飞的主要作用就是从这10人中识别出人才…

添加、编辑和删除 前后端联调

一、添加 UI引入 <template><div><el-card class"box-card" style"height: 620px"><el-input v-model"query.name" style"width:200px" placeholder"请输入用户姓名" clearable></el-input>…