原创Oracle数据导入导出另ep和epdp对比_第1页
原创Oracle数据导入导出另ep和epdp对比_第2页
原创Oracle数据导入导出另ep和epdp对比_第3页
原创Oracle数据导入导出另ep和epdp对比_第4页
原创Oracle数据导入导出另ep和epdp对比_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用说明本文包含 exp/imp,expdp/impdp 的使用说明和常用参数详解 另外包括一个有趣的测试一、 Oracle 数据库 EXPIMPEXPDPIMPDP1 Exp 数据导出1.1 exp 关键字说明关键字说明 (默认值 )USERID 用户名 / 口令BUFFER 数据缓冲区大小FILE 输出文件 (EXPDAT.DMP)COMPRESS 导入到一个区 (Y)GRANTS 导出权限 (Y)INDEXES 导出索引 (Y)DIRECT 直接路径 (N)- 直接导出速度较快LOG 屏幕输出的日志文件ROWS 导出数据行 (Y)CONSISTENT 交叉表的一致性 (N)FULL 导出

2、整个文件 (N)OWNER 所有者用户名列表TABLES 表名列表RECORDLENGTHIO 记录的长度INCTYPE 增量导出类型RECORD 跟踪增量导出 (Y)TRIGGERS 导出触发器 (Y)STATISTICS 分析对象 (ESTIMATE)PARFILE 参数文件名CONSTRAINTS 导出的约束条件 (Y)OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N) FEEDBACK 每 x 行显示进度 (0)FILESIZE 每个转储文件的最大大小FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN FLASHBACK_TIME 用于获取

3、最接近指定时间的 SCN 的时间 QUERY 用于导出表的子集的 select 子句RESUMABLE 遇到与空格相关的错误时挂起 (N) RESUMABLE_NAME 用于标识可恢复语句的文本字符串 RESUMABLE_TIMEOUTRESUMABLE 的等待时间 TTS_FULL_CHECK 对 TTS 执行完整或部分相关性检查TABLESPACES 要导出的表空间列表TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N) TEMPLATE 调用 iAS 模式导出的模板名1.2 常用的 exp 关键字举例1、full 用于导出整个数据库,在 rows=n 一起使用,导出

4、整个数据库的结构。 如: expuserid=gwm/gwmfile=/test.dmplog=test.logfull=yrows=ndirect=y2、OWNER 和TABLES,用于定义 exp导出的对象如expuserid=gwm/gwmfile=/test.dmplog=test.logowner=gwmtable=(table1,table2)3、buffer 和 feedback 若导出数据较大,考虑使用这两个参数。如expuserid=gwm/gwmfile=/test.dmplog=test.logfeedback=10000buffer=1000000 00tables=(

5、table1,table2)4、file 和 log 用于指定备份的 dmp 名称和 log 名称5、compress 不压缩导出数据的内容,默认 y6、filesize 若导出的数据文件大,应该用该参数,限制文件大小不要超过 2g如: expuserid=gwm/gwmfile=/test1,test2,test3,test4,test5filesize=2Glog=test.log 这样将创建 test1.dmp,test2.dmp 等,每个文件大小为 2g 。1.3 exp 导出实例- 数据库全备 - expsystem/mangerlinkfile=E:file_name.dmpful

6、l=ydirect=ylog=E:log_name.log - 可选择的备份数据库一些用户 - expsystem/mangerlinkfile=E:file_name.dmpowner=(username1,username2)dire ct=ylog=E:log_name.log- 备份一个用户的数据 - expusername/passwordlinkfile=E:file_name.dmpdirect=ylog=E:log_name.log2 Imp 数据导入imp 关键字说明关键字说明 (默认值 )关键字说明 (默认值 )USERID 用户名 / 口令 FULL 导入整个文件 (N)

