Oracle数据库备份和恢复的几种方式

ops/2024/10/18 22:36:52/

Oracle数据库备份和恢复的几种方式

目录

  • 一、关于备份与恢复
  • 二、逻辑备份expdp和impdp)
  • 三、物理备份
  • 四、数据库日常备份计划及脚本参考

一、关于备份与恢复

1、备份定义

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

2、备份分类

从物理与逻辑的角度来分类:
从物理与逻辑的,备份可以分为物理备份和逻辑备份
物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是以归档日志的方式对运行的数据库进行备份。可以使用oracle的恢复管理器(RMAN)或操作系统命令进行数据库的物理备份。
逻辑备份:对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三方工具,都可以进行数据库逻辑备份

数据库的备份角度分类:
数据库的备份角度,备份可以分为完全备份和增量备份和差异备份
完全备份:每次对数据库进行完整备份,当发生数据丢失的灾难时,完全备份无需依赖其他信息即可实现100%的数据恢复,其恢复时间最短且操作最方便。
增量备份:只有那些在上次完全备份或增量备份后被修改的文件才会被备份。优点是备份数据量小,需要的时间短,缺点是恢复的时候需要依赖以前备份记录,出问题的风险较大。
差异备份:备份那些自从上次完全备份之后被修改过的文件。从差异备份中恢复数据的时间较短,因此只需要两份数据—最后一次完整备份和最后一次差异备份,缺点是每次备份需要的时间较长。

3、恢复定义

恢复就是发生故障后,利用已备份的数据文件或控制文件,重新建立一个完整的数据库

4、恢复分类

实例恢复:当oracle实例出现失败后,oracle自动进行的恢复
介质恢复:当存放数据库的介质出现故障时所作的恢复。介质恢复又分为完全恢复和不完全恢复
完全恢复:将数据库恢复到数据库失败时的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。
不完全恢复:将数据库恢复到数据库失败前的某一时刻的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的。进行不完全恢复后,必须在启动数据库时用resetlogs选项重设联机重做日志。

二、逻辑备份expdp和impdp)

1、expdp/impdp和exp/imp的区别

  1. exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
  2. expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。
  3. imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
  4. 对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

本节主要讲解的是expdp/impdp的用法,不涉及到exp和imp。

2 使用expdp备份数据的步骤(以TEST库为例)

  • 使用下面命令前提是已经切换到oracle用户(sudo -u root oracle -p)

备份数据

–以下是使用expdp方式进行逻辑备份的方法

① 创建备份文件存放的目标路径(使用命令前请确保目标路径是存在的)

CREATE DIRECTORY expdp AS ‘/data/oradata/xmcs/expdp

② 查看是否创建成功

select * from dba_directories;

③ 备份TEST库的数据(在终端运行该命令)

expdp TEST/TEST@xmcs directory=expdp dumpfile=TEST_%U.dmp logfile=TEST_expdp.log

恢复备份

oracle用户在终端运行如下命令

impdp TEST/TEST@xmcs directory=expdp dumpfile=TEST_%U.dmp table_exists_action=truncate exclude=view,procedure,function,sequence,trigger,synonym,grant,package,package_body,type,type_body,db_link,user,role full=y

命令有些复杂,以下是对命令中各个参数的解释:

  • TEST/TEST@xmcs:
  • TEST: 数据库用户名。
  • TEST: 数据库用户密码。
  • xmcs: 数据库连接字符串,通常包括数据库服务名。
  • directory=expdp:
  • directory: 指定一个数据库目录对象,该对象在数据库中定义了数据泵导出/导入文件的物理位置。
  • dumpfile=TEST_%U.dmp:
  • dumpfile: 指定要导入的转储文件的名称。%U是一个通配符,用于支持多文件转储。
  • table_exists_action=truncate:
  • table_exists_action: 指定当表已经存在时的操作。truncate表示在导入之前截断表。
  • exclude=view,procedure,function,sequence,trigger,synonym,grant,package,package_body,type,type_body,db_link,user,role:
  • exclude: 指定在导入过程中要排除的对象类型。这里列出了多种对象类型,如视图、存储过程、函数、序列、触发器、同义词、权限、包、包体、类型、类型体、数据库链接、用户和角色。
  • full=y:
  • full: 指定是否要执行完全模式导入。y表示是,这将导入转储文件中的所有对象和数据。

