oracle数据库备份方案
oracle数据库备份方案(精选8篇)
oracle数据库备份方案 第1篇
1.目的
编写本文档的目的为实现ORACLE数据库的自动备份,为不动产数据增加一份数据安全按保障。
2.软件环境
数据库服务器:oracle 11g atabase x64 v11.2.0.4.0 客户端:Oracle client x64 v11.2.0.4.0 注意:数据库服务器和客户端版本必须保持一致,否则会出现无法预知的错误。
3.实施方案
3.1.编写数据库自动备份脚本
脚本内容如下,将文件存储为oraclebackup.bat:
@echo off echo 删除10天前的备分文件和日志
forfiles /p “D:oraclebackup” /m *.dmp /d-10 /c “cmd /c del @path” forfiles /p “D:oraclebackup” /m *.log /d-10 /c “cmd /c del @path” echo 正在备份 oracle 数据库,请稍等……
exp BDCDJ_CP/BDCDJ_CP@10.6.161.70/orcl file=D:/oraclebackup/BDCDJ_CP%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:/oraclebackup/BDCDJ_CP%date:~0,4%%date:~5,2%%date:~8,2%.log echo 任务完成!注意:
1)修改数据库连接用户名、密码、数据库地址和实例名
2)修改备份文件存储地址,以上脚本存储位置为D:oraclebackup 3.2.新建任务计划
1)打开任务计划程序
2)打开创建基本任务,输入任务名称、选择任务执行时间和执行的脚本,完成任务计划创建。
oracle数据库备份方案 第2篇
摘 要
结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。
关键字:数据库 远程异地 集中备份
I
ORACLE数据备份与数据恢复方案
目 录
一、前 言 ··························· 1
二、金华电信ORACLE数据库的备份与恢复方案 ······· 2
2.1 备份系统数据库备份策略································································································· 3 2.2 备份系统数据库恢复策略···················· 3 2.3 金华电信97系统及营销支撑系统的系统状况 ··········· 3 2.4 金华电信97系统、营销支撑系统及备份系统总体结构图 ······ 4 2.5 备份系统结构图说明······················ 4
三、金华电信97系统的数据库备份和恢复 ········ 6
3.1 备份方法··························· 6 3.2 备份策略··························· 6 3.3 恢复策略··························· 6 3.4 性能影响··························· 6
四、金华电信营销支撑系统的备份与恢复········· 7
4.1 备份方法··························· 7 4.2 备份策略··························· 7 4.4 性能影响··························· 7
五、RMAN CATALOG 数据库的备份 ············ 8
II
ORACLE数据备份与数据恢复方案
六、结 语 ······················ 9
III
ORACLE数据备份与数据恢复方案
一、前 言
目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单
一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。
因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。
ORACLE数据备份与数据恢复方案
二、金华电信ORACLE数据库的备份与恢复方案
由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服务器或应用服务器相连的任意一台磁带库内。(2)全自动的备份: 对于大多数机房管理人员来说,备份是一项繁重的任务。每天都要小心翼翼,不敢有半点闪失,生怕一失足成千古恨。网络备份能够实现定时自动备份,大大减轻管理员的压力。备份系统能根据用户的实际需求,定义需要备份的数据,然后以图形界面方式根据需要设置备份时间表,备份系统将自动启动备份作业,无需人工干预。这个自动备份作业是可自定的,包括一次备份作业、每周的某几日、每月的第几天等项目。设定好计划后,备份作业就会按计划自动进行。(3)数据库备份和恢复: 数据库系统已经相当复杂和庞大,不能用文件的备份方式来备份数据库。企业级的备份系统能够对数据库在不中断业务、不停顿数据库的情况下对数据进行联机的自动备份,包括可以进行数据库备份、日志备份、完全备份、增量备份等。(4)归档管理: 用户可以按项目、时间定期对所有数据进行有效的归档处理。提供统一的数据存储格式从而保证所有的应用数据由一个统一的数据格式来作永久的保存,保证数据的永久可利用性。(5)有效的媒体管理: 备份系统对每一个用于作备份的磁带自动加入一个电子标签,同时在软件中提供了识别标签的功能,如果磁带外面的标签脱落,只需执行这一功能,就会迅速知道该磁带的内容。(6)满足系统不断增加的需求:备份软件必须能支持多平台系统,当网络连接其它的应用服务器时,对于网络存储管理系统来说,只需在其上安装支持这种服务器的客户端软件即可将数据备份到磁带库或光盘库中。
ORACLE数据备份与数据恢复方案
2.1 备份系统数据库备份策略
数据库运行在归档模式下,利用Veritas软件模块调用数据库的备份接口进行在线的热备份,可以在备份时,对备份数据保存在不同的存储对象中,以满足客户容灾的要求,可以利用Veritas的多线程的数据迁移、利用多个磁带驱动器同时读写提高其数据备份的效率。
针对数据库的总数据量和增量数据量大小,我们可以利用数据库的多级的增量备份机制,结合Veritas 强大的备份数据追踪寻址能力和介质管理功能,制定灵活的备份策略,实现全自动的备份数据的全生命周期管理。
2.2 备份系统数据库恢复策略
通过本地的Veritas Server结合Veritas for Databases利用备份数据进行数据恢复。恢复时,Veritas 可以实现多线程的数据恢复,利用Veritas 独特的磁带分类集中存放技术,减少磁带的就位时间,提高数据恢复的效率。
先用最近一次的全备份恢复+恢复最近一次的增量备份+增量备份到断点的ARCHIVE LOG来恢复(要求数据库在ARCHIVE LOG模式下工作)。这种恢复方式比全部用ARCHIVE LOG恢复要快。
如果两份冗余的最近一次增量备份都不可用,可以追溯再上次的增量备份来恢复,然后用增量备份到断点的ARCHIVE LOG恢复。
如果最近一次的全备份恢复都不可用,则利用上个周期的全备份+上个周期的最后一次增量备份+本周期的最近一次增量备份+增量备份到断点的ARCHIVE LOG来恢复。
如果增量备份都不可用,那么用全备份+ARCHIVE LOG来恢复。
2.3 金华电信97系统及营销支撑系统的系统状况
金华电信经过这么多年的信息系统建设,目前已经运行着多个系统,除计费系统有较为完善的备份系统外,其他系统的备份系统都需要完善。其中97系统的机器型号IBM 7040-61R,操作系统 AIX5.2,数据库类型ORALCE8.1.7.4,数据量120G;营销支撑系统机器型号IBM xseries440,操作系统Red Flag Linux Server 4.0,数据库类型ORACLE9.2.0.1,数据量150G。以前,这两个系统的数据备份都是通过逻辑备份(exp)实现并且备份数据管理是分散的,然而一个完善的备份系统必须包含物理备份和逻辑备份两种方式。因此,我们正在实施一个远程
ORACLE数据备份与数据恢复方案
异地在线集中的高效的备份系统,将逻辑备份和物理备份(热备份)相结合,设置了专门的备份服务器。由于97、营销支撑操作系统采用AIX及Red Flag,我们在备份服务器上安装了第三方备份软件Veritias NBU。
2.4 金华电信97系统、营销支撑系统及备份系统总体结构图
对于具体的备份环境和结构,我们结合了Oracle备份技术和LAN环境的SAN备份结构.该系统的结构如下图所示(以97系统与营销支撑系统为例)
备份系统总体结构图
2.5 备份系统结构图说明
此在线存储系统采用了基于SAN(存储区域网络)的结构,SAN是一种高速
ORACLE数据备份与数据恢复方案
网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一张或多张用以存储计算机数据的磁盘设备。一个 SAN 网络由负责网络连接的通信结构如光交换机、负责组织连接的管理层、存储部件以及计算机系统构成,从而保证数据传输的安全性和力度。由于整个SAN系统的数据量比较大,所以备份系统采用SAN结构,将磁盘阵列直接连接到SAN的交换机上,和备份服务器、多台服务器均通过SAN相互连接,利用SAN的高性能来提高备份速度、降低数据备份对网络和服务器的影响。备份系统结构图说明如下:(1)Veritas 服务器(即备份服务器):备份系统是数据安全的关键系统,而备份服务器是备份系统的核心,因此从安全可靠的角度,采用专用的备份服务器,在这台服务器上安装VERTIAS Server端软件,集中管理控制磁带库、定制备份策略、管理备份作业、管理磁带等,同时安装oracle catalog库。(2)备份方案:对97系统购买IBM VERTIAS 备份软件,将数据备份至磁盘阵列上面,备份数据走光纤通道。对营销支撑系统,我们从SAN存储的FATA盘上划部分空间直接挂到系统中,然后直接采用RMAN做备份,以降低成本。之所以采用FATA盘的目的是为了避免和FC盘有IO冲突。(3)M300磁盘阵列:在我们的方案当中,我们采用磁盘阵列来代替一贯采用的磁带库。磁盘阵列具有性能高,可靠性高,维护方便等优点。本方案中采用专业存储厂商富士通的中高端存储ETERNUS3000 M300,作为一种面向开放系统的存储系统,ETERNUS3000在性能、容量及连通性等方面将世界标准提高到一个新层次。M300的容量为6T的FC盘,10T的FATA盘。在FC盘上保留所有系统的一份全备,其他的备份在白天定期转移到FATA盘。在FATA盘上保留1-2份全备,其他的定期转移到3583磁带库中。(3)光纤交换机:为了使整个系统具有良好的扩展性,我们在数据中心采用了被评为最优秀的网络存储产品博科的16口的光纤交换机,在新大楼备份中心采用博科的8口的光纤交换机。(4)磁带库:本方案中的磁带库采用的是原先计费系统所用的3583磁带库。我们定期将FATA盘上的备份自动转移到该磁带库上,做更久的保留。(5)逻辑备份服务器:为了充份利用旧有的设备来提高异地集中备份系统的稳定性,安全性,我们利用旧有设备IBM 7044-170小型机和IBM 3542阵列来搭建一个逻辑备份系统。所有的逻辑备份都放到该机器上面来,使得逻辑备份和物理备份在物理上开离。这样一来避免了IO冲突,二来提高了备份系统的可靠性。
ORACLE数据备份与数据恢复方案
三、金华电信97系统的数据库备份和恢复
3.1 备份方法
采用Veritas NBU物理备份加EXP逻辑备份。Exp逻辑备份在服务器上直接备份,定期转移到逻辑备份服务器。
3.2 备份策略
备份策略:(1)每周进行一次数据库全备份操作,并定期将FC盘上面的物理备份定期转移到FATA盘上,同时将FATA盘阵上面的物理备份定期转移到磁带库上,至少保存 3 个全备份;全备份时间选择在每周星期六凌晨12:00 开始。(2)数据库采用Archive Log 模式,每天晚上12:00 开始进行增量备份。(3)与数据库的逻辑备份相配合,我们每天进行一次数据的exp备份,即每天做一个完整的数据库EXPORT 备份;备份时间选择在每天凌晨1:00 开始。Exp备份还是备到本机,定期将其ftp到逻辑备份服务器上。
3.3 恢复策略
恢复策略:(1)数据文件损坏或磁盘阵列损坏:针对这种情况可以采用Veritas NBU从FC磁盘阵列中恢复。(2)误操作或对象级逻辑上的损坏:针对这种情况可以从exp备份中采用imp恢复。
3.4 性能影响
数据库采用归档模式对97数据库性能将产生一定的影响。因为在归档模式下,oracle需要将归档日志归档到归档目录(也就是copy)。在IO资源不成为瓶颈的情况下,对系统影响将可以不予考虑。97系统目前的瓶颈在于内存这一块。所以对97系统的性能影响可以不加以考虑。
ORACLE数据备份与数据恢复方案
四、金华电信营销支撑系统的备份与恢复
4.1 备份方法
采用物理备份加EXP逻辑备份。物理备份考虑到VERTIAS 的成本,及该系统的重要程度,我们从SAN存储上划一部分空间挂接至该系统OS上面,然后直接采用RMAN备份。这样备份的好处是成本低,缺点是不便于管理和维护,消耗主机的资源,在主机无法启动的情况下,备份文件无法访问,但备份数据还是完好如初的。
4.2 备份策略
备份策略:(1)每周进行一次数据库全备份操作,采用循环覆盖的方式,共保存 2个全备份;备份时间可以选择在周日晚上11:00进行(由于其采用的是FATA盘,与其他的物理备份不会造成IO冲突)。(2)数据库采用Archive Log 模式,每天晚上12:00 增量备份。(3)与数据库的逻辑备份相配合,我们每周进行一次数据的exp备份,即每天做一个完整的数据库EXPORT 备份;备份时间选择在每天凌晨1:00 开始。
4.3 恢复策略
恢复策略:(1)数据文件损坏或磁盘阵列损坏:针对这种情况可以采用RMAN从磁盘中恢复。(2)误操作或对象级逻辑上的损坏:针对这种情况可以从exp备份中采用imp恢复。
4.4 性能影响
数据库采用归档模式对营销支撑系统数据库性能产生的影响也是由于归档进程需要对归档日志进行归档。同时改成归档模式还需要注意的一个问题就是归档目录空间的问题,该系统空间足够。如果该系统的IO资源较为充裕的话,则不会对性能产生很大的影响。
ORACLE数据备份与数据恢复方案
五、RMAN Catalog 数据库的备份
RMAN Catalog库是整个备份系统当中最重要的信息之一。是在物理备份(Veritas)服务器上建立的一个ORACLE数据库,记录了所有备份的数据库数据文件。如果丢失了Catalog信息的话,恢复将非常麻烦,因此我们也需要对RMAN Catalog库做定期备份。RMAN Catalog库采用逻辑备份,每天直接备份到逻辑备份服务器上。
ORACLE数据备份与数据恢复方案
六、结 语
Oracle数据库备份策略 第3篇
不管数据库如何精心设计、配置和优化,它们都难免会出现系统或硬件故障,如:语句故障、用户进程故障、实例故障、介质故障等。一旦数据库出现故障将给用户数据带来灾难性的结果。因此数据库管理员必须采取必要的备份策略以避免数据灾难的发生。
Oracle提供了强大的备份策略,其备份方式分为物理备份和逻辑备份两大类型。物理备份是数据库文件拷贝的备份,根据备份时数据所处状态的不同,物理备份又可分为脱机备份(冷备份)和联机备份(热备份);逻辑备份是对数据库逻辑组件(表、存储过程等数据库对象)的备份,逻辑备份使用Exp命令将数据库中相应的逻辑对象存储为二进制文件。
2 脱机备份
脱机备份是在数据库被正常关闭之后进行的数据文件的物理备份。当数据库正常关闭时,将数据库的所有数据文件、控制文件、参数文件、口令文件、重做日志文件都拷贝到备份介质中。这些文件因而保持着数据关闭时的完整的映象,对于备份Oracle信息而言,脱机备份是最快和最安全的方法。
2.1 脱机备份的优点
1)是非常快速的备份方法(只需拷文件)
2)容易归档(简单拷贝即可)
3)容易恢复到某个时间点上(只需将文件再拷贝回去)
4)能与归档方法相结合,做数据库“最佳状态”的恢复。
5)低度维护,高安全性。
2.2 脱机备份的方法
1)关闭数据库shoutdown normal;
2)将数据文件、控制文件、参数文件(可选)、联机重做日志文件及存档日志文件(Oracle工作在Archivelog方式)拷贝到备份磁盘。
3)重新启动数据库startup open数据库名;
脱机备份操作简单、安全可靠,但脱机备份只能恢复到数据库被关闭时的状态,同时只有在关闭数据库的状态下才能进行备份操作。实际应用中很多情况下数据库必须不间断的工作,不可能使用脱机备份数据库,在这种情况下只能采用联机备份。
3 联机备份
联机数据库备份是不一致备份,因为在备份过程中数据库中的部分数据可能被修改,因此数据库一旦出现故障只能利用备份文件与归档日志做完全或不完全的恢复,此时数据库必需工作在Archivelog方式。
3.1 Archivelog方式下的备份策略
1)在初始建立数据库时,执行脱机全数据库备份,这是整个数据库备份的基础,它保存着全部原始数据库文件和控制文件的备份;
2)定期进行全数据库备份(联机备份);
3)每次对数据库进行结构修改时,必须进行控制文件备份。
3.2 联机备份的方法
在数据文件备份之前,对应的表空间必须通过使用ALTER TABLESPACEBEGIN BACKUP以备份方式放置。然后组成表空间的数据文件可以使用类似脱机备份的操作系统命令进行拷贝。在数据文件用操作系统命令拷贝后,应使用ALTER TA-BLESPACEEND BACKUP命令使表空间脱离联机备份方式。同时用ALTER DATABSEBACKUP CONTROLFILE命令备份控制文件。(下转第4365页)(上接第4363页)
联机备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜像状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。
对于临时表空间,存放的是临时信息,在联机备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。
3.3 联机备份的优点
1)可在表空间或数据文件级备份,备份时间短。
2)备份时数据库仍可使用。
3)可达到秒级恢复(恢复到某一时间点上)。
4)可对几乎所有数据库实体作恢复。
5)恢复是快速的,在大多数情况下在数据库仍工作时恢复。
当备份的数据量不是太大,需要经常性的数据备份时,可以使用逻辑备份。ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份、表空间备份和完全备份。
表模式:备份某个用户模式下指定的对象(表)。
exp用户名/密码@适配器tables=(table list)file=备份文件名。
用户模式:备份某个用户模式下的所有对象。
exp用户名/密码@适配器file=备份文件名owner=用户名。
表空间模式:备份整个表空间。
exp用户名/密码@适配器tablespaces=(tablespace list)file=备份文件名
完全备份:备份完整的数据库。
exp用户名/密码@适配器full=y file=备份文件名
对于数据库逻辑备份,建议采用增量备份,即只备份上一次备份后更改的数据。
4 结论
选择备份策略的依据是:丢失数据的代价与确保数据不丢失的代价之比。还有的时候,硬件的备份有时根本满足不了现实需要,假如你误删了一个表,但是你又想恢复的时候,数据库的备份就变的特别重要了。作为DBA,有责任从以下三个方面维护数据库的可恢复性:1)使数据库的失效次数减到最少,从而使数据库保持最大的可用性;2)当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高;3)当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性。
摘要:任何数据库系统都可能因人为或非人为的因素带来数据灾难。该文详细探讨Oracle数据库系统中所提供的强大的备份策略,以帮助数据库管理员最大限度地减少因数据灾难所带来的损失。
关键词:备份,联机备份,脱机备份,物理备份,逻辑备份
参考文献
[1]丁铖.Oracle8/8i数据库系统管理[M].北京:人民邮电出版社,2001.
[2]盖国强.循序渐进Oracle--数据库管理、优化与备份恢复[M].北京:人民邮电出版社,2007.
[3]袁福庆.Oracle数据库管理与维护手册[M].北京:人民邮电出版社,2006.
oracle数据库备份方案 第4篇
关键词:Oracle CRON 备份 数据库
中图分类号:TP309.3 文献标识码:A 文章编号:1673-8454(2008)19-0045-03
在计算机网络广泛应用的今天,医院信息化获得了飞速的发展,电子处方、电子医嘱、电子申请单等一系列计算机手段的应用极大地提高了医护人员的工作效率,方便患者就医诊治。但是目前这些医院信息化的应用大部分用于医护人员的日常使用,患者还无法从存储在医院数据库中的数据查询到自己的检验/检查信息。在患者就诊的时候,提供近期的检验/检查报告结果,能够为医生的诊治提供有利的帮助,但是如果近期的检验/检查报告丢失或者就诊时忘记携带,那么不得不重新做一遍相应的检验/检查项目,这样既浪费患者的时间,又浪费患者的金钱。“一单通”实行后,部分大医院之间互相认可彼此的检验/检查结果,患者或者医生能够通过计算机网络远程查询相应的检验/检查结果,利用信息化和计算机网络为患者就诊提供更好的服务。在黑客、病毒肆虐的互联网上,为了保证服务的持续性和稳定性,对提供基础数据的数据库做备份是必须的。
一、Oracle数据库备份方式[1]
UNIX平台和Oracle数据库组合是大中型应用系统的首选。Oracle数据库是目前应用最为广泛的大型数据库之一,其备份的方式主要有冷备份、热备份和逻辑备份。
冷备份是一种物理备份,它使用操作系统的拷贝命令将与数据库相关的物理文件进行备份。在进行冷备份的时候,为了保证数据库中数据的完整性,数据库要预先正常关闭。冷备份是一种非常快速的备份方法,只需将备份文件拷贝回去,就可以非常容易地将数据恢复到备份时的时间点上。冷备份的不足之处是在实施备份的全过程中,数据库必须是处于关闭状态。备份所需时间与数据库的数据文件大小、个数以及备份介质I/O速度有关。
热备份又叫联机备份,它是在数据库运行的状态下进行的物理备份,适用于要求每周7天、每天24小时运行的数据库。与冷备份整个数据库不同,热备份的备份单位是表空间。要进行热备份,首先必须将表空间设置为备份模式,此时数据库在该表空间发生检查点(checkpoint),并将SCN(System Change Number,系统变更号)写入组成表空间的数据文件的头文件中,在表空间处于备份模式期间,Oracle将停止对该表空间数据文件的直接写入,转而使用复杂的机制将回滚段、缓冲、重做日志和归档日志结合起来存储数据,拷贝完毕后结束表空间的备份模式, 数据库将完成对数据文件的同步更新,以数据库当前的SCN替换备份开始时写入头文件中的SCN,由此保证表空间数据的一致性。热备份要求数据库工作在归档(archive log)模式下,在归档模式下重做日志记录了所有数据库的事务,提供了多次表空间备份之间的数据库变化,因此,可利用不同时间的多个表空间备份恢复整个数据库,可作数据库“最新状态”的恢复。热备份的不足在于不易操作,维护成本高。
逻辑备份即为拷贝数据库的数据,而不记录数据位置的备份过程。Oracle中所提供的export(导出)工具可进行逻辑备份。export将数据按Oracle的特定格式从Oracle数据库写到操作系统文件中,恢复时利用Oracle的import(导入)工具读取export导出的文件,将数据导入到数据库中。逻辑备份常用于Oracle数据库之间移动数据,备份整个数据库到一个文件中。使用export工具备份数据库的时候,数据库必须打开。为了保证备份期间整个数据库的完整性和一致性,要以restrict模式打开数据库。
针对要为患者和医生提供不间断的、持续服务的特点,逻辑备份是最适合的一种备份方式。
二、cron实现Oracle数据库的定时备份
1.cron介绍[2]
cron是Unix系统的调度进程,它可以在无需人工干预的情况下运行用户的作业,执行作业的命令是crontab,该命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个自己的crontab文件来保存调度信息。用户可以使用它运行任意一个shell脚本或某个命令。虽然每一个用户都可以有自己的crontab文件,但在一个重要的系统中,系统管理员可以通过 /ect/cron.d目录下的cron.allow和cron.deny两个文件控制用户对contab文件的访问。这两个文件全部由用户名组成,每个用户名一行。这两个文件的使用遵循如下规则:
第一,如果cron.allow存在,那么只有该文件中指定的用户才可以执行crontab任务,例如建立、编辑、显示或者删除他们自己的crontab文件;
第二,如果cron.allow不存在,那么除了cron.deny文件中指定的用户名以外,其它所有用户均可以执行contab任务;
第三,如果cron.allow和cron.deny两个文件都不存在,那么只有root用户可以执行crontab任务,其它用户不能执行crontab任务。
2.cron实现Oracle数据库的定时备份
本文以Sun Solaris 9 平台下的Oracle 9.2.0.6为例,说明如何使用cron实现Oracle数据库的定时逻辑备份。
在使用cron定时备份Oracle数据库的时候,用户首先要根据自己的需求定制crontab文件的脚本。本文以备份Oracle数据库中的test用户为例说明如何定制脚本:
步骤1:确定要定时自动执行作业的用户
以Oracle用户登录服务器;
步骤2:编辑备份Oracle数据库的脚本
(1)使用vi编辑器创建文件backup_oracle.sh;
(2)编辑文件backup_oracle.sh的内容如下:
#Start
#Part 1
ORACLE_BASE=/export/home1/oracle; export ORACLE_BASE
ORACLE_HOME=/export/home1/oracle/product/9.2.0; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:usr/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
NLS_LANG=american_america.ZHS16GBK;export NLS_LANG
PATH=$ORACLE_HOME/bin:/usr/bin:/usr/ucb:/etc:/usr/
#Part 2
RQ=` date+"%y%m%d%H%M%S"`
#Part 3
/export/home1/oracle/product/9.2.0/bin/exp system/pw_system owner=testfile=/export/home0/oracle/backup/test$RQ.dmplog=/export/home0/oracle/backup/test$RQ.log
#End
文件内容说明:
文件的内容包括两部分:
Part 1:Oracle用户的环境变量设置
Part 2:RQ是一个变量,其值表示当前系统的时间,如:060501203000,表示2006年5月1日20点30分0秒
Part 3:/export/home1/oracle/product/9.2.0/bin/exp system/pw_system owner=testfile=/export/home0/oracle/backup/test$RQ.dmplog=/export/home0/oracle/backup/test$RQ.log
该语句使用Oracle的exp命令对数据库进行逻辑备份,备份产生的文件名字为所导出的用户名与RQ变量的组合,如:test060501203000.dmp,备份的日志文件名字也是用户名与RQ变量的组合,如:test060501203000.log。
步骤3:创建crontab文件
(1)使用vi编辑器编辑创建名字为
(2)文件oraclecron的内容如下:
30 20 * * * sh /global/oracle/oradata/backup_oracle.sh
该文件的格式说明如下:[3][4]
该文件的每一个条目必须含有6列、5个时间域,每个域之间要用空格分隔,其中:
第1列表示分钟:1~59;第2列表示小时:0~23(0表示子夜);第3列表示日:1~31;第4列表示月:1~12;第5列表示星期:0~6(0表示星期天);第6列表示要运行的命令。
在前5个时间域中可以用星号“*”来表示连续的时间段。如果对某个时间域没有特别的限定,应该在该域内填入“*”。
步骤4:提交任务
使用如下命令提交该任务给系统进程cron:crontab oraclecron,同时创建文件的一个副本放在/var/spool/cron/crontabs目录中,文件名就是用户名Oracle
步骤5:查看crontab文件是否已经提交
使用如下命令查看任务是否已经提交:crontab –l
通过上面的设置,在每天20:30分将自动执行Oracle数据库的备份,文件名字test<脚本启动时间>,如:test060501203000.dmp,orcl_user060502203000.dmp,由于每次脚本启动的时间不同,所以可以在服务器上保留近期多个数据库备份。
三、结束语
为患者和自己医院之外的医生提供检验/检查结果是医院提供的一种“增值服务”,但是这种服务没有经济收入,所以投入成本是提供这种“增值服务”要考虑的一个重要因素。本文实现的Oracle数据库备份,可以在无需额外投入的基础上完成Oracle数据库的日常备份,并且在备份的时候无需人工干预。根据磁盘空间的大小在服务器上可以保存最近日期的数据库备份文件,一旦数据库出现问题,可以利用最近一次的备份进行数据库恢复。
参考文献:
[1]Kevin loney.oracle9i数据库管理员手册[M].北京:机械工业出版社,2002.
[2]饶云华,张曜.Unix/Selaris系统管理与网络管理[M].北京:清华大学出版社,2002.
[3]SebeH M G.Selaris技术指南[M].北京:机械工业出版社,2001.
oracle数据库备份方案 第5篇
1、发明名称
一种基于全量数据的增量数据备份方案 摘要:
本发明公开了一种基于全量数据的增量备份方案,本文中采取的全量数据增量备份方案包括:读取原始数据与数据库当前数据、原始数据与数据库当前数据对比并生成对比结果日志——筛选出增量数据、按照对比结果将增量数据存入数据库临时增量表,最后将增量数据备份至数据库。整个备份过程,使用了MD5(Message Digest Algorithm MD5)信息摘要算法和二分查找算法等IT技术,极大的提高了运行效率。通过本发明可以对海量数据进行高效、可靠、快速的备份,对此类问题的解决具有普遍意义。
开始读取原始数据与数据库当前数据数据比对生成比对结果筛选增量数据增量数据存入数据库临时增量表增量数据备份至数据库结束
2、权利要求书
1.读取原始数据与数据库当前数据:使用MD5(Message Digest Algorithm MD5)信息摘要算法读取原始数据与数据库当前数据,其中数据文件为-CSV格式的文件; 2.数据比对生成比对结果筛选增量数据:原始数据MD5散列值与数据库当前数据的MD5散列值进行全量比对,生成比对结果保存在日志文件中,检索出增量数据; 3.增量数据入数据库临时增量表:按照将通过数据比对筛选出来的增量数据存入数据库临时增量表;
4.增量数据备份至数据库:按照增量表内的数据,通过增加、修改、删除操作更新数据库当前数据,实现原始数据全量备份至数据库;
3、说明书 3.1、技术领域
本申请是一种进行海量数据增量备份的方法。通过本发明可以对海量数据进行高效、可靠、快速的备份,对此类问题的解决具有普遍意义。
3.2、背景技术
目前在有着某种业务关联的分布式数据库和分布式信息系统的各类应用中,常常需要对不同的分布式数据库和信息应用系统中的一些关键数据进行同步,以维护它们之间的数据的一致性。在需要同步的数据量、信息应用系统的独立性、实时性及容错性要求不高的情况下,通常使用数据库同步、ftp、http 下载或者简单的接口调用等方法就可以满足需求。但是,一旦所涉及的数据量达到海量(数以亿计)级别而需要同步的数据仅仅为总数据量的一个很小的子集时,如何快速定位到需要同步的数据也会是一个异常突出的问题,本发明即根据此类问题的要求,通过使用MD5(Message Digest Algorithm MD5)信息摘要算法和二分查找算法等IT技术,解析读取数据,比对数据筛选出增量数据,按照增量数据更新数据,从而实现原始数据全量备份;
4、发明内容
4.1、发明的目的
解决海量数据的增量备份。
4.2、实现的步骤
本方案包括:解析、读取原始数据与数据库当前数据、数据比对生成比对结果筛选增量数据、增量数据入数据库临时增量表、增量备份至数据库。
其中筛选增量数据分为筛选:需要在当前数据库内增加的数据、需要根据原始数据在当前数据库内修改的数据、需要在当前数据库内删除的数据,下文将根据以上三种情况来分类阐述本方案中的“解析、读取原始数据与数据库当前数据、数据比对生成比对结果筛选增量数据”步骤,“增量数据入数据库临时增量表、增量备份至数据库”步骤不再分类阐述。4.2.1、读取原始数据与数据库当前数据
开始读取当前数据库中的一条记录,将主键值与其对应的整条记录的值转化成MD5散列值读取原始数据中的一条记录,将主键值与其对应的整条记录的值转化成MD5散列值否业务主键MD5散列值存入字符串数组YS1,整条记录的MD5散列值存入字符串数组YS1业务主键MD5散列值存入字符串数组TS1,整条记录的MD5散列值存入字符串数组TS1否文件是否读完是是文件是否读完结束
上图为读原始数据与数据库当前数据流程图,详细步骤如下:首先根据业务确定资源对象的业务主键,依次读取当前数据库中的每一条记录,抽取其业务主键值和整条记录的值,通过MD5(Message Digest Algorithm MD5)信息摘要算法将业务主键值与其对应的整条记录的值转化成MD5散列值,分别存入到字符串数组YS1和YS2中。
采用上述同样的数据读取方式,将原始CSV格式的数据文件,依次读出并通过MD5算法转化成MD5散列值,分别存入字符串数组TS1和TS2。4.2.2、数据比对生成比对结果-筛选增量数据
为了提高全量比对效率,系统采用多进程、多线程操作系统,将参与全量比对的对象随机分配在5个不同的线程队列中,相比于单线程全量比对操作系统,效率提高5倍;
数据比对进行需两次比对,第一次比对筛选出增加的数据、修改的数据,第二次比对筛选出删除的数据,两次比对详细描述如下。
4.2.2.1、筛选出增加的数据、修改的数据
开始YS1和YS2字符串数组排序读取原始数据中的一条记录,将主键值与其对应的整条记录的值转化成MD5散列值主键值在YS1中查找存在整条记录值在YS2中查找存在不存在在LOG文件中记录该条记录实际值并标识位A否不存在在LOG文件中记录该条记录实际值并标识位M数据是否读完结束 上图为筛选增加数据、修改数据的流程图,详细描述如下: 首先将字符串数组YS1和YS2排序,依次使用原始数据一条记录的业务主键MD5散列值在YS1中使用二分查找算法查找,分以下情况:
若不存在,则说明该条原始数据为新增的数据,并在LOG文件中记录原始数据中该条据的实际值,以A(add)进行标记;
若存在,则使用原始数据中该记录的整条记录的MD5散列值--TS2在YS2中折半查找:若不存在,则说明该条数据为需要在当前数据库中除业务主键外其他信息需要修改的数据,并在LOG文件中记录原始数据中该条据的实际值,以M(modify)进行标记;
若原始数据该条记录的业务主键MD5散列值、整条记录MD5散列值,即存在于YS1又存在于YS2中,则说明该条记录无变化,无需更新。
4.2.2.2、筛选出删除的数据
开始将TS1排序读取当前数据库的一条记录,将字符串转换成MD5散列值否主键值在TS1中查找存在在LOG文件中记录该条记录实际值并标识位D不存在数据是否读完结束 上图为筛选删除数据的流程图,详细描述如下:
首先将字符串数组TS1和TS2排序,依次使用数据库一条记录的业务主键MD5散列值在TS1中使用二分查找算法查找,若不存在则说明该条数据为需要在当前数据库中删除的数据,并在LOG文件中记录当前数据库中该条据的实际值,以D(delete)进行标记;
4.2.3、增量数据入数据库临时增量表
当前数据库执行存储过程,将比对过程生成的LOG文件中的数据读入到数据库临时增量表中,按照LOG文件中的标识码在临时增量表中的每条记录后面添加一个属性值其中:LOG文件中‘A’对应临时增量表中‘I’(insert 新增的数据)、LOG文件中‘M’ 对应临时增量表中‘U’(update更新的数据)、LOG文件中‘D’ 对应临时增量表中‘D’(delete删除的数据);
4.2.4、增量备份至数据库
当前数据库执行存储过程,读取数据库临时增量表中一条记录,标识码在当前数据库相对应的表中做增删改操作,如下:
若临时增量表中标识码为‘I’则在当前数据库相对应的表中插入该条记录; 若临时增量表中标识码为‘D’则在当前数据库相对应的表中删除该条记录; 若临时增量表中标识码为‘U’则在当前数据库相对应的表中先删除当前数据库该条记录,再把原始数据中与该条记录的业务主键值相等的记录插入到数据库中; 按照以上操作实现全量数据增量备份。
5、附录
5.1、MD5(Message Digest Algorithm MD5)信息摘要算法
所谓MD5,即“Message-Digest Algorithm 5(信息-摘要算法)”,它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前“压缩”成一种保密的格式,关键之处在于——这种“压缩”是不可逆的。
MD5信息-摘要算法,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的 MD5信息摘要。
5.2、二分查找算法
折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果xa[n/2],则我们只要在数组a的右 半部继续搜索x。
二分查找的基本思想是:(设R[low..high]是当前的查找区间)
(1)首先确定该区间的中点位置:
(2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下:
①若R[mid].key>K,则由表的有序性可知R[mid..n].keys均大于K,因此若表中存在关键字等于K的结点,则该结点必定是在位置mid左边的子表R[1..mid-1]中,故新的查找区间是左子表R[1..mid-1]。②类似地,若R[mid].key 相信为数不少的系统管理员每天都在做着同一样的工作――对数据进行备份。一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了。假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!下面笔者结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用。 我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上,为此我们可进行如下操作: 一、导出数据库 export命令将数据库中的数据备份成一个二进制文件,它通常有三种模式:用户模式、表模式和整个数据库模式。本文拟采用用户模式,备份之前,应先建立一个备份目录,以容纳备份文件,比如可建一个/backup目录。接着我们可在UNIX的Oracle目录下(也可以是其它目录)分别建立两个文件ora―backup,tar―backup。需要说明的是,前一个文件需要对Oracle的参数进行初始化,为了方便起见,我们不妨将初始化命令放到一个文件中(文件名姑且定为ora―env),再由第一个文件调用它。 1. ora―env文件对Oracle的参数进行初始化,其内容如下: 2. ora―backup文件对数据库做export导出,导出的文件名可以任意定,本文定为字母“xx”加当天日期,即假如当天日期是12月10号,则导出的文件名为“xx1210.dmp ”,以区别于其它日期的备份文件。 ora―backup文件内容: 本命令用于在$提示符下,导出test用户的数据(其口令亦为test),导出文件及日志均放在/backup目录下。 二、磁带备份 tar―backup文件将用export命令导出的数据文件拷贝到磁带上。tar―backup文件内容: tar rvf /dev/rmt/0n/backup/? 本命令可将/backup目录下当天产生的文件备份到磁带上。本文件中,tar命令使用了三个参数,其中r选项表示向磁带上拷入文件而不破坏磁带原来内容,v选项表示在拷贝过程中显示文件信息,f选项后面加上磁带设备名,指定文件向何处拷贝,n选项表示磁带机不倒带, /dev/rmt/0表示UNIX主机第一个磁带驱动器,同理,/dev/rmt/1则表示 UNIX主机第二个磁带驱动器,依此类推。 ora―env、ora―backup、tar―backup文件编写完成后,分别使用下述命令: 这样,三个文件就都变成了可执行文件。 三、异地备份 我们知道,通常可用FTP命令在两台主机间传输数据,但一般是通过交互方式实现的,即需要手工输入目标主机的IP地址、用户名、口令等。显然,这不符合自动备份的要求。所幸的是,我们可以通过编写一个.netrc的文件来达到目标。这一文件必须命名为 .netrc,且必须存放在启动FTP命令的机器上的用户注册目录中,该文件的权限应禁止组内或其它用户进行读访问。这样,当用户使用FTP命令的时候,系统将会在该用户的注册目录中寻找.netrc文件,如果能够寻找到,将会首先执行该文件,否则,会交互式地提示用户输入用户名、口令等。 在使用FTP命令之前,应先在另一台作备份用的UNIX机器上建一目录,以容纳备份文件,本文建的目录是/pub 。需要指出的是,为了加快备份速度,两台主机之间的传输速率应尽可能的高,最好位于同一局域网上。 四、启动备份进程 Cron是一个永久进程,它由/etc/rc.local启动执行。Cron检查/var/spool/cron/c rontabs/?目录中的文件,找到所要执行的任务和执行任务的时间。Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、command)组成,域之间用空格或Tab分开,其中: 如果一个域是?,表明命令可以在该域所有可能的取值范围内执行。如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字本身)。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。如果日期域和星期域都有值,则这两个域都有效。 现在,我们编写一个文件,用以启动自动备份进程。值得注意的是,该文件只能在 Oracle用户名下用crontab -e 命令来编辑,否则将不会被定时执行,文件名定为Orac le,文件将放在/var/spool/cron/crontabs 目录下。编辑完成后,可以在Oracle的$提示符下,用crontab -l命令来查看。 Oracle文件内容: 经过以上的操作后,系统每天晚上将自动产生一个备份,并且自动将备份文件分别拷贝到磁带上和另一台主机上。系统管理员需要做的是,隔几天换一盘磁带(更换磁带的周期取决于备份文件的大小和磁带的容量)和清理备份目录。这样,他们就可以从备份数据的繁琐中解脱出来,去做其它更有意义的工作。而数据库既实现了磁带备份,又实现了异地备份,相应的安全性也大大提高了。 (完) ORACLE RAC 简介: ORACLE RAC集群是实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。 集群内部的所有服务器共享存储,所有服务器都接入公共网络,通过集群唯一的别名对外形成逻辑上单一的数据库提供服务,对内实现集群数据库的高可用性、节点间的负载均衡和Failover(失败切换)。 逻辑结构: 集群纵向看是由存储、数据库集群、应用集群三部分组成,横向来看,是由多台应用服务器、数据库服务器和存储设备组成。 Intelnet应用集群应用服务器1应用服务器2应用服务器NORACLE RAC集群SCANRAC节点2心跳RAC节点1存储数据存储数据 物理结构: RAC物理结构图。 应用集群应用服务器应用服务器Intelnet交换机ORACLE RAC集群RAC节点1存储RAC节点2 优势: 高可用性: RAC 为数据中心的高可用性奠定了基础。它也是 Oracle 最高可用性架构不可或缺的一部分,为实现数据中心的最高可用性提供了最佳实践。RAC 还为高可用性数据管理提供了以下至关重要的关键特性: 可靠性: Oracle 数据库以其可靠性而著称。RAC Clusters 消除了数据库服务器单点故障问题,从而使可靠性更上一层楼。如果一个实例发生故障,服务器池中的其余实例仍将保持运行状态。Oracle Clusterware 可监视所有 Oracle 进程,并能立即重启任何生故障的组件。恢复能力: Oracle 数据库包含的许多特性有助于数据库轻松地从各类故障中恢复。如果Oracle RAC 数据库中的一个实例出现故障,服务器池中的另外一个实例将察觉到这一故障,随后自动进行故障恢复。利用快速应用程序通知(FAN)、快速连接故障切换(FCF)和透明应用程序故障切换(TAF)这三个功能,应用程序可以轻松地掩藏组件故障,使用户无法察觉。 错误检测: Oracle Clusterware 可自动监视 Oracle RAC 数据库和其他 Oracle 进程(ASM、监听器等),并快速诊断环境中的问题。它还经常能在用户察觉之前自动完成故障恢复。利用快速应用程序通知(FAN),应用程序即可在集群组件出现故障时立即得到通知,以便在故障显现之前重新发布事务。 持续运行: RAC Clusters 可在计划内和计划外停机期间提供持续的服务。如一台服务器(或一个实例)出现故障,数据库仍将保持运行状态,应用程序仍可访问数据。大多数数据库维护操作均可在不停机的情况下完成,并对用户保持透明。许多其他的维护任务都可以通过滚动方式完成,从而能最大限度地减少(甚至避免)应用程序停机。快速应用程序通知和快速连接故障切换可帮助应用程序满足对服务级别的要求。 可伸缩性: RAC Clusters 提供了独一无二的应用程序伸缩技术。过去,当数据库服务器容量不足时,我们会使用容量更大的新服务器取而代之。随着服务器容量的增加,其成本也日益攀升。但 Oracle RAC 为数据库提供了增加容量的其他方法。通过 OracleClusterware 和 Oracle RAC 向服务器池中添加服务器时并不需要停机,并且,一旦启用新的实例,应用程序就可立即享有新增的容量。服务器池中的所有服务器必须使用同一操作系统和相同版本的 Oralce 软件,但不必具备相同的容量。如今,根据自己的需要选择服务器池的客户通常会选用特性不同(略有差别)的服务器。 备份 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import)2、Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。(3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 3、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。增量导出包括三种类型: (1)、“完全”增量导出(Complete)即备份三个数据库,比如: exp user/password file=123.dmp(2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: exp user/password inctype=y record=y file=456.dmp 进行增量备份前,必须有个完全备份。 二、冷备份(COPY)冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是: 1、是非常快速的备份方法(只需拷文件)2、容易归档(简单拷贝即可) 3、容易恢复到某个时间点上(只需将文件再拷贝回去)4、能与归档方法相结合,做数据库“最佳状态”的恢复。5、低度维护,高度安全。但冷备份也有如下不足: 1、单独使用时,只能提供到“某一时间点上”的恢复。 2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。 3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。4、不能按表或按用户恢复。 如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括: 1、所有数据文件 2、所有控制文件 3、所有联机REDO LOG文件 4、Init.ora文件(可选) 值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。下面是作冷备份的完整例子。关闭数据库 (1)sqlplus /nolog(2)sql>connect /as sysdba(3)sql>shutdown immediate;用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件 重启Oracle数据库 sql>startup; 三、热备份(RMAN)热备份是在数据库运行的情况下,采用归档模式(archivelog mode)方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成: 1. 数据文件一个表空间一个表空间的备份。(1)设置表空间为备份状态(2)备份表空间的数据文件(3)回复表空间为正常状态 2. 备份归档log文件(1)临时停止归档进程 (2)log下那些在archive rede log目标目录中的文件(3)重新启动archive进程(4)备份归档的redo log文件 3. 用alter database bachup controlfile命令来备份控制文件 热备份的优点是: 1. 可在表空间或数据库文件级备份,备份的时间短。2. 备份时数据库仍可使用。3.可达到秒级恢复(恢复到某一时间点上)。4. 可对几乎所有数据库实体做恢复 5. 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。 例: $rman target user/password backup full database format=’/../..’;热备份的不足是: 1. 不能出错,否则后果严重 2. 若热备份不成功,所得结果不可用于时间点的恢复 1 Oracle数据库认识 甲骨文公司推出的关系数据库管理系统Oracle数据库具有良好的硬件兼容性, 具有对大数据量、多用户事务的处理能力, 同时还支持不同类型的操作系统, 并且能遵守包括通用数据存取语言、操作系统 (操作系统漏洞、操作系统补丁和操作系统用户等) 、用户接口和网络通信协议等方面的工业标准。Oracle数据库具备强大的数据库管理功能与分布式处理能力, 如支持大量的多媒体数据, 包括多维数据结构、图像、声音和动画等方面的数据, 可以有效保障数据的安全性及稳定性。基于此, 使得Oracle数据库在政府、金融、教育等部门中应用广泛。 2 Oracle数据库备份 数据库备份是非常重要的一个环节, 可以说能够进行怎样的数据恢复依赖于怎样的数据备份, 因此它也是数据库恢复非常重要的一步。备份的好坏对数据库恢复的精确性和及时性有非常重要的影响, 可以说备份和恢复是互相联系的概念。Oracle数据导入和导出imp/exp就相当于oracle数据还原和备份。Oracle数据库备份可分为物理备份和逻辑备份, 其中物理备份是为了实现数据库的完整恢复, 而将组成数据库的实际操作系统文件加以拷贝的过程, 一般是从磁盘到磁带进行备份。进行物理备份的数据库需在归档模式下运行, 且外部存储设备需满足备份的需要。物理备份又有冷备份与热备份之分, 其中冷备份是极为快速的备份方法, 主要是在数据库正常关闭之时提供一个完整的数据库, 能和归档方法相结合, 做到数据库“最佳状态”的恢复。但是, 冷备份存在的问题是不能按表或按用户恢复, 单独使用时只能提供“某一时间点上”的恢复, 并且在冷备份过程中数据库要处于关闭状态。 借用第三方软件所进行的冷备份主要分三个步骤, 首先是关闭运行中的oracle数据库, 使其内外部运行模块处于停止状态, 采用命令符:sqlplus / as sysdba;shutdown immediate开展这一步骤。其次, 进行数据库的备份, 通过命令符:host copy d: oracle oradata *.* e: backup 20151231, 将整个数据库文件存储到别的存储介质或是存储位置当中, 也可以只备份部分数据库文件, 诸如配置文件、控制文件等。最后是启动Oracle数据库, 具体通过命令符startup开展这一步骤。 与冷备份相反, 热备份则需要在数据库运行的情况下进行数据库的备份, 又称为联机备份, 其备份方法是archivelog mode。热备份可对几乎所有数据库实体达到秒级恢复, 并且能在表空间或者是数据库文件中进行备份, 所用时间短。热备份与冷备份相辅相成, 互为补充, 一旦出现问题, 可以借由两种备份资料帮助信息恢复。开展热备份, 需要数据库运行于archivelog的状态之下, 并且需要大量的档案空间, 也需要分三个步骤进行备份。一是先检查数据库是否处于归档模式。命令符:sqlplus / as sysdba;archive log list。二是切换为归档模式。命令符:alter system set log_archive_dir='location=d: backup Arclog'。三是对文件进行热备份。命令符:alter database backup controlfile to 'd: backup ctl.bkp' (备份控制文件) ;alter system archive log current (备份当前联机重做日志文件) 。 而Oracle数据库的逻辑备份则需要借助EXP工具及SQL语言, 从数据库中抽取数据并存于二进制文件当中。逻辑备份操作简单, 且无需特定的外部存储设备, 无需数据库运行于归档模式下, 其一般分为用户备份、表备份和完全备份三种形式, 主要用于业务数据库的备份。 3 Oracle数据库恢复 数据库恢复是把数据库由存在故障的状态转变为无故障状态的过程。数据库故障是指数据库运行状态下影响数据库正常使用的特殊事件。数据库故障有许多类型:语句失败;用户进程失败;用户或应用错误操作;实例失败等。通常根据故障的类型不同分为实例恢复和介质恢复。其中实例恢复主要是Oracle在其实例产生故障之后, 自行进行恢复的形式。而介质恢复则是在存放数据库中的介质产生故障时进行的恢复。基于Oracle数据库不同形式的备份, 其恢复有物理备份恢复和逻辑备份恢复之分。物理备份恢复主要分为四个步骤, 首先是在原位置上拷贝数据文件进行备份, 将该文件设置成为离线状态, 其命令符为:alter database datafile 4offline drop。其次是打开数据库, 其命令符为:alter database open。 再次是恢复数据库中的数据文件, 其命令符为:recover datafile。最后是将数据文件设为联机状态, 其命令符为:alter database datafile 4 online。 4 结语 随着现代科技的不断发展, Oracle数据库备份和恢复方法也层出不穷, 工作人员需要在实际工作当中, 不断完善Oracle备份和恢复方法, 做到具体问题具体分析, 以提高备份数据的可用性。 参考文献 [1]刘钰.浅谈ORACLE数据库的管理与维护[J].计算机光盘软件与应用, 2014 (13) .oracle数据库备份方案 第6篇
ORACLE―HOME=$ORACLE―HOME;export ORACLE―HOMEORACLE―SID=ora73;export ORACLE―SIDORACLE―TERM=sun;export ORACLE―TERMLD―LIBRARY―PATH=$ORACLE―HOME/lib;export LD―LIBRARY―PATHORA―NLS32=$ORACLE―HOME/ocommon/nls/admin/data;export ORA―NLSPATH=.:/usr/clearcase/“ target=”_blank“ >ccs/bin:/usr/ucb:$ORACLE―HOME/bin:$PATH;export PATHDISPLAY=host1:0;export DISPLAYNLS―LANG=american―america.zhs16cgb231280;export NLS―LANG
./oracle/ora―env#初始化Oracle数据库rq=′date +″%m%d″ ′#把当天日期赋予变量rqrm /backup/?# 清空 /backup目录exp test/test file=/backup/xx$rq.dmplog=/backup/xx$rq.log
chmod 755 ora―envchmod 755 ora―backupchmod 755 tar―backup
.netrc文件内容如下:machine host2# host2为作备份用的主机名login oracle#oracle为备份主机上的一个用户password oracle#oracle用户的口令为oraclemacdef init#定义一个名为init的宏,它将在自动注册进程的最后被执行bin#文件的传输方式设为二进制lcd /backup# 进入本地工作目录/backupcd /pub# 进入备份主机目录/pubmput ?# 将/backup目录下的所有文件传输至备份主机bye#退出FTP会话进程.netrc文件编写完成后,使用下述命令:chmod 600 .netrc这样,.netrc文件就只能被该用户所访问。
minutes:分钟域,值的范围是0到59 hours:小时域,值的范围是0到23 day of month:日期,值的范围是1到31 month:月份,值的范围是1到12 day of week:星期,值的范围是0到6,星期日值为0 command:所要运行的命令
0 23 ? ? ? /oracle/ora―backup# 每天23点对数据库执行备份0 2 ? ? ? /oracle/tar―backup# 每天2点将文件备份到磁带上0 4 ? ? ? ftp -i host2# 每天4点将文件备份到另一台主机上
oracle rac和备份方案 第7篇
Oracle数据库备份和恢复 第8篇
oracle数据库备份方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