7、BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表FILE 输入文件 (EXPDAT.DMP)TOUSER 用户名列表SHOW 只列出文件内容 (N)TABLES 表名列表IGNORE 忽略创建错误 (N)RECORDLENGTHIO 记录的长度GRANTS 导入权限 (Y)INCTYPE 增量导入类型INDEXES 导入索引 (Y)COMMIT 提交数组插入 (N)ROWS 导入数据行 (Y)PARFILE 参数文件名LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)DESTROY 覆盖表空间数据文件 (N)INDEXFILE 将表 /索引信息写入指定的文件S

8、KIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)FEEDBACK 每 x 行显示进度 (0)TOID_NOVALIDATE 跳过指定类型 ID 的验证FILESIZE 每个转储文件的最大大小STATISTICS 始终导入预计算的统计信息RESUMABLE 在遇到有关空间的错误时挂起 (N)RESUMABLE_NAME 用来标识可恢复语句的文本字符串RESUMABLE_TIMEOUTRESUMABLE 的等待时间COMPILE 编译过程 ,程序包和函数 (Y)STREAMS_CONFIGURATION 导入流的一般元数据 (Y)STREAMS_INSTANTIATION 导

9、入流实例化元数据 (N) 下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)TABLESPACES 将要传输到数据库的表空间DATAFILES 将要传输到数据库的数据文件TTS_OWNERS 拥有可传输表空间集中数据的用户3 Expdp 数据泵导出3.1 EXPDP 命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=schema_name.job_nameSchema_name 用于指定方案名 ,job_name 用于指定导出作业名 . 注意 ,如果使用 ATTACH 选项,在命令行除了连接

10、字符串和 ATTACH 选项外,不能指定任何其他选项 ,示例如下 : Expdpscott/tigerATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容 .默认值为 ALLCONTENT=ALL|DATA_ONLY|METADATA_ONLY当设置 CONTENT 为 ALL 时,将导出对象定义及其所有数据 .为 DATA_ONLY 时 ,只导出对象 数据,为 METADATA_ONLY 时,只导出对象定义Expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dumpCONTENT=METADATA_ONLY3. DIREC

11、TORY 指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object 用于指定目录对象名称 .需要注意 ,目录对象是使用 CREATEDIRECTORY 语句建立的对象 , 而不是 OS 目录Expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dump4. DUMPFILE用于指定转储文件的名称 ,默认名称为 expdat.dmp.DUMPFILE=directory_object:file_name,Directory_object 用于指定目录对象名 ,file_name 用于指定转储文件名 .需要注意

12、 ,如果不指定 directory_object, 导出工具会自动使用 DIRECTORY 选项指定的目录对象Expdpscott/tigerDIRECTORY=dump1DUMPFILE=dump2:a.dmp5. ESTIMATE 指定估算被导出表所占用磁盘空间分方法.默认值是 BLOCKSESTIMATE=BLOCKS|STATISTICS设置为 BLOCKS 时 ,oracle 会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占 用的空间 ,设置为 STATISTICS 时 ,根据最近统计值估算对象占用空间Expdpscott/tigerTABLES=empESTIMATE=ST

13、ATISTICSDIRECTORY=dumpDUMPFILE =a.dump6. ESTIMATE_ONLY 指定是否只估算导出作业所占用的磁盘空间,默认值为 NEXTIMATE_ONLY=Y|N设置为 Y 时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业 ,为 N 时 ,不仅估算对象所占用的磁盘空间 ,还会执行导出操作 .Expdpscott/tigerESTIMATE_ONLY=yNOLOGFILE=y7. EXCLUDE( 具体见 2 、Exclude 导出用户中指定类型的指定对象 ) 该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type:

14、name_clause,.Object_type 用于指 定要排除 的对象 类型 ,name_clause 用 于指定要 排除 的具体 对 象.EXCLUDE和INCLUDE不能同时使用Expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dupEXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸 ,默认为 0,(表示文件尺寸没有限制 )9. FLASHBACK_SCN指定导出特定 SCN 时刻的表数据FLASHBACK_SCN=scn_valueScn_value 用于标识 SCN 值.FLASHBACK_SCN 和 FLASHBACK_TIME

