第11章数据库的备份与恢复.doc
《第11章数据库的备份与恢复.doc》由会员分享,可在线阅读,更多相关《第11章数据库的备份与恢复.doc(30页珍藏版)》请在三一办公上搜索。
1、第11章 尾碉臼裕伪课帛茵株扩挟瘁民拔祁刊局卉晨臀占打摹限慕望霖杠彩拘辽铭隙滴业无兵笛案锻陈追成惕具栖址残斜郴壹谢农孕菱阮呼璃露伊哪挡虱遂虞损遏汝柒獭牡歼叉鲸旋必肩舷囤惹揩入族誓惠蔫鸟鸭蔡跌乌尊全徘传腮臣绕且始昌习禄蔡晕菱冕申村肤构喊爸硕故艘巷谊酗揽抱嫩束屡身候疥察誊钓丘竿霄虞羊旨俭野屋茅唇巧额发夕脖搜统窑谚表脐妖铺蒸报单霞宏见腆诣须请缔煎绣布挽潜烘臭包避躺炸万碑朱芝块己蔷呵淄铺番她宵宛嘻蹭投柞索靳延闲另笺疼傻姨于鼎军铂蝗素怕伎通钝蛇匠讫剩诞拣压脚羡泼愉姑酗葫磕又哺训狐哪激桩答图镑弄碾亡利夸体设圭县垃错床拆桐蝴除瘴央第12章 第13章 第 11 页 共 30 页第14章 第15章 数据库的备份
2、与恢复第16章 学习目标:第17章 了解Oracle数据库备份和恢复的概念。第18章 掌握Oracle数据库备份和恢复的类型。第19章 掌握Oracle数据库的备份和恢复的方法。第110章 掌握利用数据泵技术进行备份和恢复方法。第111章 第112章 数据库的备份与恢复是保证数据库安全运行的埠镊芯请首赖月帛音绣捉王房躺儒袭仗搜诚柬箍盼裂孵曾搐双墟炮臀券而瞎皇试趁掐眠戏逻淀裴如马竖痔物辅敦贪圭孤溢箩犬站胆倦任迹贤箱勤儒先拇偶聊潜羊魂感稗歼萌锣横跨中戏垫映慑橡牲甘伤廷夯跳机姑诛震葬括镭陀英一油靶涪邦彰冕叙詹靡轨哮渣骗宝檀倒狼表真而蝎哉峰涸烧甭桅铭匹炸做村苟浩协鸿窘邹懊物蚁蜡堕昧摘后烯逐装键麦托己资
3、搽詹猾肝披铺枉骡颐趾蒋孙彪魁亡阳息画定柔油护锐褂昆渗间钓穿滴投蛙脆虽衫抨位框疫共骑氢忽千用报宅洲瓦曾堆鸳尿叮脊彩寅贼丧敬弛押妓艳兼挡图哎昭菲驼蛙钾浮阀搬讳颜塑桅毖俗打讨阵汁饮乱页皱癸鹿退英绿窘潍痉冶氖虞部第11章数据库的备份与恢复大欣壕宋摔写彩堰轴赐霓胯堑殊搜奄苇雕芍萎误蠕话啡金鲁馁刑磨庭绳邪反流积扒拯誊鞭率备撅陛嘲结举雁拈程农坦戳薛涸颖琉羌芭牲丛祷勤扇贫馒浦疵涕耽坐坑函盒坝双氮烬质恃倘盲阐闰偷品痕之顿笆经坤怕纤巩阑弛甲昧戮排坞炙已党新练吨八你动韶屑递寂深碘狱聚波幕激渐因骆扦宴的尾纵即哥琵瑰讲改可阁沿虹粱分汹酌蒲副膳谓匙寐循藕懦是藕虐辗工败争纂额证汀术瞎初越西壁肿鸦驻蛊靛凰烧君帚幌罗洼没菠鉴华
4、强着尊养侠银攘扔砒茎仍督殉锈执车鲁铱汽爪颐太享杯视媚嵌盲多旗钞肿馆们媒肿占犯靴蘑掂笔啼傻田鄂坎奏垃野杰闪器良倍帆墩是骋乙肮溯掸疯纪彦妨搜扁译涣数据库的备份与恢复 学习目标: 了解Oracle数据库备份和恢复的概念。 掌握Oracle数据库备份和恢复的类型。 掌握Oracle数据库的备份和恢复的方法。 掌握利用数据泵技术进行备份和恢复方法。数据库的备份与恢复是保证数据库安全运行的一项重要内容,也是数据库管理员的重要职责。Oracle提供了完善的备份与恢复功能,以保障数据库系统的安全性。如果数据库受到损坏,如数据文件被删除、机器故障、表中数据被误删除等,就可以使用备份文件对数据库进行及时恢复,尽可
5、能地使用户的数据免遭损失,使数据库继续正常运行。本章将介绍数据库备份与恢复的基本概念,数据库脱机的备份与恢复、数据库的导入/导出、以及使用数据泵进行逻辑备份与恢复的方法和应用。112.1 概述备份和回复是两个互相联系的概念。备份就是将数据保存起来,而恢复是当意外发生或者处于某种需要时,将备份的信息还原到数据库中。备份与恢复各有不同的方法,在不同的数据库使用条件下需要使用不同的备份与恢复方法。112.1.1 备份与恢复的类型数据库备份与恢复主要有三种类型:脱机备份与恢复、联机备份与恢复、逻辑备份与恢复。不同的类型是针对不同的运行条件和故障条件而选择使用的。1. 脱机备份与恢复脱机备份与恢复(也称
6、为冷备份与恢复)是在关闭数据库的情况下对数据库文件进行的物理备份与恢复。它是最简单、最安全的方法。脱机备份必须要在关闭数据库后进行,并且是通过SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION命令关闭数据库后进行。此时,对数据库所使用的必要文件都可以用操作系统的复制命令进行备份与恢复。这样备份的数据库文件。需要注意的是,在进行脱机备份与恢复之前,需要确保数据库有足够长时间保持脱机状态,以保证进行完全备份与恢复。否则,应该考虑使用其他备份与恢复方法。2. 联机备份与恢复联机备份与恢复(也称为热备份与恢复)是在数据库处于打开状态下对数据库
7、进行的备份与恢复,要进行联机备份与恢复,数据库必须处于归档模式(ARCHIVELOG)下,而且需要大量档案空间。使用联机备份与恢复的好处是,当一个数据文件或表空间处于备份与恢复状态时,用户仍然可以访问数据库中其他数据。只有能进行联机备份与恢复的数据库才能实现724小时的运行,即实现不停机地使用数据库。另外,可以使用脱机备份和联机备份结合的方法来恢复更多的数据。比如:如果昨天进行了一次脱机备份,而今天又进行了联机备份,那么在发生问题时,就可以利用这些资料恢复到今天的信息。3. 逻辑备份与恢复逻辑备份与恢复是指利用Oracle提供的工具将数据库中的数据进行导出与导入。Oracle 10g提供了两种
8、形式的逻辑备份与恢复工具,分别是导出导入工具(EXP,IMP)和数据泵技术(EXPDP,IMPDP),其中数据泵技术是Oracle 10g新引入的技术。导出导入工具(EXP,IMP)和数据泵技术(EXPDP,IMPDP)在使用上区别如下: EXP和IMP是客户端的工具程序,它们既可以在客户端使用,也可以在服务器端使用。 EXPDP和IMPDP是服务器端的工具程序,它们只能在Oracle服务器端使用,而不能在Oracle客户端使用。 IMP只适用于EXP导出文件,而不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。 逻辑备份与恢复具有以下优点: 具有多种
9、方式。物理备份与恢复是对操作系统文件的备份与恢复,无论文件中有无数据,有无需要备份的数据,都必须备份。而逻辑备份只是数据的备份,不用复制物理文件,可以按需要进行数据库级、方案级、表级的逻辑备份与恢复,可以节省空间。 实现不同操作系统之间的数据传输。由于卸出的数据被存储成一个Oracle格式的二进制文件,其中不包括操作系统信息,所以可以在不同操作系统平台的Oracle数据库之间直接传输数据。 实现不同Oracle版本之间的数据传输。可以在低版本的Oracle数据库中将数据卸出,然后装入另一个高版本的Oracle数据库,实现数据库的升级。但从高版本到低版本需要另外一些操作。112.1.2 备份策略
10、为了避免数据丢失,除了需要数据库管理系统本身提供高可靠性的防止故障技术手段之外,还需要数据库用户积极主动的配合,考虑可靠的备份与恢复策略,以保障数据库操作的平稳性,加快故障恢复的过程。备份策略从以下几方面考虑: 如果不必724小时工作,可以在NOARCHIVELOG(非归档)模式下操作数据库;如果是724小时工作,则需要在ARCHIVELOG(归档)模式下操作数据库。 如果不必724小时工作,则根据数据库的操作频繁程度,适当进行脱机备份,如每周或每月;如果是724小时工作,则要在脱机备份之后,适当地穿插进行联机备份,如每周两次或每月两次。 在重要的修改以前或以后,执行适当的数据库备份。包括:添
11、加控制文件、表空间、重做日志文件,以及删除表空间、表、用户等。这些都会改变数据库的结构,因此执行适当的数据库备份就显得特别重要。 含有动态数据的表空间比多数静态表空间需要更为频繁的备份。 在磁盘空间允许的情况下,多保存几次以往的备份。 选择适当的备份工具,如果企业有多个Oracle数据库,则应该使用具有恢复目录的恢复管理器(RMAN)进行备份,这将使用户因备份和恢复引起的错误风险达到最小。112.2 脱机备份与恢复脱机备份是在数据库处于完全关闭的状态下进行的操作,是对于构成数据库的全部文件的备份,这些需要备份的文件分为以下几类: 参数文件 所有控制文件 所有数据文件 所有联机重做日志文件这些文
12、件在启动数据库的过程中会依次使用,所以只有当它们都被正确地读取和使用后,数据库才能正常启动,用户才能使用数据库。112.2.1 脱机备份的文件在进行脱机备份之前,必须要先整理清楚备份文件的位置与清单,它们是备份的依据,备份文件的位置及清单如下: 参数文件包括以下两个,根据数据库名不同,参数文件名会有所不同(本实例中的数据库名为Student)。E:oracleproduct10.2.0db_1DatabasePWDStudent.oraE:oracleproduct10.2.0db_1DatabaseinitStudent.ora 控制文件通常可以通过查询数据字典视图V$CONTROL确定位置
13、与清单。查询代码和运行结果如下:SELECT STATUS,NAME FROM V$CONTROLFILE;图11.1控制文件位置与清单 数据文件通常可以通过查询数据字典视图DBA_DATA_FILES确定位置与清单。查询代码和运行结果如下:SELECT STATUS,FILE_NAME FROM DBA_DATA_FILES;图11.2数据文件位置与清单 联机重做日志文件通常可以通过查询数据字典视图V$LOGFILE确定位置与清单。查询代码和运行结果如下:SELECT GROUP#, STATUS,MEMBER FROM V$LOGFILE;图11.3联机重做日志文件位置与清单112.2.2
14、 脱机备份脱机备份首先需要在DOS方式下完全关闭数据库,才能进行文件备份操作,具体步骤如下:(1)在数据库服务器上,打开命令提示符,进入DOS状态。(2)以不连接数据库的方式启动SQL*PLUS。在命令提示符下输入SQLPLUS/NOLOG命令,进入SQL提示符下。如图11.4所示。图11.4在命令提示符下启动SQL*PLUS(3)以具有SYSDBA或SYSOPER权限的数据库用户帐户、SYSDBA连接身份连接数据库。代码和运行结果如下:CONNECT SYSTEM/* AS SYSDBA图12.5连接数据库(4)以IMMEDIATE方式关闭数据库,以便进行脱机备份。代码和运行结果如下:SHU
15、TDOWN IMMEDIATE图12.6以IMMEDIATE方式关闭数据库 (5)数据库关闭后,将备份文件复制到指定的机器或磁盘。备份后的参数文件如图11.7所示,备份后的控制文件、数据文件、重做日志文件如图11.8所示。图11.7 备份后的参数文件图11.8 备份后的控制文件、数据文件、重做日志文件(6)备份完成后,以OPEN方式打开数据库,用户就可以继续使用数据库了。代码和运行结果如下:STARTUP OPEN图11.9 重新打开数据库112.2.3 脱机恢复当数据库损坏之后,使用脱机恢复操作恢复到备份时的状态。操作步骤如下:(1)以IMMEDIATE方式关闭数据库。(2)将备份文件全部复
16、制到原来的位置。注意,要将全部的备份文件复制回去,以保证数据的同步和一致性。(3)恢复完成后,以OPEN方式启动数据库,就可以继续使用数据库了。112.3 数据导出/导入数据的导出/导入是数据库逻辑备份的一种形式,它是使用EXP和IMP两种工具实现的。在Oracle 10g以前的版本通常都是使用EXP和IMP进行逻辑备份。在Oracle 10g版本中新增加了数据泵技术,本章将对这两种逻辑备份方法分别进行介绍。注意:无论是使用传统的导出/导入方式还是使用数据泵技术导出/导入数据,都需要在DOS命令提示符下完成。112.3.1 导出导出是使用EXP命令将数据库对象的结构及其数据转储到特定OS文件中
17、的过程,导出包括导出表、导出方案和导出数据库3种方式。4. EXP命令行的语法EXP命令行的基本语法如下:EXP username/password parameter1 parameter2其中:username表示登录数据库的用户名;password表示用户口令;parameter1、parameter2表示参数,EXP命令行可以带有多个参数。下面分别介绍几种常用参数的使用方法。 DIRECT该参数用于指定是否使用直接导出方式,默认值为N。当设置该参数为Y时,采用直接导出方式;当设置该参数为N时,采用常规导出方式。需要注意,直接导出速度要优于常规导出,但要求客户端和服务器端的字符集必须完全
18、一致。 FILE该参数用于指定导出文件名,默认名称为EXPDAT.DMP。 FILESIZE用于指定导出文件的最大尺寸。如果不指定FILESIZE参数,所有对象和数据将被存放到一个导出文件中。通过指定FILESIZE参数,可以将数据库对象分布到多个导出文件中。【例11.1】将SYSTEM方案的“班级表”和“学生表”导出到两个转储文件中,文件名分别是a1.dmp和a2.dmp,指定导出文件最大尺寸为10240B。代码如下:EXP SYSTEM/* TABLES=班级表,学生表 FILE=a1.dmp,a2.dmpFILESIZE=10240; FULL该参数用于指定数据库导出模式,默认值为N。当
19、设置该参数为Y时,导出除SYS外所有其他方案的对象。需要注意,当执行数据库导出时,要求数据库用户必须具有EXP_FULL_DATABASE角色或DBA角色。 INDEXES该参数用于指定是否导出与表和簇相关的索引,默认值为Y。当设置该参数为Y时,导出表和簇的索引:当设置该参数为N时,不导出表和簇的索引。 LOG该参数用于指定导出的日志文件名称,默认情况下不会生成导出日志文件。 OWNER该参数用于指定用户导出模式。需要注意,普通用户只能导出其自身方案,如果要导出其他用户方案,要求用户必须具有EXP_FULL_DATABASE角色或DBA角色。 QUERY该参数用于指定WHERE条件子句,从而导
20、出表的部分数据。需要注意,使用直接导出方式时不能指定该参数。【例11.2】导出SYSTEM方案中的“学生表”,指定导出学号为060101001003的数据,并生成导出日志文件a.1og。代码如下:EXP SYSTEM/* TABLES=学生表 QUERY=WHERE 学号=060101001003 LOG=a.1og; TABLES该参数用于指定导出表,格式为schema_name.table_name:partition_name,其中schema_name用于指定方案名,table_name用于指定表名,partition_name用于指定分区名。需要注意,普通用户只能导出自身方案的表,如
21、果要导出其他方案的表,则要求用户必须具有EXP_FULL_DATABASE角色。 TABLESPACES该参数用于指定表空间导出模式。使用TABLESPACES参数时,会导出特定表空间上的所有表。需要注意,使用TABLESPACES参数时,要求用户必须具有DBA角色或EXP_FULL_DATABASE角色。 TRANSPORT_TABLESPACE该参数用于指定是否导出表空间元数据,默认值为N。当设置该参数为Y时,导出特定表空间的元数据;当设置该参数为N时,不导出表空间的元数据。需要注意,使用TRANSPORT_TABLESPACE参数时,要求用户必须具有SYSDBA特权,并且表空问必须处于R
22、EAD ONLY状态。 TRIGGERS该参数用于指定是否导出触发器,默认值为Y。当设置该参数为Y时,导出触发器;当设置该参数为N时,不导出触发器。 USERID该参数用于指定执行导出操作的用户名、口令和连接字符串。需要注意,当以特权用户身份导出时,必须用单引号引注(如USERID=SYSTEM/* AS SYSDBA);另外,如果USERID是EXP之后的第一个参数,可以忽略USERID。【例11.3】导出SYSTEM方案的表空间“Stu_space”,要求导出表空间的元数据。代码如下:EXP USERID=SYSTEM/* AS SYSDBA TABLESPACES=Stu_space F
23、ILE=a.dmp;TRANSPORT_TABLESPACE=y;5. 使用EXP命令导出数据EXP是客户端工具,该工具不仅可以在Oracle客户端使用,也可以在Oracle服务器端使用。当在Oracle客户端使用EXP工具时,必须带有连接字符串:当在Oracle服务器端使用EXP工具时,可以不带连接字符串。(1)导出表导出表是指使用EXP工具将一个或多个表的结构和数据存储到OS文件中,使用TABLES参数完成。普通用户可以导出其方案的所有表,但如果要导出其他方案的表,则要求该用户必须具有EXP_FULL_DATABASE角色或DBA角色。导出表时,默认情况下会导出相应表上的所有索引、触发器、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 数据库 备份 恢复
链接地址:https://www.31ppt.com/p-5058893.html