资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,讲 义,Oracle数据库,2005.8,李明俊,第五章 Oracle数据库备份与恢复,本章内容,5.1 数据库常见故障类型,5.2 数据库保护机制,5.3 数据库逻辑备份与恢复,5.4 脱机备份(冷备份),5.5 联机备份(热备份),5.6 数据库恢复,5.7 小结,一个应用系统投入运行后,数据的安全变得非常重要,数据的丢失直接给企业带来不可估量的经济损失,因此,一定要重视数据的备份与恢复。,DBA的主要职责之一是备份数据库和在数据库发生故障时高效、安全地恢复数据库。,备份方法,冷备份,热备份,恢复方法,完全恢复,不完全恢复,5.1 数据库常见故障类型,系统崩溃或服务器崩溃,用户错误、冲突或者磁盘失效导致的文件丢失,SQL语句失败,网络故障,场地灾难,5.2 数据库保护机制,Oracle数据库保护机制:数据库备份和事务日志。,Oracle数据库,事务日志,数据库备份,数据库备份,一般来说,数据库备份可以分为物理备份和逻辑备份。,物理备份一般是指脱机备份,脱机备份又称为冷备份,只能在数据库关闭后进行备份。,逻辑备份也叫做联机备份,联机备份又称为热备份,是使用Export实用程序备份,当数据库出现故障,可以使用Oracle的Import实用程序恢复数据库。,归档(archivelog)模式下联机备份。联机重做日志被归档,主要备份归档日志文件。,5.3 数据库逻辑备份与恢复,数据库逻辑备份:读一个数据库记录集,并以Oracle提供的内部格式写入一个二进制文件中。这些记录的读出与其物理位置无关。,在Oracle中,Export实用程序执行逻辑备份。使用Oracle的Import实用程序执行数据库恢复。,当用户导入导出时,有相应的权限要求。,在PL/SQL中,可以使用图形界面执行数据库的导入和导出。,5.3.1 导出,逻辑备份也叫热备份。在数据库正常运行中,把数据卸载下来按文件方式存放到磁盘中。,备份导出命令,EXP,主要选项,File卸载后数据的文件名,Direct直接读取数据,不通过Select语句,Full卸出完整数据,Rows=n不卸出数据,只卸出库结构,Compress合并碎块进行压缩,Buffer在内存中开辟缓冲区的大小,可以通过如下命令来显示参数,EXP HELP=Y,全数据库方式卸载,EXP,system/口令主机字符串,file=文件名 direct=y,full=y rows=n compress=y,buffer=128000000,例:,EXP system/xmanagerw file=E:oradate.dmp direct=y,full=y compress=y buffer=128000000,表空间方式卸载,EXP system/口令主机字符串 file=文件名,tablespaces=表空间名 rows=n,compress=y direct=y buffer=128000000,例:,EXP system/xmanagerw file=e:user_tabspace.dmp,tablespaces=users compress=y direct=y,buffer=128000000,用户方,式,式卸载,EXP,用,用户名/,口,口令主,机,机字符串file=文件,名,名 rows=n,direct=ycompress=ybuffer=128000000,例:,EXPscott/tigerL file=f:scott_table.dmp compress=y,direct=ybuffer=128000000,表方式,卸,卸载,EXP,用,用户名/,口,口令主,机,机字符串file=文件,名,名 tables=表名,compress=y direct=ybuffer=128000000,例:,EXPsam/samW file=f:spml_table.dmp,tables=T_spml compress=ydirect=y buffer=128000000,5.3.2 导,入,入,一旦数据,已,已经导出,,,,就可以,通,通过Oracle,的,的Import实,用,用程序执,行,行导入,,来,来恢复数,据,据库。Import实用程,序,序读取由Export创建,的,的二进制,导,导出转储,文,文件并执,行,行其中的,命,命令。,IMPUSERID=username/password,可以通过,如,如下命令,来,来显示参,数,数,IMPHELP=Y,导出的数,据,据可以导,入,入到不同,的,的数据库,中,中,可以,导,导入全部,或,或部分已,导,导出的数,据,据。,通过EXP和IMP可以把,一,一个用户,的,的表复制,到,到另一个,用,用户中,,也,也可以通,过,过Grant语句,和,和Create语,句,句把一个,用,用户的表,复,复制到另,一,一个用户,中,中。,例:,impsystem/manager TOUSER=scott,tables=t_spml file=sam.dmp,交互式导,入,入过程如,:,:,对全数,据,据库卸出,和,和表空间,卸,卸出的文,件,件,导入,命,命令格式,为,为,E:IMP system/口令主机字,符,符串,对用户,和,和数据表,方,方式卸出,的,的文件,,导,导入命令,格,格式为,E:IMP 用,户,户名/口,令,令主机,字,字符串,下面是实,际,际操作例,子,子。,输入命令,备份文件,名,名,输入Yes,缺省,缺省,缺省,缺省,设置缓冲,区,区,5.4,脱,脱机备,份,份(冷备,份,份),脱机备份,是,是最简单,的,的一种数,据,据库备份,方,方式,在,数,数据库关,闭,闭后进行,备,备份,用,户,户不能访,问,问数据库,,,,是一种,完,完全备份,。,。,脱机备份,一,一般需要,备,备份如下,文,文件:,(1)所,有,有数据文,件,件,(2)所,有,有控制文,件,件,(3)所,有,有联机重,做,做日志,(4)init.ora文,件,件,(5)系,统,统文件,(1)关,闭,闭数据库,SHUTDOWNNORMAL;,或者执行,SHUTDOWNIMMEDIATE;,(2)复,制,制数据文,件,件,用拷贝命,令,令备份全,部,部的数据,文,文件、重,做,做日志文,件,件、控制,文,文件、初,始,始化参数,文,文件等。,简单的处,理,理方法是,将,将数据库,所,所在路径,下,下的文件,全,全部复制,备,备份。在,下,下面是试,验,验机房机,器,器中所用,数,数据库Oracle的目录,是,是:,D:OracleoradataOracle92,把上述目,录,录下的所,有,有文件进,行,行备份,。,(3)重,新,新启动数,据,据库,STARTUP;,脱机备份,的,的优点:,只需要拷,贝,贝文件,,速,速度比较,快,快。,将文件拷,贝,贝回去,,数,数据库就,可,可以恢复,到,到某个时,间,间点。,若结合数,据,据库归档,模,模式可以,很,很好地恢,复,复数据库,。,。,维护量相,对,对较少,,但,但安全性,相,相对较高,。,。,脱机备份,的,的缺点:,脱机备份,时,时,数据,库,库必须关,闭,闭。,单独使用,脱,脱机备份,,,,数据库,只,只能基于,某,某一时间,点,点恢复。,脱机备份,不,不能按表,或,或用户恢,复,复。,5.5,联,联机备,份,份(热备,份,份),联机备份,是,是在数据,库,库运行时,进,进行的备,份,份,用户,仍,仍然可以,访,访问数据,库,库,一些,关,关键行业,的,的数据必,须,须运行在,7*24,模式下,,并,并不适合,执,执行脱机,备,备份,必,须,须使用联,机,机备份。,联机备份,要,要求数据,库,库运行在,归,归档(archivelog)模式,下,下,该方,式,式下,联,机,机重做日,志,志被归档,,,,数据库,中,中所有事,务,务的完整,记,记录由Oracle以循环,方,方式写入,联,联机重做,日,日志文件,。,。,联机备份,一,一般备份,数,数据文件,、,、控制文,件,件和日志,文,文件,。,(1)备,份,份所有数,据,据文件,(2)备,份,份所有归,档,档的重做,日,日志文件,(3)备,份,份一个控,制,制文件,(4)检,查,查发生故,障,障的数据,文,文件,恢,复,复数据文,件,件,联机备份,的,的优点:,可在表空,间,间或数据,文,文件级备,份,份,备份,时,时间短。,备份时数,据,据库仍可,使,使用。,可达到秒,级,级恢复(,恢,恢复到某,一,一时间点,上,上)。,可对几乎,所,所有数据,库,库实体作,恢,恢复。,恢复快速,,,,大多数,情,情况下恢,复,复不需要,关,关闭数据,库,库。,5.6,数,数据库,恢,恢复,恢复可以,分,分为完全,恢,恢复和不,完,完全恢复,完全数据,库,库恢复是,恢,恢复到故,障,障发生前,的,的状态,,所,所有已经,提,提交的操,作,作都进行,恢,恢复,确,保,保数据库,不,不丢失任,何,何数据,,完,完全恢复,只,只用于归,档,档模式。,不完全数,据,据库恢复,是,是将数据,库,库恢复到,备,备份点与,介,介质失败,点,点之间某,个,个时刻的,状,状态,并,不,不是恢复,所,所有提交,的,的操作,,不,不完全恢,复,复可能丢,失,失部分数,据,据。,任何类型,的,的恢复包,括,括两个阶,段,段:前滚,阶,阶段和回,滚,滚(回退,),)阶段。,前滚阶段,在前滚恢,复,复阶段(roll-forwardrecovery),恢,复,复管理器,应,应用必要,的,的事务日,志,志组“重,做,做”(REDO),所,所有提交,的,的不在数,据,据库数据,文,文件中的,事,事务。,回滚阶段,在前滚恢,复,复后,Oracle必须执,行,行回滚恢,复,复(roll-backrecovery,),)。,由于一些,未,未完成的,事,事务对数,据,据库的修,改,改信息已,经,经提交到,数,数据库,,为,为保证数,据,据库的一,致,致性,需,要,要清除这,些,些事务对,数,数据库的,修,修改,数,据,据库应执,行,行回滚操,作,作,(UNDO),,强制撤,销,销这些未,完,完成事务,。,。,前滚和回,滚,滚的执行,除,除了管理,员,员或应用,程,程序调用,外,外,执行,前,前滚操作,还,还是回滚,操,操作与检,查,查点的出,现,现相关,1,2,3,4,5,检查点,系统故障,上一检查点,无,前滚,回滚,前滚,回滚,故障时需要的动作,实,实例故障,的,的一致性,恢,恢复,当,数,数,据,据,库,库,实,实,例,例,意,意,外,外,地,地,(,(,如,如,掉,掉,电,电,、,、,后,后,台,台,进,进,程,程,故,故,障,障,等,等,),),或,或,预,预,料,料,地,地,(,(,发,发,出,出shutdownabort,语,语,句,句,),),终,终,止,止,时,时,出,出,现,现,实,实,例,例,故,故,障,障,,,,,此,此,时,时,需,需,要,要,实,实,例,例,恢,恢,复,复,。,。,实,例,例,恢,恢,复,复,将,将,数,数,据,据,库,库,恢,恢,复,复,到,到,故,故,障,障,前,前,的,的,事,事,务,务,一,一,致,致,状,状,态,态,。,。,如,果,果,联,联,机,机,备,备,份,份,时,时,出,出,现,现,实,实,例,例,故,故,障,障,,,,,则,则,需,需,要,要,介,介,质,质,恢,恢,复,复,。,。,在,其,其,它,它,情,情,况,况,下,下,,,,,Oracle,在,下,下,次,次,数,数,据,据,库,库,起,起,动,动,时,时,(,(,对,对,新,新
展开阅读全文