15、不能同时使用Expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据FLASHBACK_TIME= ” TO_TIMESTAMP(time_value)”Expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmpFLASHBACK_TIME= “ TO_TIMESTAMP( ' 25 -08- 200414:35:00' , '-MDMD- YYYYHH24:MI:SS ' ) ”11. FULL指定

16、数据库模式导出 ,默认为 NFULL=Y|N为 Y 时 ,标识执行数据库导出 .12. HELP指定是否显示 EXPDP 命令行选项的帮助信息 ,默认为 N 当设置为 Y 时 ,会显示导出选项的帮助信息 .Expdphelp=y13.INCLUDE (具体见 1、 Include 导出用户中指定类型的指定对象) 指定导出时要包含的对象类型及相关对象INCLUD E=object_type:name_clause,14. JOB_NAME指定要导出作用的名称 ,默认为 SYS_XXXJOB_NAME=jobname_stringSELECT*FROMDBA_DATAPUMP_JOBS;-查看存在

17、的 job15. LOGFILE指定导出日志文件文件的名称,默认名称为 export.logLOGFILE=directory_object:file_name Directory_object 用于指定目录对象名称 ,file_name 用于指定导出日志文件名 .如果不指定 directory_object. 导出作用会自动使用 DIRECTORY 的相应选项值 . Expdpscott/tigerDIRECTORY=dumpDUMPFILE=a.dmplogfile=a.log16. NETWORK_LINK指定数据库链名 ,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项

18、 .如: expdpgwm/gwmdirectory=dir_dpNETWORK_LINK=igisdbtables=p_street_areadu mpfile=p_street_area.dmplogfile=p_street_area.logjob_name=my_jobigisdb 是目的数据库与源数据的链接名,dir_dp 是目的数据库上的目录而如果直接用使用连接字符串 (fgisdb),expdp 属于服务端工具, expdp 生成的文件默认 是存放在服务端的17. NOLOGFILE 该选项用于指定禁止生成导出日志文件,默认值为 N.18. PARALLEL 指定执行导出操作的并

19、行进程个数 ,默认值为 1 注:并行度设置不应该超过 CPU 数的 2 倍,如果 cpu 为 2 个,可将 PARALLEL 设为 2 ,在 导入时速度比 PARALLEL 为 1 要快而对于导出的文件,如果 PARALLEL 设为 2 ,导出文件只有一个, 导出速度提高不多, 因为 导出都是到同一个文件,会争抢资源。所以可以设置导出文件为两个,如下所示:expdpgwm/gwmdirectory=d_testdumpfile=gwmfile1.dp,gwmfile2.dpparallel=219. PARFILE 指定导出参数文件的名称PARFILE=directory_pathfile_n

20、ame20. QUERY用于指定过滤导出数据的 where 条件QUERY=schema.table_name:query_clauseSchema 用于指定方案名 ,table_name 用于指定表名 ,query_clause 用于指定条件限制子 句 .QUERY 选 项 不 能 与 CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES 等选项同 时使用 .Expdpscott/tigerdirectory=dumpdumpfile=a.dmpT ables=empquery= ' WHEREde ptno=20 

21、9;21.SCHEMAS 该方案用于指定执行方案模式导出,默认为当前用户方案 .22.STATUS指定显示导出作用进程的详细状态,默认值为 023. TABLES 指定表模式导出TABLES=schema_ name.table _n ame:partiti on_n ame,Schema_name 用于指定方案名 ,table_name 用于指定导出的表名 ,partition_name 用于指 定要导出的分区名 .24. TABLESPACES指定要导出表空间列表25. TRANSPORT_FULL_CHECK该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为 N.当设置为

22、 Y 时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息 .当设置为 N 时,导出作用只检查单端依赖 ,如果搬移索引所在表空间,但未搬移表所在表空间 ,将显示出错信息 ,如果搬移表所在表空间 ,未搬移索引所在表空间 ,则不会显示错误信息 .26. TRANSPORT_TABLESPACES指定执行表空间模式导出27. VERSION指定被导出对象的数据库版本 ,默认值为 COMPATIBLE. VERSION=COMPATIBLE|LATEST|version_string为 COMPATIBLE 时,会根据初始化参数 CO

