详细介绍下oracle冷备(coolbackup)

    冷备,也就说数据库不是运行(热的状态)的备份。有些时候我们的数据库比较小,进行同操作系统数据迁移和恢复的时候就比较好用。下面我们详细介绍下oracle数据库的冷备(我们使用最简单的拷贝数据文件方式进行冷备,暂时不介绍rman下的copy)。

一、适用模式

    不管oracle是在归档模式下还是在非归档模式下,都可以使用冷备。本次我们测试在归档模式下的数据库:

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

二、冷备流程

2.1,工作流程

    首先在运行的库中得到数据库运行的所有的物理文件,然后再计划内关闭数据库。再执行物理文件到备份路径,备份完成后立即启动数据库让其提供正常服务。

2.2,基础信息查询

    查询v$database

SQL> select name,log_mode,open_mode from v$database;

NAME                                               LOG_MODE     OPEN_MODE
-------------------------------------------------- ------------ --------------------
ORCL                                               ARCHIVELOG   READ WRITE

SQL> 

    查询数据文件


SQL> select file#,ts#,name from v$datafile;

     FILE#        TS# NAME
---------- ---------- --------------------------------------------------
         1          0 /oracle/app/data/ORCL/system01.dbf
         2          1 /oracle/app/data/ORCL/sysaux01.dbf
         3          2 /oracle/app/data/ORCL/undotbs01.dbf
         4          4 /oracle/app/data/ORCL/users01.dbf
         5          5 /oracle/app/data/ORCL/DT_TPC_DAT.DBF
         6          6 /oracle/app/data/ORCL/DT_CAT_DAT.DBF
         7          8 /oracle/app/data/ORCL/DT_TEST_DAT.DBF

7 rows selected.

    查询控制文件


SQL> select name,status from v$controlfile;

NAME                                               STATUS
-------------------------------------------------- -------
/oracle/app/data/ORCL/control01.ctl
/oracle/app/oracle/flash_recovery_area/ORCL/contro
l02.ctl

    查询redo文件


SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                       IS_
---------- ------- ------- ------------------------------------------------------------ ---
         1         ONLINE  /oracle/app/data/ORCL/redo01.log                             NO
         3         ONLINE  /oracle/app/data/ORCL/redo03.log                             NO
         2         ONLINE  /oracle/app/data/ORCL/redo02.log                             NO

    查询临时数据文件

SQL> select file#,ts#,name from v$tempfile;

     FILE#        TS# NAME
---------- ---------- --------------------------------------------------
         1          3 /oracle/app/data/ORCL/temp01.dbf

SQL> 

    查询参数文件(我本地使用的是spfile)

SQL> show parameter spfile;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /oracle/app/oracle/db11g/produ
                                                 ct/dbs/spfileORCL.ora
SQL> 

2.3,制作备份脚本

    制作查询语句,查询出所有备份数据文件的脚本(大家可以把后续控制文件和日志文件的弄成一个语句,我这里为了分类,就没有合并了):


SQL> select 'cp '||name||' /colbackup/' backname from v$datafile;

BACKNAME
------------------------------------------------------------
cp /oracle/app/data/ORCL/system01.dbf /colbackup/
cp /oracle/app/data/ORCL/sysaux01.dbf /colbackup/
cp /oracle/app/data/ORCL/undotbs01.dbf /colbackup/
cp /oracle/app/data/ORCL/users01.dbf /colbackup/
cp /oracle/app/data/ORCL/DT_TPC_DAT.DBF /colbackup/
cp /oracle/app/data/ORCL/DT_CAT_DAT.DBF /colbackup/
cp /oracle/app/data/ORCL/DT_TEST_DAT.DBF /colbackup/

7 rows selected.

SQL> 

    查询出备份控制文件的脚本


SQL> select 'cp '||name||' /colbackup/' backname from v$controlfile;

BACKNAME
------------------------------------------------------------
cp /oracle/app/data/ORCL/control01.ctl /colbackup/
cp /oracle/app/oracle/flash_recovery_area/ORCL/control02.ctl
 /colbackup/


SQL> 

    查询出备份redo文件的脚本

SQL> select 'cp '||member||' /colbackup/' backname from v$logfile;