除了这些参数,impdp命令还支持许多其他参数,以下是一些常见的参数及其作用:

  • schemas: 指定要导入的模式。
  • tables: 指定要导入的表。
  • parallel: 指定并行度,用于并行导入以提高性能。
  • remap_schema: 将源模式中的对象重映射到目标模式。
  • remap_table: 将源表重映射到目标表。
  • transform: 应用转换规则,如数据类型转换。
  • cluster: 指定是否导入集群对象。
  • content: 指定要导入的内容类型(如ALL、DATA_ONLY、METADATA_ONLY)。
  • flashback_scn 或 flashback_time: 用于导入到数据库的某个历史点。
  • statistics: 指定是否导入表的统计信息。
  • data_options: 指定数据导入的选项,如skip_CONSTRAINT_ERRORS跳过违反约束的行。

这些参数可以根据具体的导入需求进行组合使用,以实现不同的导入效果。在使用这些参数之前,建议查阅Oracle官方文档以获取更详细的解释和示例。


http://www.ppmy.cn/ops/104589.html

相关文章

互联网编程:实验二 多线程/线程池TCP服务器端程序设计

1.多线程TCP服务器: 改写socket服务器端程序,设计编写出一个TCP服务器端程序:要求使用多线程处理多个客户端的连接请求(每个线程实例处理一个客户端连接)。客户端与服务器端之间的通信内容,以及服务器端的…

Java后端 - 常见BUG及其处理策略(持续更新中~)

Bug 收集与总结 本文记录的是 本人SpringBoot 后端项目使用和运行代码时所遇到的各种问题,全部都已解决,欢迎在评论区补充你遇到的 Bug 哦!仅以本文记录学习社区项目时,所遇到的奇奇怪怪的 bug,以及一些很愚蠢的错误&…

废品回收小程序,从传统到现代化的回收模式

在数字化发展的当下,废品回收行业也进行了更新换代,由传统“喊卖”,到目前的线上回收,将互联网小程序与废品回收相结合,打造一个线上回收模式,让大众可以直接通过手机进行回收。小程序的出现不仅解决了传统…

JavaScript 在 VSCode 中的开发体验

JavaScript 在 VSCode 中的开发体验 JavaScript 是一种广泛使用的编程语言,它让网页变得生动有趣。而 VSCode(Visual Studio Code)则是一款非常流行的代码编辑器,以其强大的功能和灵活性著称。在这篇文章中,我们将探讨在 VSCode 中使用 JavaScript 进行开发的体验,包括其…

利用TOPSIS算法进行生长素和施肥量对农作物各指标影响力的分析

文章目录 1 摘要2 问题的重述1. 背景介绍2. 问题的产生及进行数学建模的意义 3 TOPSIS算法1. TOPSIS算法介绍2. TOPSIS算法使用步骤 4 问题的分析1. 对问题一的分析及解答2. 对问题二的分析及解答3. 对问题三的分析及解答 5 模型的改进1. 验证2.模型改进…

基于大数据的电商平台电脑销售数据分析系统

B站视频及代码下载:基于大数据的电商平台电脑销售数据分析系统_哔哩哔哩_bilibili 1. 项目简介 随着电子商务的蓬勃发展,各大电商平台积累了海量的商品数据。如何从这些数据中提取有价值的信息,对于商家来说至关重要。本项目利用网络爬虫技术…

WHAT - 一个 IP 地址与地理信息的关联

目录 全球范围内的地理信息管理和映射1. 大洲(Continent)2. 国家(Country)3. 省/州(Province/State),又称一级行政单位4. 市(City)5. 街道/邮政编码(Street/P…

k8s安全

Kubernetes(k8s)的安全机制是围绕保护其API Server来设计的,主要包括认证(Authentication)、鉴权(Authorization)和准入控制(Admission Control)三个核心环节。下面分别对…