23、MPATIBLE 生成对象元数据 ;为 LATEST 时,会根据 数据库的实际版本生成对象元数据 .version_string 用于指定数据库版本字符串. 调用EXPDP3.2 数据泵工具导出的步骤1 、创建 DIRECTORY createdirectorydir_dpas'D:oracledir_dp'2、授权Grantread,writeondirectorydir_dptolttfm;- 查看目录及权限 SELECTprivilege,directory_name,DIRECTORY_PATHFROMuser_tab_privst,all_director iesdW

24、HEREt.table_name(+)=d.directory_nameORDERBY2,1;3、执行导出 expdplttfm/lttfmfgisdbschemas=lttfmdirectory=dir_dpdumpfile=expdp_test1.d mplogfile=expdp_test1.log;连接到 :OracleDatabase10gEnterpriseEditionRelease10.2.0.1 WiththePartitioning,OLAPandDataMiningoptions启动 "LTTFM"."SYS_EXPORT_SCHEMA_01

25、":lttfm/*fgisdbsch ory=dir_dpdumpfile=expdp_test1.dmplogfile=expdp_test1.log;*/3.3 其他使用说明1、directory=dir_dp 必须放在前面,如果将其放置最后,会提示 ORA-39002: 操作无效ORA-39070: 无法打开日志文件。ORA-39087: 目录名 DATA_PUMP_DIR; 无效2 、在导出过程中, DATADUMP 创建并使用了一个名为 SYS_EXPORT_SCHEMA_01 的对 象,此对象就是 DATADUMP 导出过程中所用的 JOB 名字,如果在执行这个命令时如果

26、没 有指定导出的 JOB 名字那么就会产生一个默认的 JOB 名字,如果在导出过程中指定 JOB 名字就为以指定名字出现如下改成:expdplttfm/lttfmfgisdbschemas=lttfmdirectory=dir_dpdumpfile=expdp_test1.d mplogfile=expdp_test1.log,job_name=my_job1;3 、导出语句后面不要有分号,否则如上的导出语句中的 job 表名为 my_job1; ',而不是 my_job1 。因此导致 expdplttfm/lttfmattach=lttfm.my_job1 执行该命令时一直提示找不

27、到 job 表4 、创建的目录一定要在数据库所在的机器上。否则也是提示 :ORA-39002: 操作无效ORA-39070: 无法打开日志文件。ORA-39087: 目录名 DATA_PUMP_DIR; 无效3.4 导出的其他相关命令使用1) Ctrl+C 组合键:在执行过程中,可以按 Ctrl+C 组合键退出当前交互模式,退出之后, 导出操作不会停止2) Export>status- 查看当前 JOB 的状态及相关信息3) Export>stop_job-暂停 JOB (暂停 job 后会退出 expor 模式)4 ) 重 新 进 入 export 模 式 下 : C:Docum

28、entsandSettingsAdministrator>expdplttfm/lttfmattach=lttfm.my_job1- 语句后面不带分号5) Export>startob-打开暂停的JOB (并未开始重新执行)6) Export>continue_client-通过此命令重新启动 "LTTFM"."MY_JOB":7) Export>kill_job-取消当前的 JOB 并释放相关客户会话(将 job 删除同时删除 dmp 文 件)8) Export>exit_client-通过此命令退出 export 模式(

29、通过 4 )可再进入 export 模式下) 注:导出完成后 job 自动卸载3.5 数据泵导出的各种模式1、按表模式导出: expdplttfm/lttfmfgisdbtables=lttfm.b$i_exch_info,lttfm.b$i_manhole_infodumpfil e=expdp_test2.dmplogfile=expdp_test2.logdirectory=dir_dpjob_name=my_job2、按查询条件导出: expdplttfm/lttfmfgisdbtables=lttfm.b$i_exch_infodumpfile=expdp_test3.dmplog

