Oracle数据库开发实用教程第10章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第10章Oracle数据库的逻辑备份学习要点EXP/IMP命令的使用EXPDP/IMPDP命令的使用本章主要内容导出/导入Oracle的数据泵技术EXP/IMP和EXPDP/IMPDP的区别10.1数据导出导入数据库的导入导出实用工具IMP和EXP是Oracle9i版本以前的逻辑备份与恢复方式,但是在Oracle9i和Oracle10g以后仍然保留了这个功能。利用Export可将数据从数据库中提取出来,利用IMP则可将提取出来的数据送回Oracle数据库中去,分为简单导入导出和增量导入导出数据导入导出模式分为三种模式:表方式、用户方式和全数据库方式10.1.1数据导出EXP1.数据导出方法(1)交互式。CIMP这样会在后面的执行中边执行导入边要求回答问题。(2)命令行方式。CEXP用户名/密码@SERVICE参数=VALUE其中:用户名/密码:是连接目标数据库的用户和密码。SERVICE:要连接的目标数据库名称。参数:如表10-2所示。表10-2EXP和IMP命令参数表参数VALUE描述ROWSY,NY—导入表数据(导入数据行),N—只导入表结构FROMUSER用户名从FROMUSER参数列出的用户所属的对象可以装入到TOUSER列出的用户模式中TOUSER用户名INDEXESY,NY—指定索引和表一起导入,N—索引和表不一起导入FULLY,NY—导入整个数据库,N—整个文件FILE输入文件名输入文件(EXPDAT.DMP)DESTROYY,NN—不覆盖表空间数据文件,Y—覆盖表空间数据文件INDEXESY,NY—导入索引,N—不导入索引2.数据导出模式表方式,将指定表的数据导出。命令行使用TABLES选项来完成。(1)导出表是使用EXP工具将一个或多个表的结构和存储的数据导出到操作系统文件中。一般用户可以导出自己方案的表,如果要导出其他用户的表,则要求该用户必须具有EXP_FULL_DATABASE角色或DBA角色。(2)用户方案方式,将指定用户的所有对象及数据导出。命令行使用OWNER选项来完成。【例】将数据库中system用户与sys用户的表导出。SQLexpsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)(3)数据库方式,将数据库中的所有对象导出。命令行使用FULL选项来完成。(4)增量导出。增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,否则必须在命令行中指出要用的文件名。增量导出包括三个类型:“完全”增量导出、“增量型”增量导出、“累计型”增量导出。【例】“完全”增量导出。即备份整个数据库。CEXPsystem/managerinctype=completefile=990702.dmp10.1.2数据导入IMP1.数据导入方法数据导入(Import)的过程是数据导出(Export)的逆过程,它们的数据流向不同。(1)交互式。CIMP这样会在后面的执行中边执行导入边要求回答问题。(2)命令行方式。CIMP用户名/密码@SERVICEPARA=VALUEPARA=VALUE其中:SERVICE:数据库名称。PARA:导入参数2.数据导入模式数据导入分为四种模式:表模式、用户模式、数据库模式、增量模式。(1)导入表。【例】将导出文件d:\daochu.dmp中的表table1导入。SQLIMPsystem/manager@TESTfile=d:\daochu.dmptables=(table1)基本上上面的导入导出够用了,不少情况下我是将表彻底删除,然后导入。(2)导入用户方案。如果导入用户自己的方案使用用户名/密码和FILE选项即可。如果把数据导入其他用户中,则必须具有DBA权限或IMP_FULL_DATABASE角色。【例】用户导入自己的方案。CIMPsunny/pass@TESTFILE=SAMPLE.DMP(3)导入数据库。导入数据库使用FULL选项来完成。【例】利用导出文件SAMPLE.DMP把数据导入数据库TEST。CIMPsunny/pass@TESTFILE=SAMPLE.DMPFULL=Y(4)增量导入。【例】如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库。1)用命令CREATEDATABASE重新生成数据库结构。2)创建一个足够大的附段。3)完全增量导入A。Cimpsystem./managerinctype=RECTOREFULL=YFILE=A4)累计增量导入E。Cimpsystem/managerinctype=RECTOREFULL=YFILE=E5)最近增量导入F。Cimpsystem/managerinctype=RESTOREFULL=YFILE=F10.2Oracle的数据泵技术10.2.1概述Oracle10g中增加了一个数据逻辑备份的方法,叫做数据泵,这是一种新的导入和导出特性,它彻底改变了数据库用户已经习惯的过去几代Oracle数据库的客户/服务器工作方式。现在服务器运行导出和导入任务,可以通过并行方式快速装入或卸载大量数据。10.2.2导入导出方法与目录对象当作为一个没被授权的用户进行导入时,你需要连接到目标模式。如果你拥有IMP_FULL_DATABASE角色,那么你可以用自己的身份登录,然后导入到任何目标模式。数据导入导出模式分为如下四种模式:表方式、用户方式、表空间模式和全数据库方式所以如果要使用数据泵对数据库进行导入导出,需要如下几个步骤:(1)建立目录对象。(2)将目录对象授权给要执行导入导出的用户。(3)此用户进行导入导出。1.建立目录对象目录对象就是转储文件和日志文件的位置。【例】创建目录对象export_dumps,使它指向物理目录'c:\a'。SQLCREATEDIRECTORYexport_dumpsAS'c:\a';2.将目录对象授权给用户【例】把read和write权限授权给用户user_abc,使得此用户可以对目录对象export_dumps有读和写的权限。SQLGRANTread,writeONDIRECTORYexport_dumpsTOuser_abc;10.2.3数据导出EXPDP1.导出一个表【例】把用户SCOTT的两个表,即部门表DEPT和职工表EMP导出到文件EXP1.DMP中,其目录对象为DUMP。C:EXPDPSYSTEM/ORACLEDIRECTORY=DUMPDUMPFILE=EXP1.DMPTABLES=SCOTT.DEPT,SCOTT.EMP;2.导出表空间【例】导出一个表空间USER01的所有对象。C:EXPDPSYSTEM/ORACLEDIRECTORY=DUMPDUMPFILE=A.DMPTABLESPACE=USER01;3.导出数据库【例】导出数据库。C:EXPDPSCOTT/TIGERDIRECTORY=DUMPDUMPFILE=DUMP.DMPFULL=Y4.导出用户方案【例】导出用户SYSTEM和SCOTT的所有对象方案。C:EXPDPSYSTEM/ORACLEDIRECTORY=DUMPDUMPFILE=A.DMPSCHMAS=SYSTEM,SCOTT;10.2.4数据导入IMPDP1.导入表【例】导入表DEPT和EMP。C:IMPDPSCOTT/TIGERDIRECTORY=DUMP_DIRDUMPFILE=AA.DMPTABLES=DEPT,EMP;2.导入用户方案【例】导入用户SCOTT的所有对象。C:IMPDPSCOTT/TIGERDIRECTORY=DUMP_DIRDUMPFILE=AA.DMPSCHEMAS=SCOTT;3.导入数据库【例】利用转储文件AA.DMP和目录对象DUMP_DIR导入整个数据库C:IMPDPSCOTT/TIGERDIRECTORY=DUMP_DIRDUMPFILE=AA.DMPFULL=Y;4.导入表空间USER01【例】利用转储文件AA.DMP和目录对象DUMP_DIR导入USER01表空间。C:IMPDPSCOTT/TIGERDIRECTORY=DUMP_DIRDUMPFILE=AA.DMPTABLESPACES=USER01;(1)EXP和IMP是客户端工具,用于客户端和服务器端。(2)EXPDP和IMPDP是服务器端工具,只能用于服务器端。10.3EXP/IMP和EXPDP/IMPDP区别10.5本章小结Oracle数据导入导出IMP/EXP就相当于Oracle数据还原与备份。大多数情况下都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。EXP命令可以把数据从远程数据库服务器导出到本地的DMP文件,IMP命令可以把DMP文件从本地导入到远程的数据库服务器中。本章主要介绍了传统的数据导入导出工具的使用和数据泵导入导出的方法。EXP和IMP是客户端工具,用于客户端和服务器端。EXPDP和IMPDP是服务器端工具,只能用于服务器端。

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功