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=icdmain.commoninformation,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=icdmain.commoninformation,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 。
分享到:
相关推荐
RMAN(Recovery Manager)是Oracle数据库中一个专门为备份与恢复设计的工具,它支持物理备份,并且拥有许多独特的功能,例如跳过未使用的数据块以及使用二进制压缩模式压缩数据,从而能够高效地备份和恢复数据库。...
Oracle数据库提供了多种备份方法,包括物理备份和逻辑备份。 ##### 1. 物理备份 物理备份是指直接复制数据库的物理文件,如数据文件、控制文件和重做日志等。这种备份方式保留了数据库的物理结构和内容,可以快速...
Oracle 数据库提供了强大的备份与恢复策略,以下是 Oracle 数据库备份策略的相关概念及使用中的注意事项。 一、了解备份的重要性 备份的概念已经存在于计算机系统的诞生之初。计算机系统可以高速处理大量数据,...
Oracle提供多种备份方式,包括物理备份(如数据文件、控制文件的拷贝)和逻辑备份(如导出/导入、SQL*Plus的COPY命令)。在C#中,我们通常会借助Oracle的.NET数据提供者(Oracle Managed Data Access,ODP.NET)或者...
### Oracle数据库的备份与恢复策略研究 #### 一、引言 随着信息技术的快速发展,数据库管理系统(DBMS)作为数据存储的核心技术,其安全性和可靠性变得越来越重要。Oracle数据库作为市场上主流的关系型数据库之一,因其...
Oracle数据库作为企业级的数据库管理系统,其备份与恢复策略必须严谨且可靠。以下将详细阐述如何在没有安装Oracle数据库的Linux系统上实现这一目标。 首先,你需要在Linux服务器上安装必要的工具。这通常包括SSH...
Oracle提供了多种备份方式,包括物理备份(如使用RMAN或操作系统级别的复制)和逻辑备份(如使用EXPDP或SQL*Plus的导出功能)。在这个场景中,`backup.bat`脚本很可能是一个使用RMAN(Recovery Manager)的物理备份...
### Oracle数据库的备份与恢复详解 #### 一、Oracle数据库备份方法概述 Oracle数据库作为业界广泛使用的数据库管理系统之一,提供了多种备份与恢复机制来确保数据的安全性和可用性。根据备份时数据库是否处于运行...
"Oracle数据库容灾备份技术探讨" Oracle数据库容灾备份技术探讨是指通过各种技术手段来保护和恢复Oracle数据库,以确保数据库的高可用性和业务连续性。根据不同的灾备技术,可以将其分为三类: Oracle Data Guard...
1. **Oracle数据库备份**:Oracle数据库备份主要包括物理备份和逻辑备份。物理备份包括完整数据库备份、增量备份和差异备份,通过复制数据库的数据文件、控制文件和日志文件来实现。逻辑备份则是通过SQL命令(如`...
标题和描述中提到的是对Oracle数据库的逻辑备份与恢复进行浅析。Oracle数据库是业界广泛使用的关系型数据库管理系统,它支持逻辑备份和物理备份。逻辑备份主要通过Oracle提供的工具如EXP(Export)和IMP(Import)来...
"Oracle数据库备份与恢复... Oracle数据库备份与恢复有多种方法,包括物理备份、逻辑备份、RMAN备份和Export/Import备份等。同时,Oracle数据库备份与恢复也需要遵守一定的步骤和工具,以确保数据库的安全和可用性。
Oracle数据库物理存储结构管理 Oracle数据库的物理存储结构管理是指对数据库中的数据文件、控制文件和日志文件进行管理和维护的过程。这种管理对于数据库的性能、安全和可扩展性都具有重要意义。 一、数据文件管理...
Oracle数据库的备份方法有三种:物理备份、逻辑备份和RAMN系统备份。物理备份是对数据库的物理文件进行备份,包括日志文件、参数文件和控制文件等等。逻辑备份是使用Oracle的系统程序把数据库中的有关数据进行导出,...
Oracle数据库的备份与恢复是确保数据安全的关键环节。在数据库管理中,由于各种原因,如硬件故障、软件错误、人为操作失误等,都可能导致数据库中的数据丢失。因此,有必要实施有效的备份策略,以防止不可预见的情况...
Oracle数据库备份与恢复是数据库管理中的关键环节,旨在保护数据免受硬件故障、软件错误或人为失误的影响。本文档详细阐述了如何对PDB系统,一个使用Oracle数据库系统的平台,进行有效的备份和恢复操作。 Oracle...
在Oracle数据库系统中,备份主要分为物理备份和逻辑备份两种方式。物理备份直接复制数据库的数据文件、控制文件、重做日志文件等,恢复时速度快但依赖于原始硬件环境。逻辑备份则是通过SQL语句(如EXPDP/IMPDP或导出...
### Oracle数据库备份与恢复知识点详解 #### 一、备份与恢复基础 在Oracle数据库的运维过程中,备份与恢复是至关重要的环节,它们确保了数据的安全性和业务的连续性。备份通常指的是将数据库中的数据和控制信息...
本资料"oracle数据库自动备份与恢复.zip"包含了在Linux和Windows操作系统下,对Oracle 11g R2数据库进行自动备份与恢复的方法。 首先,我们来看Linux环境下的Oracle数据库自动备份。在Linux系统中,通常使用RMAN...