30、file=expdp_test3.logdirectory=dir_dpjob_name=my_jobquery='"whererownum<1 1"'3、按表空间导出:Expdplttfm/lttfmfgisdbdumpfile=expdp_tablespace.dmptablespaces=GCOMM.D BFlogfile=expdp_tablespace.logdirectory=dir_dpjob_name=my_job4、导出方案 Expdplttfm/lttfmDIRECTORY=dir_dpDUMPFILE=schema.dmpSCHE

31、MAS=lttfm,gwm5、导出整个数据库: expdplttfm/lttfmfgisdbdumpfile=full.dmpfull=ylogfile=full.logdirectory=dir_dpj ob_name=my_job 6 、使用 exclude,include 导出数据1 )、Include 导出用户中指定类型的指定对象-仅导出 lttfm 用户下以 B 开头的所有表 ,包含与表相关的索引, 备注等。不包含过程等其它 对象类型:expdplttfm/lttfmfgisdbdumpfile=include_1.dmplogfile=include_1.logdirectory=

32、 dir_dpjob_name=my_jobinclude=TABLE:"LIKE'B%'"-导出Ittfm用户下排除B$开头的所有表: expdplttfm/lttfmfgisdbschemas=lttfmdumpfile=include_1.dmplogfile=include_1 .Iogdirectory=dir_dpjob_name=my_jobincIude=TABLE:"NOTLIKE'B$%'"- 仅导出 Ittfm 用户下的所有存储过程: expdpIttfm/Ittfmfgisdbschemas=Itt

33、fmdumpfiIe=incIude_1.dmpIogfiIe=incIude_1 .Iogdirectory=dir_dpjob_name=my_jobincIude=PROCEDURE;2)、ExcIude 导出用户中指定类型的指定对象-导出 Ittfm 用户下除 TABLE 类型以外的所有对象, 如果表不导出那么与表相关的索引, 约 束等与表有关联的对象类型也不会被导出 : expdpIttfm/Ittfmfgisdbschemas=IttfmdumpfiIe=excIude_1.dmpIogfiIe=excIude_ 1.Iogdirectory=dir_dpjob_name=my_j

34、obexcIude=TABLE;-导出Ittfm用户下排除B$开头的所有表: expdpIttfm/IttfmfgisdbdumpfiIe=incIude_1.dmpIogfiIe=incIude_1.Iogdirectory= dir_dpjob_name=my_jobexcIude=TABLE:"LIKE'b$%'"-导出Ittfm用户下的所有对象,但是对于表类型只导出以b$开头的表:expdpIttfm/IttfmfgisdbdumpfiIe=incIude_1.dmpIogfiIe=incIude_1.Iogdirectory= dir_dpjob_

35、name=my_jobexcIude=TABLE:"NOTLIKE'b$%'"4 Impdp 数据泵导入4.1 IMPDP 命令行选项与 EXPDP 有很多相同的 ,不同的有 :1 、 REMAP_DATAFILE该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间搬移表空间时可能需要该选项 .REMAP_DATAFIEL=source_datafie:target_datafile2 、 REMAP_SCHEMA 该选项用于将源方案的所有对象装载到目标方案中 .REMAP_SCHEMA=source_schema:target_schema3 、

36、REMAP_TABLESPACE 将源表空间的所有对象导入到目标表空间中 REMAP_TABLESPACE=source_tablespace:target:tablespace4 、 REUSE_DATAFILES 该选项指定建立表空间时是否覆盖已存在的数据文件.默认为 NREUSE_DATAFIELS=Y|N5 、 SKIP_UNUSABLE_INDEXES指定导入是是否跳过不可使用的索引 ,默认为 N6 、 SQLFILE指定将导入要指定的索引 DDL 操作写入到 SQL 脚本中 SQLFILE=directory_object:file_nameImpdpscott/tigerDIRE

