Oracle数据库的备份策略与实现方法
- 格式:pdf
- 大小:144.44 KB
- 文档页数:2
电脑编程技巧与维护Oracle数据库的备份策略与实现方法孙建军(中航工业洪都,南昌330024)
摘要:信息系统的各种数据都存储在数据库当中。在信息系统建设与应用的过程中,当数据库出现故障或是不可抗拒的外力作用下往往会导致数据丢失,从而造成非常大,甚至是无法弥补的损失。介绍了针对Oracle数据库系统能够保证以最小的数据损失代价,并以最快的时间进行数据恢复的备份策略及其实现方法。关键词:数据库;Oracle数据库;备份;逻辑备份;热备份
TheBackupStrategyofOralceDatabaseandIts
Implementation
Method
SUNJian-jun
(avIcHongdu,Nanchang330024,China)
Abstract:Theinformationsystem’sdataarestoredinthedatabase.Intheprocessofconstructionandapplicationofin-formationsystem,thedatabasewhenthefailureorforceirresistiblewilloftenleadtodataloss,resultinginverylargeoreven
irreparabledamage.Thispaperintroducesthebackupstrategyandimplementation
methodofOralcedatabasethat
canen—
surethedatatominimizethelossandthefastesttimefordatarecovery.
Keywords:Database;Oracledatabase;Backup;EXP;RMAN
1引言Oralce数据库是目前大多数企业采用的数据库,较其它数据库而言,Oralce更为稳定可靠,并且能在所有主流操作系统平台上运行,因此获得了众多用户的亲睐。Oralce数据库的常用备份方式有逻辑备份(EXP)、RMAN备份(热全备)、数据库安全卫士OracleDataguard(主备数据库服务器时时同步),
现就这些备份方式的优劣对比、备份的一般原则及实现方法进行介绍。23种备份方式对比表13种常见备份方式技术上的优劣对比
ExpRmanDataGuard(数据卫士)
11灾难恢复与高可用性支持异地灾备.恢复时间短10—20分钟就可以恢复数据库.主数据库和备用数据库
操作简单。11基本可以恢复到之间可轻松进行故障切换,转换;
数据库不用牧据库出故障的时2)有效利用系统资源:备用数据库
任何配置;间点。支持热备.能可用于报表操作、备份、查询;
支持客户端、眵根据归档日志恢31平衡数据可用性与性能,灵活的优点复到最新归档日志数据保护,同步模式:服务器端导
人导出备份,听包括的数据:41完整的数据保护:实现零数据丢
可以跨平台z)支持增量(差异)失,防止数据损坏:备份,减少备份时5)在恢复网络连接之后自动重新同操作。
间。步.自动存档差异检测和解决.无
需人工干预:61集中的简单管理.用于管理和监控的按钮式图形界面。11不能恢复11管理维护比较麻数据库当前烦.需要DBA参最新数据:与:成本很高:需要两台以上的数据库21不支持增21数据恢复有一定
量导出.如果风险.数据恢复可服务器.且操作系统以及OrMee版
缺点本必须一致:OracleDataGuard组数据库数据量能存在数据丢失情件是需要另行购买的.并且需要专
大.备份时间况。人进行运维。会很长.一旦31恢复数据库技术
意外中断要重难度较大,恢复时新执行备份:间较长。硬件没有特殊要求大容量存储设备主备至少两台数据库服务器环境
1)Oracle企业版数据库;软件Oracle数据库Oracle数据库2)OracleDataGuard组件;
环境31要求主服务器和备用服务器上的Or-acle数据库和操作系统的版本完全相同。渤黼毒囊熬
通过表1中的对比.可以看到各种备份方式都有一定的优点,又有一定的缺点。考虑到目前大多数情况下系统数据库备份需求和用户软硬件配置及经济承受能力.笔者认为对于数据量较大的系统,通过Oracle专业备份工具RMAN备份到存储设备是主要的备份方式.对于数据量较小的系统采用EXP方式较为理想.而两者的结合使得数据的备份既灵活又安全。3Oracle数据库备份策略根据数据库系统的数据量可以制定如下备份策略(1)所有数据库无论大小采用EXP/RMAN结合方式进行每月一次的数据全备,并保留一年。(2)对于数据量小于、等于50G的数据库,采用RMAN方式在每13零点对数据库做0级备份。(3)对于数据量大于50G的数据库,采用RMAN方式每周13零点对数据库做0级备份,每周一到周六零点对数据库做1级备份。(4)如果采用EXP方式进行数据备份,对于数据量小于、等于50G的数据库每天备份2次,分别为晚上零点、中午12点进行;对于数据量大于50G的数据库每天备份1次。在晚上零点进行;EXP备份记录至少保留10天。4Oracle数据库备份技术的实现
4.1EXP逻辑导出备份4.1.1编写Windows环境下的EXP备份脚本将下面的脚本代码保存为一个Windows批处理文件。例如取名为“expbakwin.bat”,此脚本目的是为了对数据库进行EXP备份.使用此脚本前先根据自己的实际情况设置环境
作者简介:孙建军(1973一),男,工程师,研究方向:信息系统开发与应用、Oralce数据库管理与优化。收稿日期:2013—02—24
万方数据DATABASEANDINFORMA7n0NMANAGEMENT数据库与信息管理变量:数据库实例名、数据库安装目录、system密码、备份文件路径等。remrem说明:rem通过EXP备份相关用户数据。rem设置oracle_sid(数据库实例名)、oracle_home(数据库安装目录)、Femsystem_pwd(system密码)、dbuser(导出的用户)、remfil叩a也(备份文件路径)变量的值。remn:msetoracle_home=D:\oracle\product\11—20Xdbhome—lsetoracle_sid=orclsetsystem_pwd=adminsetfilepath=D:\exp_bak\%date:~0,4%%date:~5,2%%date:~8,2%setdatetime=%date:~0,4%%date:~5,2%%date:~8,2%rnkdir%filepath%title正在EXP用户%dbuser%数据,请等待……expsystem/%system_pwd%file=%filepath%\%oracle_sid%一%datetime%.dmpfull=ylog=形fdepath%|彩oracle_sid%一彩date—time%.109direct=yfeedback=2000buffer=5(D(D0004.1.2调用Windows的计划任务定时自动执行Exp备份脚本根据EXP备份策略定时运行数据库备份脚本“exp_bak_win.bat”.利用Windows计划任务自动执行Exp备份脚本操作步骤如下:点击“开始—->设置一>控制面板一>任务计划”,双击“添加任务计划”,将相应的脚本定时自动运行即可。4.2RMAN备份实现4.2.1编写RMAN备份脚本以AIX环境下进行RMAN备份为例,将下面的脚本保存到名为“rman_level0.sh”的文件中。此脚本的运行目的是为数据库进行RMAN方式的O级备份,使用此脚本前应先根据实际情况设置环境变量及备份文件路径等。舟!/bin/sh.一,.profdeexportBACKUP_DIR=/backup/rman_bakrman飞K强G;吼|<<EOFrun{allocatechanneltltypeDISK;backupformat7¥{BACKUP_DIR)/level0一%d一%L%s一%p’incrementallevel0database;sql"altersystemarchivelogcurrent’;cmsscheckbackup;crosscheckarchivelogall;backupformat7¥{BACKUP_DIR}/arch一%d一%L%s一%p’files—perset5skipinaccessible(archivelogallnotbackedupltimes);deleteforcenopromptobsoleteredundancy2:deleteforcenopromptarchiveloguntiltime7sysdate-3’;deletenopromptforceexpiredbackup;deletenopromptforceexpiredarchivelogall;releasechanneltl;}exit;EOF再将下面的脚本保存到名为“rman_levell.sh”的文件中。此脚本的运行目的是为数据库进行RMAN方式的1级备份,同样的,使用此脚本前先根据自己的实际情况设置环境变量,备份文件路径等。#!,biIl,sh.~f.profileexportBACKUP_DIR=/backup/rman_bakrinanTARG砸|<<EOF
mn{allocatechanneltl
typeDISK;
backupformat7¥{BACKUP_DIR)/levell一%d_%L%s_%p7
incrementallevel1database;
sql’altersystemarchivelogcurrent’;crosscheckbackup;
crosscheckarchivelogall;
backupformat’¥{BACKUP_DIR)/arch一%d一%t—%s—%pfiles—
perset5skipinaccessible(archivelogallnotbackedupltimes);
deleteforcenopromptobsoleteredundancy2:
deleteforcenopromptarchiveloguntiltime7sysdate一37;
deletenopromptforceexpiredbackup;
deletenopromptforceexpiredarchivelogall;
releasechanneltl;
}
exit;EOF
4.2.2AIX计划任务自动执行RMAN备份脚本根据备份策略定时自动运行数据库备份脚本“iTllan_lev.e10.sh”,“rman_levell.sh”,在AIX环境中利用计划任务可自动执行备份脚本,具体操作步骤如下:(1)在AIX系统环境中切换到ORACLE用户:#SHoracle(2)将备份脚本“rman_level0.sh”,“rman_levell.sh”保存到/home/oracle/admin/rman_bak目录(3)执行创建任务命令,并按照AIX定时任务的格式进行配置:¥crontabe