当前位置: 首页 > news >正文

06.Oracle数据备份与恢复

Oracle数据备份与恢复

  • 一、通过RMAN方式备份
  • 二、使用emp/imp和expdb/impdb工具进行备份和恢复
  • 三、使用Data guard进行备份与恢复

一、通过RMAN方式备份

通过 RMAN(Oracle 数据库备份和恢复管理器)方式备份 Oracle 数据库,可以使用以下步骤:

  1. 启动归档模式
    查看是否为存档模式:

    SQL> archive log list;
    Database log mode              No Archive Mode
    Automatic archival             Disabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     11
    Current log sequence           13
    SQL>
    

    关闭数据库,并启动归档模式

    SQL> shutdown;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.Total System Global Area 1286066176 bytes
    Fixed Size                  2213016 bytes
    Variable Size             352324456 bytes
    Database Buffers          922746880 bytes
    Redo Buffers                8781824 bytes
    Database mounted.
    SQL> alter database archivelog;Database altered.SQL>
    

    打开数据库,并查看是否修改成功

    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     11
    Next log sequence to archive   13
    Current log sequence           13
    SQL>
    

如果想在归档模式下进行备份,只能把数据库启动到mount状态下才可以进行
但在生产环境中,一般情况下数据库是不能随意进行关闭的,所以一般在安装好数据库之后直接就开启归档模式,更改归档需要在mount模式下

  1. 打开 RMAN 命令行界面:
    [oracle@localhost ~]$ rman target /Recovery Manager: Release 11.2.0.1.0 - Production on Fri Nov 3 17:58:54 2023Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.connected to target database: ORCL (DBID=1679473799)RMAN>
    
  2. 开始备份
    (1) 使用backup database;对数据库直接备份
RMAN> backup database;Starting backup at 03-NOV-23
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=192 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 03-NOV-23
channel ORA_DISK_1: finished piece 1 at 03-NOV-23
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_nnndf_TAG20231103T194131_ln9q3d1w_.bkp tag=TAG20231103T194131 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 03-NOV-23
channel ORA_DISK_1: finished piece 1 at 03-NOV-23
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_ncsnf_TAG20231103T194131_ln9q3wok_.bkp tag=TAG20231103T194131 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 03-NOV-23RMAN>

进入相关目录查看备份结果
在这里插入图片描述

[oracle@localhost ~]$ cd /u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/
[oracle@localhost 2023_11_03]$ ll
total 1016728
-rw-r----- 1 oracle oinstall    9830400 Nov  3 18:09 o1_mf_ncsnf_TAG20231103T180906_ln9kp3ff_.bkp
-rw-r----- 1 oracle oinstall    9830400 Nov  3 19:25 o1_mf_ncsnf_TAG20231103T192501_ln9p4gqt_.bkp
-rw-r----- 1 oracle oinstall    9830400 Nov  3 19:41 o1_mf_ncsnf_TAG20231103T194131_ln9q3wok_.bkp
-rw-r----- 1 oracle oinstall 1011638272 Nov  3 19:41 o1_mf_nnndf_TAG20231103T194131_ln9q3d1w_.bkp
[oracle@localhost 2023_11_03]$

rman不但可以备份,也可以使用其进行管理,示例如下:
在这里插入图片描述
(2)使用backup tablespace USERS;对表空间的备份和恢复

RMAN> backup tablespace USERS;Starting backup at 03-NOV-23
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 03-NOV-23
channel ORA_DISK_1: finished piece 1 at 03-NOV-23
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_nnndf_TAG20231103T223829_lnb1h5d1_.bkp tag=TAG20231103T223829 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 03-NOV-23RMAN>

若表空间已损毁恢复,需要恢复表空间可以使用recover tablespace USERS;

使用 CROSSCHECK BACKUP 命令验证备份的完整性。RMAN 将检查备份文件的状态,并将其标记为“EXPIRED”(过期)或“AVAILABLE”(可用)。
示例如下:

