http://www.cnblogs.com/elegantok/archive/2009/03/31/1426290.html
http://bbs.51cto.com/thread-13040-1-1.html
Oracle备份与恢复
学习过程中的总结,有兴趣不妨看看,如果有不对的地方,高手不要留情!!
Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式 分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应 的把归档模式称为热备份,他们的关系如下所示
三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):
$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中 去。理论基础:Oracle提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型):
1,表方式(T) 可以将指定的表导出备份;
2,全库方式(Full) 将数据库中的所有对象导出;
3,用户方式(U) 可以将指定的用户相应的所有数据对象导出;
*在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别:
1,完全增量导出(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名)
2,增量型增量导出(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp
3,累积型增量导出(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp
通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份:
Mon: 完全备份(A)
Tue: 增量导出(B)
Wed:增量导出(C)
Thu: 增量导出(D)
Fri: 累计导出(E)
Sat: 增量导出(F)
Sun: 增量导出(G)
这样,我们可以保证每周数据的完整性,以及恢复时的快捷和最大限度的数据损失。恢复的时候,假设事故发生在周末,DBA可按这样的步骤来恢复数据库:
第一步:用命令CREATE DATABASE重新生成数据库结构;
第二步:创建一个足够大的附加回滚。
第三步:完全增量导入A:
imp system/manager inctype=RESTORE FULL=y FILE=A
第四步:累计增量导入E:
imp system/manager inctype=RESTORE FULL=Y FILE=E
第五步:最近增量导入F:
imp system/manager inctype=RESTORE FULL=Y FILE=F
通常情况下,DBA所要做的导入导出备份就算完成,只要科学的按照规律作出备份,就可以将数据的损失降低到最小,提供更可靠的服务。另外,DBA最好对每次的备份做一个比较详细的说明文档,使得数据库的恢复更加可靠。
$B 物理备份之冷备份(条件-NonArchiveLog):
当数据库可以暂时处于关闭状态时,我们需要将它在这一稳定时刻的数据相关文件转移到安全的区域,当数据库遭到破坏,再从安全区域将备份的数据库相关文 件拷贝回原来的位置,这样,就完成了一次快捷安全等数据转移。由于是在数据库不提供服务的关闭状态,所以称为冷备份。冷备份具有很多优良特性,比如上面图 中我们提到的,快速,方便,以及高效。一次完整的冷备份步骤应该是:
1,首先关闭数据库(shutdown normal)
2,拷贝相关文件到安全区域(利用操作系统命令拷贝数据库的所有的数据文件、日志文件、控制文件、参数文件、口令文件等(包括路径))
3,重新启动数据库(startup)
以上的步骤我们可以用一个脚本来完成操作:
su – oracle 文件 备份位置(所有的日志、数据、控制及参数文件);
startup;
exit;
这样,我们就完成了一次冷备份,请确定你对这些相应的目录(包括写入的目标文件夹)有相应的权限。
恢复的时候,相对比较简单了,我们停掉数据库,将文件拷贝回相应位置,重启数据库就可以了,当然也可以用脚本来完成。
$C 物理备份之热备份:(条件-ArchiveLog)
当我们需要做一个精度比较高的备份,而且我们的数据库不可能停掉(少许访问量)时,这个情况下,我们就需要归档方式下的备份,就是下面讨论的热备份。 热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作。具体 步骤如下:
1,通过视图v$database,查看数据库是否在Archive模式下:
SQL> select log_mode from v$database;
如果不是Archive模式
则设定数据库运行于归档模式下:SQL>shutdown immediate
SQL>startup mount
SQL> alter database archivelog;
SQL> alter database open;
如果Automaticarchival显示为“Enabled”,则数据库归档方式为自动归档。否则需要手工归档,或者将归档方式修改为自动归档,如:
正常shutdown数据库,在参数文件中init.ora中加入如下参数
SQL>shutdown immediate
修改init.ora:
LOG_ARCHIVE_START=TRUE
LOG_ARCHIVE_DEST1=ORACLE_HOME/admin/o816/arch(归档日值存放位置可以自己定义)
SQL>startup
然后,重新启动数据库,此时Oracle数据库将以自动归档的方式工作在Archive模式下。其中参数LOG_ARCHIVE_DEST1是指定的 归档日志文件的路径,建议与Oracle数据库文件存在不同的硬盘,一方面减少磁盘I/O竞争,另外一方面也可以避免数据库文件所在硬盘毁坏之后的文件丢 失。归档路径也可以直接指定为磁带等其它物理存储设备,但可能要考虑读写速度、可写条件和性能等因素。
注意:当数据库处在ARCHIVE模式下时,一定要保证指定的归档路径可写,否则数据库就会挂起,直到能够归档所有归档信息后才可以使用。另外,为创 建一个有效的备份,当数据库在创建时,必须履行一个全数据库的冷备份,就是说数据库需要运行在归档方式,然后正常关闭数据库,备份所有的数据库组成文件。 这一备份是整个备份的基础,因为该备份提供了一个所有数据库文件的拷贝。(体现了冷备份与热备份的合作关系,以及强大的能力)
2,备份表空间文件:
a,首先,修改表空间文件为备份模式 ALTER TABLESPACE tablespace_name BEGIN BACKUP;
b,然后,拷贝表空间文件到安全区域 !CP tablespace_name D_PATH;
c,最后,将表空间的备份模式关闭 ALTER TABLESPACE tablespace_name END BACKUP;
3,对归档日志文件的备份:
停止归档进程-->备份归档日志文件-->启动归档进程
如果日志文档比较多,我们将它们写入一个文件成为一个恢复的参考:$ files `ls 归档文件路径>/arch*.dbf`;export files
4,备份控制文件:
SQL> alter database backup controlfile to 'controlfile_back_name(一般用2004-11-20的方式)' reuse;
当然,我们也可以将上面的东东写为一个脚本,在需要的时候执行就可以了:
脚本范例:
su – oracle
!CP tablespace_name D_PATH
ALTER TABLESPACE tablespace_name END BACKUP
alter database backup controlfile to 'controlfile_back_name(一般用2004-11-20的方式)' reuse;
!files `ls 归档文件路径>/arch*.dbf`;export files
热备份的恢复,对于归档方式数据库的恢复要求不但有有效的日志备份还要求有一个在归档方式下作的有效的全库备份。归档备份在理论上可以无数据丢失,但 是对于硬件以及操作人员的要求都比较高。在我们使用归档方式备份的时候,全库物理备份也是非常重要的。归档方式下数据库的恢复要求从全备份到失败点所有的 日志都要完好无缺。
恢复步骤:LOG_ARCHIVE_DEST_1
shutdown数据库。
将全备份的数据文件放到原来系统的目录中。
将全备份到失败点的所有归档日志放到参数LOG_ARCHIVE_DEST_1所指定的位置。
利用sqlplus登陆到空实例。(connect / as sysdba)
然后 startup mount
set autorecovery on
recover database;
alter database open;
这样,我们的热恢复就算完工了,写了好久,终于写好,大家有什么补充就写上来,不要客气,这是这两天学习的一些心得,希望大家多多交流,谢谢
相关推荐
### Oracle冷备份与热备份的区别 #### 物理备份与逻辑备份的概念 在数据库领域,备份是一项非常重要的工作,它可以确保在系统发生故障时能够快速恢复数据,减少数据丢失的风险。Oracle作为一款广泛使用的数据库管理...
本文主要介绍了Oracle数据库的两种物理备份方式:冷备份和热备份。 冷备份是一种简单且快速的数据保护策略,它在数据库完全关闭的状态下进行。这种备份方式提供了对数据库完整性的保证,因为所有数据文件都在一致的...
Oracle数据库作为业界广泛使用的数据库管理系统之一,提供了多种备份与恢复机制来确保数据的安全性和可用性。其中,“冷备份”(Cold Backup)与“热备份”(Hot Backup)是两种基本且重要的备份方式。这两种备份...
1、制作日志镜像,以备还原 2、control_files加镜像 3、冷备份(数据会丢失,目录结构也需相同) 4、热备份(前提,开启日志模式)
Oracle数据库的备份是确保数据安全和业务连续性的重要环节,主要分为冷备份和热备份两种方式。 冷备份是在数据库正常关闭的状态下进行的,这意味着在备份期间,数据库必须是不工作的。这种备份方法非常快速,因为只...
"Oracle数据库备份技术" Oracle数据库备份是指在数据库运行或关闭情况下,将数据库文件拷贝到...冷备份和热备份都是Oracle数据库备份的重要方法,每种方法都有其优缺点,选择哪种方法取决于具体的数据库环境和需求。
比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。...
Oracle数据库提供了三种标准的备份方式:导出/导入(EXP/IMP)、热备份(Hot Backup)和冷备份(Cold Backup)。这些方法根据不同的场景和需求,各有优势。 - **导出/导入(EXP/IMP)**:这是一种逻辑备份的方式,...
Oracle数据库支持三种主要的备份方法:导出(Export)、热备份(Hot Backup)和冷备份(Cold Backup)。导出是一种逻辑备份,通过Oracle的Export工具将数据从数据库中提取出来,然后使用Import工具将数据重新导入。...
Oracle数据库中的冷备份和热备份属于物理备份范畴。 1. 冷备份:冷备份通常在数据库关闭或处于归档模式下进行,这样可以确保所有数据文件的一致性。冷备份涉及复制数据文件、控制文件、参数文件及初始化参数文件到...
Oracle数据库的备份策略主要包括物理备份和逻辑备份,其中冷备份和热备份是物理备份的两种形式。物理备份涉及的是数据库的实际操作系统文件,而不关注数据的逻辑结构。逻辑备份则是通过SQL语言从数据库中抽取数据并...
通过阅读`oracle数据恢复.txt`、`oracle热备份步骤.txt`和`oracle冷备份步骤.txt`,你可以更深入地理解并掌握这些关键概念和实践技巧,从而确保你的Oracle数据库在面对数据丢失或系统故障时能够迅速恢复,保持业务...
### Oracle数据库备份与恢复 #### 一、Oracle数据库概述 Oracle数据库是一款由甲骨文公司开发的关系型数据库管理系统,以其卓越的性能、可扩展性和安全性在全球范围内被广泛应用。Oracle数据库的特点包括: - **...
Oracle 数据库提供了两种备份方法,即冷备份和热备份。冷备份是指在关闭数据库的情况下对数据库进行备份,而热备份是指在数据库opened 情况下对数据库进行备份。冷备份可以确保数据库的一致性,但需要关闭数据库,而...
本文将详细介绍 Oracle 备份策略,包括备份的重要性、备份分类、冷备份、热备份、逻辑备份等内容。 了解备份的重要性 备份是数据库管理员的重要任务之一,备份可以防止数据丢失,确保数据库的安全性和可靠性。备份...
Oracle 数据备份与容灾方案 Oracle 数据备份与容灾方案是指在数据库系统中,为了避免数据丢失和业务中断,所采取的一系列措施和策略。这些措施包括数据备份、容灾、灾难恢复等,旨在保护数据库的安全和可靠性。 ...
本文主要探讨了两种常见的Oracle备份方法:冷备份和热备份,以及各自的操作步骤。 1. **冷备份** 冷备份是一种简单且快速的备份方法,适用于数据库完全关闭的情况。其优点在于备份过程中数据库不接受任何事务,...
在IT领域,数据库管理是至关重要的,而Oracle作为全球广泛使用的数据库系统,其备份与恢复策略对于企业数据安全起着核心作用。这篇“ORACLE备份&恢复案例”着重探讨了如何在Oracle环境中有效地进行数据备份并执行...
通过热备份和冷备份的组合,可以实现更全面的恢复策略。 总的来说,Oracle数据库的恢复与备份是一个复杂的过程,需要数据库管理员对Oracle的内部机制有深入理解,以确保在面对各种故障情况时能够迅速有效地恢复数据...