Oracle备份与恢复详解

2023-11-08 1310阅读

然而,由于计算机系统故障影响数据库系统的运行,导致数据库的内容受到影响。数据的准确性甚至可能破坏数据库,导致数据库中的全部或部分数据丢失。因此,当出现上述故障时,希望能够重建完整的数据库。这个过程称为数据库恢复。恢复过程大致可以分为恢复和恢复过程。您可以使用 Oracle 的恢复管理器 或操作系统命令来执行数据库的物理备份。当发生数据丢失灾难时,全量备份可以实现100%的数据恢复,无需依赖其他信息。恢复时间最短,操作最方便。在其他情况下,Oracle 在下次数据库重新启动时自动执行实例恢复。数据永远是最重要的,所以备份和恢复是必要的,尤其是对于DBA来说。

概述

当我们使用数据库的时候,总是希望数据库的内容是可靠的、正确的。 然而,由于计算机系统故障(硬件故障、软件故障、网络故障、进程故障、系统故障)影响数据库系统的运行,导致数据库的内容受到影响。 数据的准确性甚至可能破坏数据库,导致数据库中的全部或部分数据丢失。 因此,当出现上述故障时,希望能够重建完整的数据库。 这个过程称为数据库恢复。 恢复过程大致可以分为恢复(Restore)和恢复(Recover)过程。

oracle中执行存储过程_执行存储过程oracle_oracle中执行存储过程

备份分类

备份是将数据库复制到转储设备的过程。 转储设备是指用于放置数据库副本的磁带或磁盘。 从不同角度分类如下:

1)从物理和逻辑角度分类

从物理和逻辑角度来看,备份可以分为物理备份和逻辑备份。

①物理备份:

数据库操作系统物理文件的备份,例如数据文件、控制文件和日志文件。 物理备份可分为离线备份(冷备份)和在线备份(热备份)。 前者在数据库关闭时执行,后者以归档日志方式备份运行的数据库。 您可以使用 Oracle 的恢复管理器 (RMAN) 或操作系统命令来执行数据库的物理备份。

②逻辑备份:

数据库逻辑组件的备份,例如表和存储过程等数据库对象。 逻辑备份的手段有很多,比如传统的EXP、数据泵EXPDP、数据库闪回技术以及第三方工具等,都可以对数据库进行逻辑备份。

2)从数据库备份策略角度分类

①全量备份:

每次都对您的数据进行完整备份。 当发生数据丢失灾难时,全量备份可以实现100%的数据恢复,无需依赖其他信息。 恢复时间最短,操作最方便。

②增量备份:

仅备份自上次完整备份或增量备份以来修改过的文件。 优点是备份数据量小,所需时间短。 缺点是恢复时需要依赖之前的备份记录,出现问题的风险较大。

③差异备份:

备份自上次完整备份以来已修改的文件。 从差异备份恢复数据库所需的时间较短,因此只需要数据的两个副本(最后一个完整备份和最后一个差异备份)。 缺点是每次备份时间较长。

oracle中执行存储过程_oracle中执行存储过程_执行存储过程oracle

备份分类

备份和恢复策略注意事项

执行存储过程oracle_oracle中执行存储过程_oracle中执行存储过程

1、备份策略通常应包括以下内容:

❖ 数据库稳健性建议

本地存储容灾方式

❖ 数据库备份方法

❖ 备份相关文件

❖ 备份执行时序

❖ 执行备份的频率

❖ 备份存储方式及位置

❖ 异地灾难恢复计划

2、各种故障的恢复策略

3. 定期灾难恢复测试策略

恢复是发生故障后,利用备份的数据或控制文件重新建立完整的数据库。 恢复分为以下两种。

实例恢复和介质恢复

1. 实例故障的一致性恢复

当实例意外终止(例如断电、后台进程故障等)或意外终止(发出 SHUTDOUM ABORT 语句)时,就会发生实例故障,需要进行实例恢复。 实例恢复将数据库恢复到故障前事务一致的状态。 如果在线备份时检测到实例故障,则需要进行介质恢复。 在其他情况下,Oracle 在下次数据库重新启动(安装并打开新实例)时自动执行实例恢复。 如有必要,从组装状态更改为打开状态会自动触发实例恢复,由以下方式处理:

(1) 要找出恢复的数据文件中未记录的数据,请向前滚动。 该数据记录在在线日志中,

包括回滚段的内容恢复。

(2)回滚未提交的事务,并按照步骤1重新生成回滚段指定的操作。

(3) 释放失败时正在处理的事务所持有的资源。

(4) 解决故障时正在进行一阶段提交的任何未完成的分发事务。

2. 介质故障或文件错误恢复不一致

Oracle备份与恢复详解

介质故障是指无法读取或写入文件、文件的一部分或磁盘时发生的故障。 文件错误一般是指意外错误导致文件被删除或者意外导致文件不一致。 这种状态下的数据库是不一致的,需要DBA手动恢复数据库。 恢复有两种形式,由数据库操作的归档方式和备份方式决定。

(1) 完整介质恢复可以恢复所有丢失的修改。 一般来说,只有当数据库有备份并且数据库运行在归档状态并且归档日志可用时,才有可能实现这一点。 对于不同类型的错误,可以使用不同类型的完全恢复,具体取决于损坏的文件和数据库的可用性。

(2) 不完全介质恢复是在不可能或不需要完全介质恢复时执行的介质恢复。 重建损坏的数据库以恢复介质故障或用户错误之前的事务一致状态。 不完全介质恢复的使用有不同类型,根据需要不完全介质恢复的情况,有以下类型:基于撤消、基于时间和基于修改的不完全恢复。

基于撤消(CANCEL)的恢复:在某些情况下,必须控制不完整的介质恢复,并且DBA可以在指定点撤消操作。 当一个或多个日志组(联机或归档)已被介质故障破坏且无法用于恢复过程时,将使用基于撤消的恢复,因此必须控制介质恢复,以便使用最新的、未损坏的日志。 对数据文件进行分组后中止恢复操作。

基于时间(TIME)和基于修改(SCN)的恢复:如果DBA想要恢复到过去的指定点,这是一种理想的不完全介质恢复。 它通常发生在恢复到特定操作之前。 恢复到如意外删除数据表之前。

3、实例失败的可能原因

1)数据库异常关闭

2)数据库崩溃

3)后台进程被强制Kill掉

4)系统资源耗尽

5)操作系统崩溃

6)服务器断电

7) 操作系统出现Bug

4、介质故障的原因

1)存储控制卡故障

2)磁盘驱动器磁头损坏

3)数据文件读写失败

4) 文件被意外删除或覆盖

oracle中执行存储过程_oracle中执行存储过程_执行存储过程oracle

拉曼

数据永远是最重要的,所以备份和恢复是必要的,尤其是对于DBA来说。 稍后我会重点介绍rman备份的内容。 有兴趣的朋友可以关注一下!

oracle中执行存储过程_oracle中执行存储过程_执行存储过程oracle

u盘字节为0怎么恢复_字节u盘恢复数据为0_u盘字节为0数据恢复

数据恢复是一项比较有用的技术,尤其是当硬盘、U盘、手机存储卡等数据丢失时,如何找回丢失的文件和数据就成为最关键的问题。 数据能否检索不仅与存储介质有关,还与介质所在的操作系统和文件系统有很大关系。 基本上,分区表和文件系统(File System,简称FS)决定了数据能否被检索。 关键是因为它决定了数据存储的逻辑结构。 一旦FS被破坏,即使数据物理上仍然存在,但由于数据失去了完整性和连续性,检索数据也将非常困难。 分区表决定了整个磁盘的布局。 从分区表中,您可以知道分区的数量、主/扩展分区和逻辑分区的位置和大小等。因此,分区表丢失对数据造成的损害是极其严重的。 本文只讲文件系统的结构。