RMAN> crosscheck backup;using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_ncsnf_TAG20231103T180906_ln9kp3ff_.bkp RECID=1 STAMP=1151950147
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_ncsnf_TAG20231103T192501_ln9p4gqt_.bkp RECID=2 STAMP=1151954702
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_nnndf_TAG20231103T194131_ln9q3d1w_.bkp RECID=3 STAMP=1151955692
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_ncsnf_TAG20231103T194131_ln9q3wok_.bkp RECID=4 STAMP=1151955708
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2023_11_03/o1_mf_nnndf_TAG20231103T223829_lnb1h5d1_.bkp RECID=5 STAMP=1151966309
Crosschecked 5 objectsRMAN>

二、使用emp/imp和expdb/impdb工具进行备份和恢复

emp/imp是Oracle传统的备份和恢复工具,它们使用二进制格式将数据导出和导入。
expdb/impdb是Oracle 10g及以上版本引入的新工具,它们使用XML格式将数据导出和导入。
下面我们将详细讲解如何使用这些工具进行备份和恢复。
  1. 使用emp/imp进行备份和恢复

    emp和imp命令用于将Oracle数据库中的数据导出到一个文件中,以便进行备份或迁移。它们可以将整个数据库或单个表导出到一个文件中,然后再将文件导入到另一个数据库中。

    备份数据:

    exp userid=username/password file=d:\backup\emp_backup.dmp full=y
    

    上述命令将整个数据库导出到d:\backup\emp_backup.dmp文件中。

    恢复数据:

    imp userid=username/password file=d:\backup\emp_backup.dmp full=y
    

    上述命令将d:\backup\emp_backup.dmp文件中的数据导入到数据库中。

  2. 使用expdb/impdb进行备份和恢复

    expdb和impdb命令是Oracle 10g及以上版本引入的新工具,它们使用XML格式将数据导出和导入。它们的使用方法与emp/imp相似。

    备份数据:

    expdp userid=username/password directory=backup_dir dumpfile=expdb_backup.dmp full=y
    

    上述命令将整个数据库导出到backup_dir目录下的expdb_backup.dmp文件中。

    恢复数据:

    impdp userid=username/password directory=backup_dir dumpfile=expdb_backup.dmp full=y
    

    上述命令将backup_dir目录下的expdb_backup.dmp文件中的数据导入到数据库中。

三、使用Data guard进行备份与恢复

Oracle Data Guard是Oracle数据库提供的一种高可用性解决方案,它可以实现数据备份和恢复的功能。它通过将主数据库的数据实时复制到一个或多个备用数据库,以提供数据冗余和灾难恢复能力。

下面是使用Data Guard进行备份和恢复的详细讲解:

  1. 配置Data Guard

首先,需要在主数据库和备用数据库上配置Data Guard。在主数据库上进行以下操作:

  • 启用归档模式:ALTER DATABASE ARCHIVELOG;

  • 配置日志传输服务:ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=standby_db ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby_db';

在备用数据库上进行以下操作:

  • 启用归档模式:ALTER DATABASE ARCHIVELOG;

  • 配置日志应用服务:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

  1. 启动Data Guard

在主数据库上启动Data Guard:

  • 启动日志传输服务:ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

在备用数据库上启动Data Guard:

  • 启动日志应用服务:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
  1. 数据备份和恢复

在Data Guard配置完成后,主数据库上的数据将实时复制到备用数据库。如果主数据库发生故障,可以使用备用数据库进行数据恢复。

备份数据:

  • 在备用数据库上创建备份:RMAN> BACKUP DATABASE;

恢复数据:

  • 在备用数据库上进行故障切换:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

  • 将备用数据库切换为主数据库:ALTER DATABASE ACTIVATE STANDBY DATABASE;

  • 在新的备用数据库上进行数据恢复:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

相关文章:

06.Oracle数据备份与恢复