BACKNAME
------------------------------------------------------------
cp /oracle/app/data/ORCL/redo01.log /colbackup/
cp /oracle/app/data/ORCL/redo03.log /colbackup/
cp /oracle/app/data/ORCL/redo02.log /colbackup/

SQL> 

    查询备份临时数据文件的脚本

SQL> select 'cp '||name||' /colbackup/' backname from v$tempfile;

BACKNAME
------------------------------------------------------------
cp /oracle/app/data/ORCL/temp01.dbf /colbackup/

SQL> 

    参数文件我采取生成pfile的形式进行备份:


SQL> create pfile='/colbackup/pfile20241121.ora' from spfile;

File created.

SQL> 

2.4,停止数据库

    我们开始冷备份前,先停止数据库,确保备份后的数据文件保持一致性。

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> 

2.5,开始备份

    我们在colbackup目录下面新建立一个bak.sh文件,把之前生成的所有脚本放入其中,然后执行脚本开始备份

[root@oracle11g colbackup]# pwd
/colbackup
[root@oracle11g colbackup]# cat bak.sh
cp /oracle/app/data/ORCL/system01.dbf /colbackup/
cp /oracle/app/data/ORCL/sysaux01.dbf /colbackup/
cp /oracle/app/data/ORCL/undotbs01.dbf /colbackup/
cp /oracle/app/data/ORCL/users01.dbf /colbackup/
cp /oracle/app/data/ORCL/DT_TPC_DAT.DBF /colbackup/
cp /oracle/app/data/ORCL/DT_CAT_DAT.DBF /colbackup/
cp /oracle/app/data/ORCL/DT_TEST_DAT.DBF /colbackup/
cp /oracle/app/data/ORCL/control01.ctl /colbackup/
cp /oracle/app/oracle/flash_recovery_area/ORCL/control02.ctl /colbackup/
cp /oracle/app/data/ORCL/redo01.log /colbackup/
cp /oracle/app/data/ORCL/redo03.log /colbackup/
cp /oracle/app/data/ORCL/redo02.log /colbackup/
cp /oracle/app/data/ORCL/temp01.dbf /colbackup/
[root@oracle11g colbackup]# 

三、说明

    至此我们整个库的冷备就完成了,冷备一般情况下用得比较少,毕竟oracle一般采用rman等热备的形式进行库的备份。但是在一些情况下冷备还是很有用的,例如库小(数据容量大小)的时候,不想通过新建立库的时候完成整库的迁移 ;又或者是库出现故障的时候,需要进行不完全恢复,也可以通过冷备先保护下原始文件,再进行不完全恢复。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

删库跑路,启动!

起因:这是一个悲伤的故事,在抓logcat时 device待机自动回根目录了,而题主对当前路径的印象还停留在文件夹下,不小心在根目录执行了rm -rf * … 所以,这是个悲伤的故事,东西全没了…device也黑屏了&#xff…

Ubuntu下的Eigen库的安装及基本使用教程

一、Eigen库介绍 简介 Eigen [1]目前最新的版本是3.4,除了C标准库以外,不需要任何其他的依赖包。Eigen使用的CMake建立配置文件和单元测试,并自动安装。如果使用Eigen库,只需包特定模块的的头文件即可。 基本功能 Eigen适用范…

OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:分享|16个含源码和数据集的计算机视觉实战项目 本文将分享16个含源码和数据集的计算机视觉实战项目。具体包括: 1. 人…

MySQL win安装 和 pymysql使用示例

目录 一、MySQL安装 下载压缩包: 编写配置文件: 配置环境变量: 初始化服务和账户 关闭mysql开机自启(可选) 建议找一个数据库可视化软件 二、使用pymysql操作数据库 安装pymysql 示例代码 报错处理 一、My…

springboot基于微信小程序的停车场管理系统

摘 要 停车场管理系统是一种基于移动端的应用程序,旨在方便车主停车的事务办理。该小程序提供了便捷的停车和功能,使车主能够快速完成各项必要的手续和信息填写。旨在提供一种便捷、高效的预约停车方式,减少停车手续的时间和精力成本。通过该…

js:数组转换为字符串

1、使用join 通过join,将数组拼接,使用,进行分割 let array [a, b, c] let str array.join(,); console.log(str) 2、使用toString() const array [a, b, c] const string array.toString() console.log(string) 3、使用扩展运算符和…

npm上传自己封装的插件(vue+vite)