37、CTORY=dumpDUMPFILE=tab.dmpSQLFILE=a.sql7 、 STREAMS_CONFIGURATION指定是否导入流元数据 (StreamMatadata), 默认值为 Y.8 、 TABLE_EXISTS_ACTION 该选项用于指定当表已经存在时导入作业要执行的操作,默认为 SKIPTABBLE_EXISTS_ACTION=SKIP|APPEND|TRUNCATE|FRPLACE 当设置该选项为 SKIP 时,导入作业会跳过已存在表处理下一个对象;当设置为 APPEND 时 ,会追加数据 ,为 TRUNCATE 时,导入作业会截断表 ,然后为其追加新数据 ;当设置

38、为 REPLACE 时 , 导入作业会删除已存在表 , 重建表病追加数据 ,注意 ,TRUNCATE 选项不适用与簇表和 NETWORK_LINK 选项9 、 TRANSFORM该选项用于指定是否修改建立对象的 DDL 语句TRANSFORM=transform_name:value:object_typeTransform_name 用于指定转换名 ,其中 SEGMENT_ATTRIBUTES 用于标识段属性 (物理属 性,存储属性 ,表空间 ,日志等信息 ),STORAGE 用于标识段存储属性 ,VALUE 用于指定是否包含 段属性或段存储属性 ,object_type 用于指定对象类型

39、.Impdpscott/tigerdirectory=dumpdumpfile=tab.dmpTransform=segment_attributes:n:table10 、TRANSPORT_DATAFILES 该选项用于指定搬移空间时要被导入到目标数据库的数据文件 TRANSPORT_DATAFILE=datafile_nameDatafile_name 用于指定被复制到目标数据库的数据文件Impdpsystem/managerDIRECTORY=dumpDUMPFILE=tts.dmpTRANSPORT_DATAFILES= ' /user01/data/tbs1.f '

40、调用 IMPDP4.2 impdp 导入模式1、按表导入 p_street_area.dmp 文件中的表,此文件是以 gwm 用户按 schemas=gwm 导出的: impdpgwm/gwmfgisdbdumpfile=p_street_area.dmplogfile=imp_p_street_area.lo gdirectory=dir_dptables=p_street_areajob_name=my_job 2、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导 入)impdpgwm/gwmfgisdbschemas=gwmdumpfile=expdp_tes

41、t.dmplogfile=expdp_ test.logdirectory=dir_dpjob_name=my_job3 、不通过 expdp 的步骤生成 dmp 文件而直接导入的方法:- 从源数据库中向目标数据库导入表 p_street_area impdpgwm/gwmdirectory=dir_dpNETWORK_LINK=igisdbtables=p_street_arealog file=p_street_area.logjob_name=my_jobigisdb 是目的数据库与源数据的链接名, dir_dp 是目的数据库上的目录4、更换表空间采用 remap_tablespace

42、参数- 导出 gwm 用户下的所有数据 expdpsystem/orcldirectory=data_pump_dirdumpfile=gwm.dmpSCHEMAS=gwm 注:如果是用 sys 用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含 这些内容- 以下是将 gwm 用户下的数据全部导入到表空间 gcomm (原来为 gmapdata 表空间下) 下impdpsystem/orcldirectory=data_pump_dirdumpfile=gwm.dmpremap_tablespace =gmapdata:gcomm二、 EXP , EXPDP 数据导入本地性能测试

43、本文编写背景:exp/imp 和大家都知道, Oracle 数据库有两种比较方便的导出导入工具,那就是expdp/impdp 。熟悉此工具的人也会了解到, exp/imp 的使用(服务器端和客户端都可以 执行,并且备份文件可以在客户端产生) ;expdp/impdp 的使用(服务器端和客户端都可 以执行,备份文件只能存在服务器里面)。但鉴于导出导入工具的特点,我们就想能否通过expdp将远端数据库数据导入到本地库中呢?当然可以!下面我们就一起来做一个测试吧。测试说明:目的:将远端数据库服务器(IP为65)的数据导入到本地(IP为67)dmp文件中其中用到服务器(65) 一个用户(user_ex

44、p)的一张表做测试(t_exp)Createtablespacetbs_expdatafiletbs_expD: bf ' size10240mautoextendoff;Createuseruser_expide ntifiedbyuser_expdefaulttablespacetbs_exp;Grantconn ect,resource ,un limitedtablespacetouser_exp;Conn user_exp/user_expcreatetable t_exp asselect *from user_tablespaces;declarebeginfor iin

