欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    2019第11章数据库的备份与恢复.doc

    • 资源ID:2382155       资源大小:949KB        全文页数:31页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2019第11章数据库的备份与恢复.doc

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

    注意事项

    本文(2019第11章数据库的备份与恢复.doc)为本站会员(上海哈登)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开