Oracle数据库的物理备份与逻辑备份
- 格式:docx
- 大小:20.20 KB
- 文档页数:4
数据库备份与恢复的实时物理备份与逻辑备份的数据一致性和恢复速度分析数据库备份与恢复是数据库管理系统的关键操作之一,对于数据的安全性和完整性至关重要。
在进行备份与恢复时,可以采用两种不同的备份方式:物理备份和逻辑备份。
本文将对这两种备份方式的数据一致性和恢复速度进行分析和比较。
首先,我们来了解一下实时物理备份和逻辑备份的基本概念和原理。
物理备份是数据库的二进制拷贝,直接复制数据库的数据文件和日志文件,通常使用数据库管理系统自带的备份工具进行操作。
物理备份的优点是备份速度快,恢复速度较快,因为它不需要经过SQL语句解析和重建索引的过程。
逻辑备份则是通过执行SQL语句将数据导出为逻辑格式,例如SQL脚本或CSV文件,再导入恢复时重新执行这些SQL语句来恢复数据。
逻辑备份的优点是备份文件较小,可以灵活选择备份的内容,适合逻辑数据库的迁移和跨平台恢复。
数据一致性是备份与恢复的核心问题之一。
物理备份是对数据库文件的直接拷贝,所以在备份过程中能够保证数据的一致性。
实时物理备份可以在备份时进行日志记录,以便在恢复时按照备份时间点进行数据的一致性恢复。
逻辑备份则需要在备份过程中执行SQL语句,如果备份时数据库正在进行写操作,可能会导致备份文件中的数据不一致。
因此,在进行逻辑备份时,需要尽可能减少对数据库的写操作,甚至在备份之前暂停数据库的写入操作,以保证备份文件的一致性。
另一个重要指标是恢复速度。
物理备份在恢复时只需将备份文件直接复制回原始位置即可,恢复速度较快;而逻辑备份需要重新执行SQL语句,可能需要重建索引等操作,恢复速度较慢。
当数据库出现故障需要尽快恢复时,实时物理备份是更好的选择。
然而,在实施备份与恢复策略时,还需综合考虑备份的时间、备份的频率、备份文件的大小以及系统的数据增长速度等因素。
物理备份文件较大,占用磁盘空间较多,需考虑备份的时间和频率以避免影响到正常的数据库运行;而逻辑备份由于导出和导入数据需要一定的时间,备份和恢复的时间较长,需根据实际需求进行权衡。
ORACLE数据库有两类备份方法。
第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
数据库逻辑备份方法ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
逻辑备份,三种模式:表备份、用户备份和完全备份。
逻辑备份:imp/exp就相当于oracle数据还原与备份Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件。
imp命令可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,装了oracle数据库,但在dos壮态下执行exp/imp时,显示不是内部或外部命令,也不是可用的程序,不知道什么问题??没有设置oracle的系统环境变量,设置一下就ok:path=c:\oracle9\ora92\binDOS中可以执行时由于在oracle 8i 中安装目录ora81BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
SQLPLUS.EXE 也可以调用IMP exp命令模块。
-------------------------------------Oracle Exp命令参数c:> exp -help 查看参数。
C:\Users\Ruibron>exp -helpExport: Release 11.1.0.6.0 - Production on 星期六9月6 19:27:50 2014Copyright (c) 1982, 2007, Oracle. All rights reserved.通过输入EXP 命令和您的用户名/口令, 导出操作将提示您输入参数:例如: EXP SCOTT/TIGER或者, 您也可以通过输入跟有各种参数的EXP 命令来控制导出的运行方式。
oracle备份数据库的方法
Oracle数据库的备份方法可以分为两类:物理备份和逻辑备份。
物理备份:
1. 冷备份:在数据库已经正常关闭的情况下进行备份,此时数据库是一致性的。
冷备份必须拷贝所有数据文件、控制文件、归档重做日志文件以及初始化参数文件(可选)。
由于冷备必须在数据库关闭的情况下进行,因此当数据库处于打开状态时,执行数据库文件系统备份是无效的。
2. 热备份:在数据库运行状态下进行备份,需要数据库运行在归档模式下,并且需要极大的外部存储设备,例如磁带库。
逻辑备份:
1. 表模式备份:备份某个用户模式下指定的对象(表)。
业务数据库通常采用这种备份方式。
2. 用户模式备份:备份某个用户模式下的所有对象。
3. 完全备份:备份整个数据库。
此外,Oracle还提供了导出/导入工具(expdp/impdp 或 exp/imp)来进行数据备份和恢复。
利用 exp 或 expdp 可将数据从数据库中提取出来,再利用 imp 或 impdp 将提取出来的数据送回到 Oracle 数据库中去。
请注意,在选择备份方法时,应根据实际情况和需求进行选择,并确保在操作过程中遵循最佳实践和安全准则。
数据库备份的说明书一、背景介绍随着信息技术的发展和应用范围的不断扩大,数据在现代社会中的重要性日益凸显。
作为重要的数据存储和管理工具,数据库在各行各业中得到广泛使用。
然而,数据库中的数据可能会因为各种原因而丢失或损坏,这将给组织和个人带来严重的损失。
为了最大限度地保护数据的安全性和完整性,数据库备份成为必不可少的环节。
二、备份方式数据库备份是指将数据库中的数据和相关配置信息复制到其他存储介质中,以防止数据丢失或损坏。
根据备份的方式,数据库备份可分为物理备份和逻辑备份两种方式。
1.物理备份物理备份是指备份数据库文件本身,包括数据文件和日志文件等。
它可以保留数据库的完整结构,适用于大规模数据库和高性能要求的场景。
物理备份可以通过数据库系统自带的备份工具来实现,例如MySQL的mysqldump命令和Oracle的RMAN工具等。
2.逻辑备份逻辑备份是指将数据库中的数据导出为可读的文本文件,以及备份相关的配置和元数据。
逻辑备份使得数据的恢复更为方便,使用广泛。
常用的逻辑备份工具有MySQL的mysqldump命令和Oracle的expdp工具等。
三、备份策略为了保证备份的及时性、完整性和可靠性,制定合理的备份策略是非常重要的。
1.备份频率备份频率应根据数据的重要性和变动程度来确定。
对于频繁更新且重要性较高的数据,应采取较短的备份周期;而对于不经常变动的数据,可以采取较长的备份周期。
2.备份方式根据数据的特点和备份需求,可以选择物理备份、逻辑备份或两者结合的方式。
同时,还可以考虑使用增量备份和全量备份相结合的方法,以减少备份时间和存储空间的占用。
3.备份存储备份数据应存储在可靠的介质中,例如独立的服务器、网络存储设备或云存储平台。
同时,还应注意数据的加密和传输安全,以防止备份数据被恶意攻击或泄露。
四、备份恢复在数据库出现故障或数据丢失时,备份的恢复功能起到关键性作用。
备份恢复包括物理恢复和逻辑恢复两种方式。
Oracle备份基本知识⏹Oracle备份主要分为两种类型:物理备份和逻辑备份。
物理备份本质就是复制文件。
对数据库来说,就是复制数据文件、控制文件以及归档文件等重要的物理文件到其它路径的存储设备中。
物理备份有多种实现方式,如rman。
逻辑备份的本质是数据复制。
与物理备份的主要区别是备份不以文件为备份内容,而是以具体逻辑数据为备份内容。
逻辑备份可以通过导入导出方式实现。
⏹依据备份时数据库的状态也可以分为热备份和冷备份。
冷备份数据库是将数据库关闭之后进行的备份,也叫脱机备份。
利用将数据库重要文件其拷贝到其它位置进行备份。
冷备份实际也是一种物理备份,是备份数据库物理文件的过程。
因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为完全的数据库备份。
热备份是在数据库运行的情况下,采用archive log模式备份数据库的方法,也叫联机备份。
热备份要求数据库处于archive log模式下操作,并需要大量的空间。
南京宝云ocp课程火热报名中!一旦数据库处于archive log模式,就可以进行备份了,当执行备份时只能在数据文件级或表空间进行。
⏹依据备份的状态可以分为一致性备份和非一致性备份。
当数据库以shutdown命令安全关闭时(shutdown abort方式除外),并且数据库处于未打开状态时创建的备份才是一致性备份。
大部分数据库都是24小时不间断运行,可以看出来,一致性备份虽好但有着致命的缺陷,必须是冷备。
通常数据库在open read write或shutdown abort模式下进行的备份都是不一致状态。
因为数据文件时时刻刻在不停的写入新数据,而备份不可能在极短的时间内迅速完成,所以备份完成后的数据与备份前的数据会产生差异,所以叫不一致备份。
所以可以说热备份一定是不一致备份,但不一致备份不一定都是热备份。
oracle 備份方法大家好呀!今天咱就来聊聊oracle备份方法这个事儿。
这在数据库管理里可是个挺重要的部分呢,万一数据出了啥岔子,有备份就能轻松应对啦。
一、物理备份方法。
咱先说说物理备份哈。
这种备份方法就像是给数据拍个“照片”,把数据库的实际文件都复制一份存起来。
1、冷备份。
冷备份呢,就是在数据库关闭的情况下进行备份。
这时候数据库没啥活动,数据也不会变啦,所以备份出来的内容就特别稳定。
操作起来也不复杂,就是把数据库相关的文件,像数据文件、控制文件啥的,直接复制到另外一个地方就行啦。
比如说你可以把这些文件复制到一个专门的存储设备上,或者是网络上的另一个存储位置。
不过呢,它也有个小缺点,就是备份的时候数据库得关闭,这可能会影响到正常的业务使用哦。
2、热备份。
热备份就牛啦,它可以在数据库运行的时候进行备份。
就好像给正在工作的机器做个“实时快照”一样。
这得借助oracle的一些工具,比如RMAN(Recovery Manager)。
用RMAN进行热备份的时候,它会在不影响数据库正常运行的情况下,把数据文件、控制文件等都备份好。
而且它还能对备份进行管理,比如设置备份的策略,是每天备份一次还是每周备份一次,都能轻松搞定。
不过热备份相对来说配置会复杂一点,需要对RMAN有一定的了解才行哦。
二、逻辑备份方法。
逻辑备份就和物理备份不太一样啦,它备份的不是实际的文件,而是数据的逻辑结构和内容,就像是把数据的“含义”都记录下来。
1、导出数据。
oracle里有个工具叫exp或者expdp,用它们就能把数据导出来。
exp是传统的导出工具,expdp呢是数据泵导出工具,功能更强大一些。
你可以通过写一些命令来指定要导出哪些数据,是整个数据库的数据,还是某个用户的数据,或者是某个表的数据,都随你。
导出的数据一般会保存成一个文件,以后要是需要恢复数据,再用对应的导入工具把数据导回去就行啦。
比如说你在开发环境里做了一些测试数据,想把这些数据备份一下,就可以用这个方法哦。
oracle数据同步方法Oracle数据库同步是指将一个数据库的数据和变化同步到另一个数据库中,以保证数据的一致性和可用性。
Oracle提供了多种数据同步方法,包括物理备份和还原、逻辑备份和还原、数据泵导出和导入、基于日志的增量备份和还原、GoldenGate数据复制等。
下面将详细介绍这些方法。
1.物理备份和还原:物理备份是将数据库的数据文件、控制文件和日志文件复制到备份目录,还原则是将备份文件拷贝到目标数据库中恢复。
这种方法适用于大规模数据库,具有高效性和实时性,但需要占用大量的存储空间。
2.逻辑备份和还原:逻辑备份是将数据库中的逻辑对象(如表、视图、索引等)导出为可读的SQL语句,还原则是将导出的SQL语句在目标数据库中执行。
这种方法适用于小规模数据库,具有可读性和可移植性,但不适用于大规模数据库,因为导出和导入的过程较为耗时。
3. 数据泵导出和导入:数据泵是Oracle提供的一种高效的逻辑备份和还原方法,它通过使用数据库内部的数据泵工具,将数据库中的逻辑对象和数据导出为二进制文件,再通过导入工具将二进制文件恢复到目标数据库中。
数据泵导出和导入可以实现高效的数据同步和迁移,支持并发处理和并行执行,适用于大规模数据库。
4.基于日志的增量备份和还原:基于日志的增量备份是指将源数据库的日志文件传送给目标数据库,目标数据库通过解析和应用这些日志文件,实现源数据库和目标数据库之间的数据同步。
这种方法实时性较高,适用于大规模数据库的实时备份和恢复。
5. GoldenGate数据复制:GoldenGate是Oracle提供的一种高性能、实时数据复制解决方案。
它通过捕获源数据库的日志文件并将其传送到目标数据库,实现源数据库和目标数据库之间的数据同步和一致性保证。
GoldenGate具有较低的延迟、高可用性和强大的数据筛选和转换能力,适用于大规模和复杂的数据同步场景。
除了上述方法,Oracle还提供了一些辅助工具和技术来增强数据同步的效率和可靠性,如使用数据库链接进行数据复制、使用物化视图进行数据汇总和聚合、使用数据同步代理进行数据分发等。
详细讲解Oracle数据库的数据迁移方法Oracle数据库的数据迁移可以使用多种方法,包括传统的物理备份和恢复,逻辑备份和恢复,以及逻辑复制。
下面将详细介绍这些方法。
1. 物理备份和恢复(Physical Backup and Recovery):物理备份和恢复是最常用的数据迁移方法之一、它基于数据库的物理结构,通过将数据文件、控制文件和日志文件等直接复制到目标数据库来完成数据迁移。
具体步骤如下:(1)在源数据库上执行全量备份,包括数据文件、控制文件和日志文件。
(2)将备份文件传输到目标数据库主机。
(3)在目标数据库上恢复备份文件。
物理备份和恢复的优点是速度快,适用于大规模数据迁移,但缺点是需要额外的存储空间以及停机时间。
2. 逻辑备份和恢复(Logical Backup and Recovery):逻辑备份和恢复是另一种常用的数据迁移方法,它基于逻辑结构,通过导出和导入数据来完成数据迁移。
具体步骤如下:(1) 在源数据库上执行逻辑备份,例如使用expdp命令将数据导出为数据泵文件。
(2)将数据泵文件传输到目标数据库主机。
(3) 在目标数据库上执行逻辑恢复,例如使用impdp命令将数据导入。
逻辑备份和恢复的优点是可以选择性地备份和恢复数据,不需要额外的存储空间,但缺点是速度较慢,适用于小规模数据迁移。
3. 逻辑复制(Logical Replication):逻辑复制是一种将源数据库的数据变更应用到目标数据库的方法,它可以实时地将数据更新传输到目标数据库。
具体步骤如下:(1) 在源数据库上启用逻辑复制功能,例如使用Oracle GoldenGate或Oracle Streams。
(2)配置源数据库和目标数据库之间的连接。
(3)在目标数据库上创建复制进程,用于接收源数据库发送的数据变更。
(4)启动复制进程,开始数据复制。
逻辑复制的优点是实时性好,可以减少停机时间,但缺点是配置和管理复杂,需要考虑数据一致性和传输性能等问题。
ORACLE数据库备份方法大总结ORACLE数据库备份方法ORACLE数据库备份方法大总结ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
而对于ORACLE数据库的备份方法主要分为两大类。
第一类是物理备份,第二类是逻辑备份。
而物理备份又分为冷备份和热备份,现在来详细讲解一下这两种备份方法。
物理备份中的冷备份。
冷备份是最简单的一种备份。
其操作方法是首先关闭数据库,然后备份所有相关的数据库文件,如初始化参数文件、控制文件等。
而冷备份一般备份出来的文件脚本是coldbackup.bat。
冷备份操作起来特别的快速,而且简单,但是在备份前必须关闭数据库,而且不能进行点恢复。
ORACLE数据库备份方法物理备份中的热备份。
热备份是在数据库运行过程中进行数据备份的过程。
热备份有一个前提那就是数据库运行时在归档模式,而且操作方法有些复杂,主要有以下几个步骤:(1)拷贝init.ora文件到备份目录(参数文件在数据库启动后处于关闭状态)。
(2)将需要备份的某个表空间置于开始备份模式。
(3)使用ocopy.exe拷贝表空间,然后将该表空间置于结束备份模式中(ocopy.exe不能用于直接拷贝联机的数据库文件)。
(4)对数据库中的每个表空间执行步骤2和3(可以通过视图dba_tablespaces和v$datafile查看数据库中有哪些表空间和数据文件)。
(5)通过在sqlplus上执行archive log list命令获取当前的日志顺序号,从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。
(6)在sqlplus上执行alter system switch logfile;命令来强迫日志切换,以便所有的日志都被归档。
Oracle备份的⼏种⽅式⼀、关于备份与恢复⼆、逻辑备份(expdp和impdp)三、物理备份四、数据库⽇常备份计划及脚本参考⼀、关于备份与恢复1、备份定义备份就是把数据库复制到转储设备的过程。
其中,转储设备是指⽤于放置数据库副本的磁带或磁盘。
通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。
备份是⼀份数据副本2、备份分类从物理与逻辑的⾓度来分类:从物理与逻辑的,备份可以分为物理备份和逻辑备份。
物理备份:对数据库操作系统的物理⽂件(数据⽂件,控制⽂件和⽇志⽂件)的备份。
物理备份⼜可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进⾏的,后者是以归档⽇志的⽅式对运⾏的数据库进⾏备份。
可以使⽤oracle的恢复管理器(RMAN)或操作系统命令进⾏数据库的物理备份。
逻辑备份:对数据库逻辑组件(如表和存储过程等数据库对象)的备份。
逻辑备份的⼿段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三⽅⼯具,都可以进⾏数据库的逻辑备份。
从数据库的备份⾓度分类:从数据库的备份⾓度,备份可以分为完全备份和增量备份和差异备份完全备份:每次对数据库进⾏完整备份,当发⽣数据丢失的灾难时,完全备份⽆需依赖其他信息即可实现100%的数据恢复,其恢复时间最短且操作最⽅便。
增量备份:只有那些在上次完全备份或增量备份后被修改的⽂件才会被备份。
优点是备份数据量⼩,需要的时间短,缺点是恢复的时候需要依赖以前备份记录,出问题的风险较⼤。
差异备份:备份那些⾃从上次完全备份之后被修改过的⽂件。
从差异备份中恢复数据的时间较短,因此只需要两份数据---最后⼀次完整备份和最后⼀次差异备份,缺点是每次备份需要的时间较长。
3、恢复定义恢复就是发⽣故障后,利⽤已备份的数据⽂件或控制⽂件,重新建⽴⼀个完整的数据库4、恢复分类实例恢复:当oracle实例出现失败后,oracle⾃动进⾏的恢复介质恢复:当存放数据库的介质出现故障时所作的恢复。
ORACLE数据库有两类备份方法。
第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。
数据库逻辑备份方法ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
表模式
备份某个用户模式下指定的对象(表)。
业务数据库通常采用这种备份方式。
若备份到本地文件,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=moninformation,icdmain.serviceinfo,icdmain.dealinfo
若直接备份到磁带设备,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_csd_yyyymmdd.log
tables=moninformation,icdmain.serviceinfo,icdmain.dealinfo
注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。
出于速度方面的考虑,尽量不要直接备份到磁带设备。
用户模式
备份某个用户模式下的所有对象。
业务数据库通常采用这种备份方式。
若备份到本地文件,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.log
若直接备份到磁带设备,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.log
注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。
如果数据库数据量较小,可采用这种办法备份。
完全模式
备份完整的数据库。
业务数据库不采用这种备份方式。
备份命令为:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。
增量备份命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
注:关于增量备份必须满足下列条件:
1. 只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。
2. 用户必须有EXP_FULL_DATABASE的系统角色。
3. 话务量较小时方可采用数据库备份。
4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。
业务数据库备份方法及周期用EXP进行备份前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不要执行这个脚本)。
没有特殊说明,不允许在客户端执行备份命令。
备份命令参照表模式下的备份命令。
RMAN备份原理
在之前,看了用户管理的备份恢复管理,通过以SCN为线索贯穿整个过程,来熟悉了备份原理。
RMAN的备份过程和用户备份恢复管理有很大的区别,很多朋友了都没有理清楚原理
下面的是我的理解:
RMAN备份数据块的工作原理:
原理:RMAN基于备份算法规则来编译要备份的数据文件列表。
基于通道数和同时备份的数据文件数,RMAN在ORACEL共享内存段中
创建一些内存缓冲区一般是在PGA中不过有时候内存缓冲区会被推入SGA。
通道服务进程随后就开始读取数据文件,并在RMAN缓冲取
中填充这些数据块。
一个缓冲区被填满时,输入缓冲区的数据就会推出到输出缓冲区。
数据文件中的数据块都会都会发生这种
memery—to—monery write 的过程,如果数据块符合备份的标准,并且memery—to—monery write操作没有检查到
数据corruption则该数据块会被保存到输出数据缓冲区中,直到输出缓冲区被填满。
一但输出缓冲区被填满,输出缓冲区的内容就会被
推到备份位置(磁盘或者磁带)
RMAN备份数据库过程:
RMAN发出备份全库命令后,RMAN生成到目标数据库的bequeath连接,也就是说会检查ORACLA_SID变量中的实例名,并在该在实
例上产生一个服务器进程,然后作为sysdba登陆,然后会产生一个作为备份的通道,(在PGA或者是在SGA分配存储)。
随后RMAN调用
SYS.DBMS_RCVMAN请求数据库结构信息,包括控制文件的信息(当前序列号,创建时间……)由于指定了备份全库,所以RMAN会请求
数据库中数据文件信息,并判断是否存在offline数据文件(包括所在的位置和工作方式)。
RMAN开始备份,为了保持数据一致性RMAN必须构建控制文件快照,接下来RMAN 调用DBMS _BACKUP_RESTORE数据包,该调用
可以创建备份片。
RMAN拥有文件列表,所以它为数据文件读取操作分配内存缓冲区,分配缓冲区后RMAN初始化备份片。
一旦初始化了备份片,
RMAN会判断是否使用了服务器参数文件,如果使用了则会做为备份的一部分,还要备份控制文件,之后才开始备份数据文件,并将其推至内存。
为了实现这一功能,通道进程在磁盘上执行预读取操作,并且将多个数据文件读入内存中,RMAN会判断数据块头信息是否仍然为零,如果数据块
没有被使用过,就不会发生到输出缓冲区的写操作,同时会丢弃这个数据块(这就RMAN 为什么会只备份使用过的数据的原因,也是它的优点)
RMAN还会执行检查数据块有没有corruption操作。
当检查通过了就被写入到输出缓冲区。
一旦输出缓冲区填满了,就被推至备份文件位置。
在备份数据块的时候,RMAN影子进程会得到备份状态信息。
并将它传给V$session_longops视图。
查询它能得到信息。
当数据文件的所有数据块都被读入输入缓冲区并确定了状态之后RMAN就会通过将这个数据文件写入备份片来结束该文件的备份操作。
所有
数据文件写入备份片之后,RMAN生成最后一个对SYS DBMS BACKUP RESTORE 数据包的调用,该调用在控制文件中写入备份信息(包括
备份片名,启动备份操作时的检查点的SCN和完成备份的时间)
至此完成备份!
=================================================================== ===
ORACLE中数据备份分为物理备份和逻辑备份两种。
物理备份就是转储ORACLE物理文件
(如数据文件、控制文件、归档日志文件等),一旦数据库发生故障,可以利用这些文件进行还原;逻辑备份就是对数据库对象(如用户、表、存储过程等)利用EXPORT等工具进行导出工作,可以利用IMPORT等工具把逻辑备份文件导入到数据库。
RMAN备份是一种物理备份,不是对象级的逻辑备份,可以用RMAN来备份数据文件、控制文件、参数文件、归档日志文件。
在数据库出现问题的时候可以通过RMAN物理备份恢复到数据库的失效点。
逻辑备份是通过逻辑手段记录要备份的数据库对象的信息,是一种对象级备份的方案,因此逻辑备份的备份集的可移植性比较强,可以把数据库的逻辑备份恢复到不同版本不同平台的数据库上,也正式因为逻辑备份是对象级的备份,因此备份和恢复的效率比较低,对于大型的系统,采用逻辑备份,其恢复时间之长是大多数大型业务系统所不能忍受的。
相对而言,物理备份不具备移植性,备份环境和恢复环境必须是完全相同的,由于物理备份是对数据库的文件(Block)进行备份,其备份和恢复速度相对比较快,在大型业务系统中较多地使用物理备份。
Oracle热备份是一种物理备份,不过之后设置的物理备份和逻辑备份是两种不同的方式,一种是block改变的应用,一种的SQL语句的重现,所以一个称为物理Standby,一个称为逻辑Standby 。