45、 1 .10000000 loopinsertinto t_exp(tablespace_ name,block_size,i nitial_exte nt,MIN_EXTENTS)values('tablespace_ name' ,0,0 ,i);en dloop ;commit;end ;1 EXP 工具数据导入本地步骤直接通过以下代码将服务器数据导入到本地:expuser_exp/user_exporcl_65file=d:exp_01.dmplog=d:exp_01.logtables=(t_exp )2 EXPDP 工具数据导入本地步骤第一步:本地建立导出用户 Cr

46、eateuserdb_expidentifiedbydb_exp; Grantconnect,resource,createdatabaselinktodb_exp;第二步:本地创建 directory, 并授权导出用户使用 在操作系统上创建 direxp 目录 createorreplacedirectoryDIR_EXPas'D:direxp' grantread,writeondirectoryDIR_EXPtodb_exp;第三步:,并创建 dblink 链接-Createdatabaselink createdatabaselinkto_exp_65 connectt

47、ouser_expidentifiedbyuser_exp using'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.48.1.65)(PORT=1521) (CONNECT_DATA=(SERVER=DEDICATED)(SID=orcl)'Select1fromdualto_exp_65;第四步:导出代码expdpdb_exp/db_exporcl_67directory=DIR_EXPdumpfile=expdp_01.dmplogfile=expdp_01.logtables=(t_exp)network_link=to_ex

48、p_65其他备注:Db_exp 本地用户,用来连接远端数据库服务器Dir_exp 本地 db_exp 用户下的 directory 用户本地指定 expdp 写入目录,这里是 direxp 文件夹To_exp_65 本地 db_exp 用户下的 dblink ,用来连接远端数据库服务器3 EXP,EXPDP 工具数据导入本地性能对比性能测试结果:Exp 导出过程如下:C:DocumentsandSettingsAdministrator>prompt$P$G$T$GC:DocumentsandSettingsAdministrator>16:10:55.37>C:Docume

49、ntsandSettingsAdministrator>16:11:05.92>expuser_exp/user_exporcl_65file=d:exp_01.dmplog=d:exp_01.logtables=(t_exp)Export:Release10.2.0.1.0-Productionon 星期三 10 月 1216:11:072011Copyright(c)1982,2005,Oracle.Allrightsreserved.连接到 :OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-ProductionWitht

50、hePartitioning,OLAPandDataMiningoptions已导出 ZHS16GBK 字符集和 AL16UTF16NCHAR 字符集服务器使用 AL32UTF8 字符集 (可能的字符集转换 )即将导出指定的表通过常规路径 .正在导出表 T_EXP 导出了 10000007 行成功终止导出 , 没有出现警告。C:DocumentsandSettingsAdministrator>16:17:51.04>用时: 6 分钟 46 秒Expdp 导出过程如下:C:DocumentsandSettingsAdministrator>16:22:15.25>exp

51、dpdb_exp/db_exporcl_67 directory=DIR_EXPdumpfile=expdp_01.dmplogfile=expdp_01.logtables=(t_exp)netw ork_link=to_exp_65Export:Release10.2.0.1.0-Productionon 星期三 ,1210 月 ,201116:22:16 Copyright(c)2003,2005,Oracle.Allrightsreserved.连接到 :OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production WiththePartitioning,OLAPandDataMiningoptions启动 "DB_EXP"."SYS_EXPORT_TABLE_01":db_exp/*orcl_67directory=DIR_EXP dumpfile=expdp_01.dmplogfile=expdp_01.logtables=(t_exp)network_link=to

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论