Windows上常见的文件系统有FAT16/32、NTFS、exFAT等,目前FAT基本只用在U盘上,NTFS一般用在硬盘上,因为FAT32下单个文件最大不能超过4G且文件信息受到限制,而 NTFS 不受影响。 这个限制还增加了一个安全描述符,这意味着我们可以为文件或目录设置不同的权限。 然而,FAT32有时在USB闪存驱动器中非常方便。 当然也可以格式化为NTFS。 不过格式化成NTFS会遇到一种特殊的情况。 例如,当涉及不受您控制的计算机时,由于当前权限,您可能无法对其进行格式化。 删除 USB 闪存驱动器上的文件可能会导致问题。 另外,还可以格式化为exFAT。 exFAT 介于 FAT 和 NTFS 之间。 exFAT下的文件大小可以超过4G,因此比FAT32更容易使用。 虽然FAT32和NTFS存储数据的方式不同,但一些原理仍然相似。 因此,如果了解了FAT,就会更容易了解NTFS。 我们以FAT32为例,简单讲一下如何在FAT下读取和恢复数据。

字节u盘恢复数据为0_u盘字节为0怎么恢复_u盘字节为0数据恢复

FAT12/16由DBR(保留区)、FAT表、根目录和数据区组成。 FAT32没有根目录。 根目录位于数据区,文件都在一起。 目录和文件夹是相同的东西,只是名称不同。 下面将它们统称为目录。 DBR扇区记录了分区的基本信息,如每个扇区的字节数、每簇的扇区数、保留扇区数等。DBR的前三个字节是汇编指令,类似于EB XX XX,这意味着跳转到启动代码。 如果将第一个字节0xEB更改为其他数字(例如00),则该分区将无法访问。 双击分区会提示未格式化。 然而,这只是因为当前计算机的操作系统无法识别它。 如果你把U盘或者TF卡放到其他系统中,比如放到便携式播放器中,你仍然可以听音乐,因为播放器系统不一定会检查这个字节的合法性。 我们来谈谈集群。 簇是文件系统的存储单元,由多个扇区组成。 如果一个文件存储了簇的前半部分,则簇的后半部分不能存储其他文件。 换句话说,一个集群不能同时保存两个文件。 例如,假设簇大小为8192字节,文件大小为1字节,那么它将占据某个簇的第一个字节。 实际上它占用的空间是8192字节,剩下的8191字节就被浪费了,所以理论上簇越小越好,但不能太小,否则寻址会不方便。 我们来看一下FAT表的结构。 在FAT表中,每4个字节,即32位,为一项。 每一项记录簇号。 前两项不记录簇号,第三项位于偏移0x8处。 ,是第一个簇,即 2 号簇,然后是 3 号簇,按顺序编号。 每个FAT项的内容是下一个簇的编号。

如果内容为FF FF FF 0F,则表示该簇没有下一个关联簇,是一个独立簇。 独立簇存储的文件内容不超过一个簇的大小。 这样,每个簇都指向下一个簇,这样不断地跳来跳去,最终就可以找到一个文件的所有内容。 当跳转到FF FF FF 0F时,表示这是文件内容的最后一个簇。 文件内容的位置记录在FAT表中。 文件的名称和大小存储在哪里? 文件大小等信息实际上是另一个目录的内容。 根目录首先存储了根目录下所有文件和目录的信息(下面不解释,文件会包含目录,目录也是文件)。 每项信息的大小为32字节,包括文件短名、长名、标签、属性、创建时间、大小、起始簇号等删除信息。如果某项信息以0开头,则表示结束了。 系统会认为下面没有子目录和文件,这意味着该目录下的所有文件都已经被查找过了。 。 如果将根目录中的第一个字节更改为 0,则该分区将变为空白,您将看不到任何文件。 其实这并不完全等同于隐藏,因为如果系统再次创建文件,它会寻找以0开头的目录项并替换它。 如果目录项是文件(通过属性判断),则该目录项存储的是文件内容所在的第一个簇。 如果是目录,则该项存储目录的内容。 目录的内容正是目录中的文件和子目录信息。 这些信息是一系列的目录项,甚至可能会占用多个簇(如果目录中的文件太多的话),这样就可以一层一层地遍历目录中的所有文件。

u盘字节为0怎么恢复_u盘字节为0数据恢复_字节u盘恢复数据为0

