千家信息网

Oracle备份与恢复—概念

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,备份与恢复[TOC]1.什么是备份与恢复?   备份与恢复存在的意义只有一个就是保护数据库(保护数据还有本身),防止由于设备故障或者人为误操作而导致数据库损坏或数据的丢失。即便无法找回已经丢失的数据也
千家信息网最后更新 2025年02月24日Oracle备份与恢复—概念

备份与恢复

[TOC]
1.什么是备份与恢复?

   备份与恢复存在的意义只有一个就是保护数据库(保护数据还有本身),防止由于设备故障或者人为误操作而导致数据库损坏或数据的丢失。即便无法找回已经丢失的数据也可以根据备份信息重建丢失的数据。在某种需求下备份和恢复操作也是一种数据迁移的形式。

2.备份的分类:

   按照备份形式的不同可以将备份分为物理备份和逻辑备份。物理备份根据数据库的状态又可以分为冷备和热备。
物理备份:物理备份就是将数据库的物理文件拷贝到别的地方来保存数据文件的方式。

  • 冷备份:这种备份的首要要求就是需要数据库在关闭的情况下进行备份,也称为脱机备份,因为数据库需要关闭所以这种方法在生产环境用的比较少。要注意的是需要数据库 一致性关库才可以。这种方式可以进行完整备份,包括数据文件,控制文件以及日志文件。
  • 热备份:与冷备相对,可以在数据库启动的状态下进行备份。在生产环境中这样状态产生的备份往往与数据库实际数据是不一致的,因为刚刚备份的数据块正在被修改所以导致的不一致。为了保证备份最终是一致的,需要使用日志作为恢复的补充。所以想要进行热备份,归档是一定要打开的也因此比较占空间。

逻辑备份:逻辑备份只针对数据库内的数据,通过数据库导入导出工具来完成。是物理备份的一种补充形式。

3.备份的级别:
  • full backup:完全备份,针对某一个表空间或数据文件等,把表空间或数据库里面的数据全备份一次。
  • incremental backup:增量备份,需要在完全备份的基础上进行,备份变化的数据。可分为differential incremental backup差异增量备份(从上一次备份开始到现在发生的变化)和Cumulative incremental backup累计增量备份(从上一次全备进行比较备份的变化)
    level 0 -> 全备; level 1 -> 差异增量备份 level 1c -> 累计增量备份
4.完全恢复和不完全恢复:
  • 完全恢复:可以利用备份文件和日志文件,将数据库的信息恢复到最新的状态,可能会利用到归档日志和在线重做日志,将系统恢复到崩溃前的最新状态。可以通过alter database open将数据库打开。这个时候提交的事务数据不会有任何丢失。未提交的事务进行回滚。
  • 不完全恢复:因为发生了数据库的数据操作错误,希望把数据库恢复到发生错误之前。系统日志不完整,打开数据库需要alter database open resetlogs,并且在启动后进行全库备份。
5.SCN:
5.1 定义:

System Change Numbers (SCNs)&System Commit Numbers。系统改变号和系统提交号。SCN是Oracle数据库内部所使用的逻辑的时间戳。SCN的产生,系统产生一个新的SCN是根据当时的时间戳timestamp转换而来,每当需要产生一个最新的SCN到redo记录中时,系统都会获取当时的timestamp将其转换成数字作为SCN。

5.2 特点:

SCN本身也是一种时间,它是从建库开始就单调递增的序列,一次性最大可以增加32000个。SCN号是有上限的,当SCN号被使用完,数据库便不能够运行,但是几百年内是不会用完的。SCN是一个很重要的机制,在数据恢复,DG,RAC节点间同步等各个功能中起着重要的作用。

5.3 SCN种类:
  • 数据库当前的SCN:
SYS@proe>select current_scn from v$database;CURRENT_SCN-----------    2128297
  • 数据库检查点scn(系统scn),这个scn来自于控制文件,用来标识当前数据库的数据更新信息,表示数据库的更新行为。
SYS@proe>select checkpoint_change#,current_scn from v$database;CHECKPOINT_CHANGE# CURRENT_SCN------------------ -----------           2127934     2128360
  • 数据文件检查点SCN,来源于控制文件标识了每一个文件是什么时候同步的。
SYS@proe>select file#,checkpoint_change# from v$datafile order by 1;     FILE# CHECKPOINT_CHANGE#---------- ------------------         1            2127934         2            2127934         3            2127934         4            2127934         5            2127934         6            2127934         7            17285687 rows selected.
  • 数据文件头部检查点。
SYS@proe>select file#,checkpoint_change# from v$datafile_header;     FILE# CHECKPOINT_CHANGE#---------- ------------------         1            2127934         2            2127934         3            2127934         4            2127934         5            2127934         6            2127934         7            17285687 rows selected.#如果出现数据文件头部为0的情况则说明数据文件已经离线,没有读取这个数据文件。
  • 数据文件的关闭SCN(结束SCN)。
SYS@proe>select file#,checkpoint_change#,last_change# from v$datafile;     FILE# CHECKPOINT_CHANGE# LAST_CHANGE#---------- ------------------ ------------         1            2127934 (null)         2            2127934 (null)         3            2127934 (null)         4            2127934 (null)         5            2127934 (null)         6            2127934 (null)         7            1728568      17285687 rows selected.注意:正在运行的文件是没有last_change#的,只有readonly,offline才会有。以上两个值在一致性关闭后数值相同才正常。
6.SCN与TIME的相互转换函数
  • scn转时间戳:
SYS@proe>select scn_to_timestamp(2127934) from dual;SCN_TO_TIMESTAMP(2127934)---------------------------------------------------------------------------15-JUL-20 07.14.57.000000000 PM
  • 时间戳转scn:
SYS@proe>select timestamp_to_scn(to_timestamp('2020-07-13 07:15:24','yyyy-mm-dd hh34:mi:ss')) from dual;TIMESTAMP_TO_SCN(TO_TIMESTAMP('2020-07-1307:15:24','YYYY-MM-DDHH24:MI:SS'))---------------------------------------------------------------------------                                                                    1993469
7.关于restore和recover
  • restore:还原,类似于linux中cp命令,将备份拷贝到目标位置。
  • recover:修复,在restore后,指运用所有的重做日志文件,将数据库恢复到崩溃之前的状态,或者运用部分重做日志文件将数据库恢复到指定时间点,做不完全恢复。
数据 备份 数据库 文件 日志 系统 时间 物理 状态 一致 增量 逻辑 信息 就是 形式 检查点 空间 变化 控制 检查 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器生存视频第二期 沈阳的游戏软件开发公司 网络安全模式开启按什么 软件开发经费问题 wifi未正常连接服务器 如何快速打开安卓手机的数据库 廊坊软件开发公司河北米云 数据库如何放服务器里 文字识别技术属于数据库技术 软件开发中的形式化 上海盛也网络技术有限公司招聘 dnf台服数据库任务修改 上海智慧管理平台软件开发 网络安全技术培训问答题 5g软件开发工资 费思的服务器建造视频 计算机技术和网络技术区别 威海自然灾害数据库 网络安全对国家重要性论文 零基础学网络技术书籍 长宁区品质软件开发不二之选 升级数据库开的发票入账 时序数据库测试数据集 大数据网络安全可视化方案 网络安全同担平台 汉中ar软件开发哪里好 造价咨询企业数据库管理制度 如何找出相同的两个数据库 网络安全型企业 数据库中唯一记录的属性
0