Oracle数据备份与恢复 一、通过RMAN方式备份二、使用emp/imp和expdb/impdb工具进行备份和恢复三、使用Data guard进行备份与恢复 一、通过RMAN方式备份 通过 RMAN(Oracle 数据库备份和恢复管理器)方式备份 Oracle 数据库,可以使用以下步骤&a…...

大航海时代Ⅳ 威力加强版套装 HD Version (WinMac)中文免安装版

《大航海时代》系列的人气SRPG《大航海时代IV》以HD的新面貌再次登场!本作品以16世纪的欧洲“大航海时代”为舞台,玩家将以探险家、商人、军人等不同身份与全世界形形色色的人们一起上演出跌宕起伏的海洋冒险。游戏中玩家的目的是在不同的海域中掌握霸权…...

微信小程序 uCharts的使用方法

一、背景 微信小程序项目需要渲染一个柱状图,使用uCharts组件完成 uCharts官网指引👉:uCharts官网 - 秋云uCharts跨平台图表库 二、实现效果 三、具体使用 进入官网查看指南,有两种方式进行使用:分别是原生方式与组…...

面试算法54:所有大于或等于节点的值之和

题目 给定一棵二叉搜索树,请将它的每个节点的值替换成树中大于或等于该节点值的所有节点值之和。假设二叉搜索树中节点的值唯一。例如,输入如图8.10(a)所示的二叉搜索树,由于有两个节点的值大于或等于6(即…...

七月论文审稿GPT第二版:从Meta Nougat、GPT4审稿到LongLora版LLaMA、Mistral

前言 如此前这篇文章《学术论文GPT的源码解读与微调:从chatpaper、gpt_academic到七月论文审稿GPT》中的第三部分所述,对于论文的摘要/总结、对话、翻译、语法检查而言,市面上的学术论文GPT的效果虽暂未有多好,可至少还过得去&am…...

PyTorch入门学习(十二):神经网络-搭建小实战和Sequential的使用

目录 一、介绍 二、先决条件 三、代码解释 一、介绍 在深度学习领域,构建复杂的神经网络模型可能是一项艰巨的任务,尤其是当您有许多层和操作需要组织时。幸运的是,PyTorch提供了一个方便的工具,称为Sequential API&#xff0c…...

Linux shell编程学习笔记20:case ... esac、continue 和break语句

一、case ... esac语句说明 在实际编程中,我们有时会请到多条件多分支选择的情况,用if…else语句来嵌套处理不烦琐,于是JavaScript等语言提供了多选择语句switch ... case。与此类似,Linux Shell脚本编程中提供了case...in...esa…...

树莓派4无法进入桌面模式(启动后出现彩色画面,然后一直黑屏,但是可以正常启动和ssh)

本文记录了这段比较坎坷的探索之路,由于你的问题不一定是我最终解决方案的,可能是前面探索路上试过的,所以建议按顺序看排除前置问题。 双十一又买了个树莓派 4B,插上之前树莓派 4B 的 TF 卡直接就能使用(毕竟是一样规…...

花草世界生存技能

多菌灵 杀菌常用 阿维菌素 杀虫常用 除蚜虫 吡虫啉 有毒性 内吸性(植物吸收) 苦参碱 无毒,中药提取 内吸性药 吡虫啉,噻虫嗪、啶虫脒、苦参碱 栀子花 春秋花后修剪 牡丹 秋冬种植; 洛阳产地; 肥料 …...

执行npm install时老是安装不成功node-sass的原因和解决方案

相信你安装前端项目所需要的依赖包(npm install 或 yarn install)时,有可能会出现如下报错: D:\code\**project > yarn install ... [4/4] Building fresh packages... [-/6] ⠁ waiting... [-/6] ⠂ waiting... [-/6] ⠂ wai…...

【MongoDB】集群搭建实战 | 副本集 Replica-Set | 分片集群 Shard-Cluster | 安全认证

文章目录 MongoDB 集群架构副本集主节点选举原则搭建副本集主节点从节点仲裁节点 连接节点添加副本从节点添加仲裁者节点删除节点 副本集读写操作副本集中的方法 分片集群分片集群架构目标第一个副本集第二个副本集配置集初始化副本集路由集添加分片开启分片集合分片删除分片 安…...

「Verilog学习笔记」四选一多路器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 通过波形示意图我们可以发现,当sel为0,1,2时,输出mux_out分别为d3,d2,d1,那么sel3…...

asp.net 创建docker容器

首先创建asp.net web api 创建完成后如下图 添加docker支持 添加docker支持 添加linux docker支持...

Linux项目自动化构建工具-make/Makefile使用

make/Makefile使用介绍 make是一个命令makefile是一个在当前目录下存在的一个具有特定格式的文本文件 ​ 下面我们设计一个场景&#xff0c;实现make命令对我们code.c文件进行编译和删除。 1 #include<stdio.h> 2 3 int main() 4 { 5 printf("hello,world!…...

【React】03.脚手架的进阶应用

文章目录 暴露webpack配置暴露前后的区别config文件夹&#xff1a;scripts文件夹&#xff1a;package.json 常见的配置修改1.把sass改为less2.配置别名3.修改域名和端口号4.修改浏览器兼容5.处理Proxy跨域 2023年最新珠峰React全家桶【react基础-进阶-项目-源码-淘系-面试题】 …...

WPF开源控件HandyControl——零基础教程

学习Handycontrol的过程中,为后边快速开发,写的零基础教程,尽量看完就可以实践! 参考教程 中文文档:欢迎使用HandyControl | HandyOrg Github代码:https://github.com/HandyOrg/HandyControl 使用教程:WPF-HandyControl安装和使用 - 掘金 安装配置教程 创建wpf项目 …...

chinese-stable-diffusion中文场景文生图prompt测评集合

腾讯混元大模型文生图操作指南.dochttps://mp.weixin.qq.com/s/u0AGtpwm_LmgnDY7OQhKGg腾讯混元大模型再进化&#xff0c;文生图能力重磅上线&#xff0c;这里是一手实测腾讯混元的文生图在人像真实感、场景真实感上有比较明显的优势&#xff0c;同时&#xff0c;在中国风景、动…...

K-均值聚类算法

K-均值聚类算法是一种常用的无监督学习算法&#xff0c;目的是将一组数据点分为 K 个聚类。它的主要思想是通过迭代的方式不断调整聚类中心的位置&#xff0c;使得数据点与最近的聚类中心之间的距离最小。 算法步骤如下&#xff1a; 初始化 K 个聚类中心&#xff0c;可以随机…...

Xbox漫游指南

以Xbox series s为例 开机启动 用手柄连接&#xff0c;注意两颗电池要方向相反插入&#xff0c;虽然里面2个插槽长一样&#xff1b; Xbox APP极其难用&#xff0c;放弃&#xff0c;直接用手柄连接 转区 只需要一个空U盘&#xff0c;大小不限制&#xff0c;格式化为NTPS格式…...

降低毕业论文写作压力的终极指南

亲爱的同学们&#xff0c;时光荏苒&#xff0c;转眼间你们即将踏入毕业生的行列。毕业论文作为本科和研究生阶段的重要任务&#xff0c;不仅是对所学知识的综合运用&#xff0c;更是一次对自己学术能力和专业素养的全面考验。然而&#xff0c;论文写作常常伴随着压力和焦虑&…...

在Windows 11上用Bochs调试Linux 0.00:从BIOS加载到保护模式切换的完整实战

在Windows 11上用Bochs调试Linux 0.00&#xff1a;从BIOS加载到保护模式切换的完整实战 如果你对操作系统的底层实现充满好奇&#xff0c;想亲手探索计算机从加电到运行第一个用户程序的完整过程&#xff0c;那么这次实验将是一次绝佳的实践机会。我们将使用Bochs模拟器&#x…...

25619+ASMR资源一键获取:让音频收藏效率提升10倍的智能下载工具

25619ASMR资源一键获取&#xff1a;让音频收藏效率提升10倍的智能下载工具 【免费下载链接】asmr-downloader A tool for download asmr media from asmr.one(Thanks for the asmr.one) 项目地址: https://gitcode.com/gh_mirrors/as/asmr-downloader 在数字音频时代&am…...

数学建模竞赛避坑指南:E题‘AI体测’数据预处理与特征工程实战解析

数学建模竞赛E题深度解析&#xff1a;从数据清洗到特征工程的实战避坑指南 数学建模竞赛中&#xff0c;数据处理环节往往决定了模型的成败。面对E题"AI体测"这类涉及多源异构数据的题目&#xff0c;许多参赛队伍在数据预处理阶段就埋下了隐患。本文将结合实战经验&am…...

异步流式响应总卡顿、丢帧、OOM?FastAPI 2.0三大核心配置必须在上线前重写,否则AI服务将不可用

第一章&#xff1a;FastAPI 2.0异步AI流式响应的典型故障图谱在 FastAPI 2.0 中启用异步流式响应&#xff08;如 StreamingResponse 配合 async generator&#xff09;处理大语言模型推理输出时&#xff0c;常见故障并非源于逻辑错误&#xff0c;而是由异步生命周期、客户端兼容…...

Java并发包中锁机制的底层实现原理剖析

实现java并发包中的锁机制底层主要有两种方式&#xff1a;1.基于jvm的monitor机制和对象头中的mark&#xff0c;synchronized关键字 word实现并通过锁升级(偏向锁→轻量级锁→重量级锁)优化性能&#xff1b;2.java.util.concurrent.locks包中的锁基于abstractquedsynchronizer&…...

【限时技术白皮书】:Istio 1.20正式版Java适配黄金72小时——我们已验证的6大兼容性断点及热修复方案

第一章&#xff1a;Istio 1.20正式版Java微服务适配全景概览Istio 1.20 正式版于2023年10月发布&#xff0c;针对Java生态的可观测性、安全通信与流量治理能力进行了系统性增强。该版本在Sidecar注入、Java应用兼容性、OpenTelemetry集成及JVM指标采集方面均实现关键演进&#…...

大学生专属福利:手把手教你用阿里云ECS免费搭建个人Linux服务器(附7个月白嫖攻略)

大学生零成本玩转云服务器&#xff1a;阿里云ECS实战指南 第一次接触云服务器时&#xff0c;我盯着控制台密密麻麻的选项发懵——地域、实例规格、安全组…这些术语对计算机系大二的我来说&#xff0c;就像天书。直到用学生身份白嫖了阿里云ECS&#xff0c;才真正理解了云计算的…...

OpCore Simplify:自动化OpenCore EFI配置的革命性工具

OpCore Simplify&#xff1a;自动化OpenCore EFI配置的革命性工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款专为Hackinto…...

单细胞分析进阶:手把手教你用hdWGCNA挖掘Treg细胞关键基因模块(附完整代码)

单细胞分析进阶&#xff1a;手把手教你用hdWGCNA挖掘Treg细胞关键基因模块&#xff08;附完整代码&#xff09; 在免疫微环境中&#xff0c;调节性T细胞&#xff08;Treg&#xff09;扮演着维持免疫平衡的关键角色。理解这些细胞的基因共表达网络对于揭示其功能机制至关重要。本…...

OpenClaw与Qwen3-VL:30B:高效个人AI办公助手实战

OpenClaw与Qwen3-VL:30B&#xff1a;高效个人AI办公助手实战 1. 为什么选择OpenClawQwen3-VL组合 去年冬天&#xff0c;当我第5次因为会议记录整理到凌晨两点时&#xff0c;终于决定寻找自动化解决方案。在尝试了市面上各种RPA工具后&#xff0c;偶然发现了OpenClaw这个开源框…...