您好,欢迎访问一九零五行业门户网

Oracle Data Pump 导出和导入数据

data pump export/import(hereinafter referred to as export/import for ease of reading)是一种将元数据和数据导出到系统文件集
阅读导航
1导出数据2数据导入data pump export/import(hereinafter referred to as export/import for ease of reading)是一种将元数据和数据导出到系统文件集/从系统文件集导入数据的服务端工具;导出的文件可以移动到其它服务器上,但只能使用impdp导入;使用前要先建立目录(directory)和授权:
conn / as sysdbacreate directory pump_dir as '/u01/backup';创建后即可查询出目录信息,包括目录名称、所有者、目录位置:
sql> column directory_path format a50sql>select * from dba_directories where directory_name='pump_dir';ownerdirectory_namedirectory_path------------------------------ ------------------------------ --------------------------------------------------syspump_dir/u01/backup删除已有的目录
drop directory pump_dir;向某些用户授权使用目录,可以授权read或write权限,或者两个权限同时授予:
directory pump_dir to frdc;撤销权限
revoke read,write on directory pump_dir from frdc;回到顶部
1导出数据1.1基本说明expdp userid='sywu/sywu' job_name=export_tb parallel=3 tables=(tb01,tb02,tb03) dumpfile=pump_dir:dw_20150602.dmp logfile=pump_dir:exptb.log version='11.2.0.1.0' exclude=''userid 表示数据库连接信息,可以是as sysdba权限,非sysdba权限用户可以省略;
job_name 表示导出任务名,未指定默认格式为: sys_export_table _*;
parallel 表示并行数,默认为1;
tables 表示导出的表名,可以指定所有者owner.tab,导出分区表的某个分区owner.tab:part01;
dumpfile 表示导出的dump文件名,格式目录名:dump文件名,注:某些版本可能不兼容报错(ora-39145),可以把目录独立出来用directory参数指定(directory=pump_dir);
version 表示导入目的地数据库版本,在非同一版本数据库之间导出导入数据这个比较重要;
exclude 表示导入排除的对象,database_export_objects表中记录所有的(数据库级别)排除模式,schema_export_objects表中记录schema级别排除对象模式,table_export_objects表中记录table级别排除对象模式;
1.2带条件导出数据有时候只想导出特定的数据,比如id=10或id in(10,20,30),这种情况下可以用条件限定导出数据(注意字符转义)
expdp userid='ops$sywu/sywu' tables=tb01 query=tb01:\where object_id in\(10,20,30\)\ dumpfile=query_tab.dump directory=pump_dir export: release 11.2.0.3.0 - production on tue jun 2 17:09:24 2015copyright (c) 1982, 2011, oracle and/or its affiliates. all rights reserved.connected to: oracle database 11g enterprise edition release 11.2.0.3.0 - 64bit productionwith the partitioning, olap, data mining and real application testing optionsstarting ops$sywu.sys_export_table_01: userid=ops$sywu/******** tables=tb01 query=tb01:where object_id in(10,20,30) dumpfile=query_tab.dump directory=pump_dir estimate in progress using blocks method...processing object type table_export/table/table_datatotal estimation using blocks method: 88 mbprocessing object type table_export/table/tableprocessing object type table_export/table/statistics/table_statistics. . exported ops$sywu.tb0125.70 kb192 rowsmaster table ops$sywu.sys_export_table_01 successfully loaded/unloaded******************************************************************************dump file set for ops$sywu.sys_export_table_01 is: /u01/backup/query_tab.dumpjob ops$sywu.sys_export_table_01 successfully completed at 17:09:32或者通过rownum限定行的方式导出数据(注意字符转义)
expdp userid='ops$sywu/sywu' tables=tb01 query=tb01:\where rownum\/******** tables=tb01 query=tb01:where rownum有些情况下,为了满足测试要求,我们可能需要整库导出或整个schema下的数据导出,但又不需要所有数据,so 同样可以使用限定行数的方式限定所有表数据行导出数据
expdp userid='ops$sywu/sywu' schemas='ops$sywu' query=\where rownum\/******** schemas=ops$sywu query=where rownum
其它类似信息

推荐信息