一、npm账号及发包删包等命令 若没有账号,可在npm官网:https://www.npmjs.com/login 进行注册。 在当前项目根目录下打开终端命令窗口,常见命令如下: 1、登录命令:npm login(不用每次都重新登录&#xff0…

路由缓存后跳转到新路由时,上一路由中的tip信息框不销毁问题解决

上一路由tip信息框不销毁问题解决 路由缓存篇问题描述及截图解决思路关键代码 路由缓存篇 传送门 问题描述及截图 路由缓存后跳转新路由时,上一个路由的tip信息框没销毁。 解决思路 在全局路由守卫中获取DOM元素,通过css去控制 关键代码 修改文…

uni-app 界面TabBar中间大图标设置的两种方法

一、前言 最近写基于uni-app 写app项目的时候,底部导航栏 中间有一个固定的大图标,并且没有激活状态。这里记录下实现方案。效果如下(党组织这个图标): 方法一:midButton的使用 官方文档:ta…

Apple Vision Pro开发003-PolySpatial2.0新建项目

unity6.0下载链接:Unity 实时开发平台 | 3D、2D、VR 和 AR 引擎 一、新建项目 二、导入开发包 com.unity.polyspatial.visionos 输入版本号 2.0.4 com.unity.polyspatial(单独导入),或者直接安装 三、对应设置 其他的操作与之前的版本相同…

xiaolin coding 图解网络笔记——基础篇

基础篇 Linux 系统是如何收发网络包的? 网络模型 为了使多种设备能通过网络相互通信,和为了解决不同设备在网络互连中的兼容性问题,国际标准化组织制定了开放式系统互连通信参考模型(Open System Interconnection Reference Mo…

【vba源码】导入excel批注信息

Hi,大家好呀! 又到了一周一分享的时间,上周繁忙的我都没有给大家直播,视频也没更新,那这周大家放心,都会给大家更新,今天我们来讲点啥呢?每周找优质的内容给大家更新是我最最痛苦的…

跨平台WPF框架Avalonia教程 十三

AutoCompleteBox 自动补全输入框 自动补全输入框提供了一个供用户输入的文本框和一个包含可能匹配项的下拉列表。下拉列表会在用户开始输入时显示,并且每输入一个字符,匹配项都会更新。用户可以从下拉列表中选择匹配项。 文本与可能项匹配的方式是可配…

MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)

MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk) 1.计算模型介绍 使用GARCH(广义自回归条件异方差)模型计算VaR(风险价值)时,方差法是一个常用的方法。GARCH模型能够捕捉到金融时间序列数据中的波…

力扣 LeetCode 513. 找树左下角的值(Day8:二叉树)

解题思路: 方法一:递归法(方法二更好理解,个人更习惯方法二) 前中后序均可,实际上没有中的处理 中左右,左中右,左右中,实际上都是左在前,所以遇到的第一个…

Nuget For Unity插件介绍

NuGet for Unity:提升 Unity 开发效率的利器 NuGet 是 .NET 开发生态中不可或缺的包管理工具,你可以将其理解为Unity的Assets Store或者UPM,里面有很多库可以帮助我们提高开发效率。当你想使用一个库,恰好这个库没什么依赖(比如newtonjson),那么下载包并找到Dll直接…

“乐鑫组件注册表”简介

当启动一个新的开发项目时,开发者们通常会利用库和驱动程序等现有的代码资源。这种做法不仅节省时间,还简化了项目的维护工作。本文将深入探讨乐鑫组件注册表的概念及其核心理念,旨在指导您高效地使用和贡献组件。 概念解析 ESP-IDF 的架构…

药房革新:Spring Boot中药实验管理系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

嵌入式 UI 开发的开源项目推荐

嵌入式开发 UI 难吗?你的痛点我懂!作为嵌入式开发者,你是否也有以下困扰?设备资源太少,功能和美观只能二选一?调试效率低,每次调整都要反复烧录和测试?开发周期太长,让你…

CTF--php伪协议结合Base64绕过

Base64绕过 在ctf中,base64是比较常见的编码方式,在做题的时候发现自己对于base64的编码和解码规则不是很了解,并且恰好碰到了类似的题目,在翻阅了大佬的文章后记录一下,对于base64编码的学习和一个工具 base64编码是…