创建文件时,首先在FAT中为该文件分配一个簇,0大小的文件不会被分配。 然后在根目录中逐层找到它的父目录,然后在父目录中给它分配目录项,记录文件起始簇、文件时间等信息。 如果文件名超过8.3或名称中含有特殊字符或中文,则为其创建长文件名目录项,并按照一定的规则重命名短文件名。 删除文件时,首先清除文件FAT表中的簇号,并将该簇标记为未使用,以便将其交给其他文件。 其次,目录项的第一个字节变为0xE5,表示已被删除。 整个过程中文件内容没有被修改。 任何变化。 如果只改变删除标记,文件就会消失,但簇不会被释放。 该文件暂时被隐藏,但并不意味着系统以后不会清理它。 通过模拟这个过程,我们可以强制删除任何文件,无论它是受保护的还是正在运行的。 当删除文件时,目录项不会立即清除。 文件内容的第一个簇仍然记录在其中,因此我们可以在文件内容的开头找到少量字节。 假设簇大小为8192字节。 如果文件大小小于1簇,比如512字节,那么只要簇不被立即占用,我们就可以完全恢复文件。 如果文件是16384字节,那么它将占用两个簇。 读取完第一个簇后,我们到达查看FAT中簇记录的下一个簇。 因为文件被删除了,文件的所有簇都被清空,变成了00 00 00 00,所以无法再读取,恢复就变得困难很多,至少按照套路是不行的。 方法来恢复,除非文件是连续存储的,所以我们可以通过按簇顺序读取来恢复。

因此,FAT下的文件有一定的恢复概率。 使用过数据恢复软件的人可能会遇到这种情况。 有时他们看到了文件名,但恢复时却是乱码。 出现这种情况的原因就是上述原因。 其实看到0并不可怕。 如果看到非0,那就悲剧了。 这意味着它已被另一个文件替换,因此即使是第一个簇的内容也无法恢复。 从可恢复性的角度来看,NTFS和FAT32是不同的。 NTFS下,如果文件簇不被覆盖,理论上可以100%恢复文件。 换句话说,NTFS文件系统的可恢复性相对较高。 下面我们就来说说隐藏吧。 是否可以简单地隐藏 FAT32 下的文件? 要隐藏一个文件,可以改变属性标志,但它不会改变我们通常所说的隐藏属性,而是改变卷标属性。 设置普通隐藏属性后,该文件在资源管理器中仍然可见,但如果设置了卷标属性,则无法再通过文件管理器看到该文件。 但是,一旦更改驱动器卷标名称,文件目录项就会丢失。 所以最好隐藏该目录。 你可以为目录添加卷标属性,该目录将不再可见,从而实现底层隐藏状态。 即使是杀毒软件也无法检测到它的存在。 真的有那么强大吗? 事实上是的,因为连操作系统也可能无法检测到它,因为你破坏了它的结构。 文件是逻辑上的东西。 如果关键字改变,文件的逻辑结构就会改变。 换句话说,操作系统不再认为它是一个有效的文件,它只是磁盘上的一堆数据。

事实上,对于物理磁盘来说,没有文件,只有数据0和1。硬盘根本不知道文件是什么,就像CPU不知道操作系统是什么一样。 它只关心寄存器指令。 经测试,通过该方法隐藏目录后更改卷标不会影响目录本身。 取消属性后,仍然可以看到该目录及其下的所有文件。 但是,卷属性是只读的,无法通过 SetFileAttributes 函数传递。 改变,因此只能采用DDM(Direct Disk Manipulation,意为“直接磁盘操作”,即直接操作磁盘访问文件)技术来实现。 我们可以防止文件被复制和访问吗? 有一种方法可以改变属性,将属性的第6位设置为1。然后就无法运行或复制。 任何对该文件或目录的访问都会提示“访问被拒绝”。 有些人会更改第 7 位,即最后一位。 位1也设置为1。这实际上是没有必要的。 7bit实际上是一个Normal属性,值为0x80,是一个不包含其他属性的属性。 FAT中的值存储为0。两者相同,只是在设置属性时添加。 区分。 至此,FAT下文件的遍历、隐藏、保护和删除就已经讲完了。 欲了解更多信息,请上网。 具体实现方法和代码请参考《编写自己的数据恢复软件》一文。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]