当前位置:网站首页>ORACLE进阶(一) 通过EXPDP IMPDP命令实现导dmp
ORACLE进阶(一) 通过EXPDP IMPDP命令实现导dmp
2022-07-03 10:24:00 【InfoQ】
一、前言
dmp
dmp
oracle
二、准备工具
- FileZilla
- SecureCRT
FileZilla
dmp
SecureCRT
三、Expdp文件导出
dmp
DIRECTORY
指定转储文件和日志文件所在的目录。
DIRECTORY=directory_object
Directory_object
CREATE DIRECTORY
OS
Expdp scott/tiger DIRECTORY= DMP DUMPFILE=a.dump
create or replace directory dmp as 'd:/dmp'
expdp zftang/zftang(@zftang) directory=dmp dumpfile=test.dmp content=metadata_only
CONTENT
该选项用于指定要导出的内容。默认值为ALL
。
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
CONTENT
ALL
DATA_ONLY
METADATA_ONLY
expdp zftang/[email protected] directory=dmp dumpfile=test.dmp content=metadata_only
expdp zftang/[email protected] directory=dmp dumpfile=test.dmp content=data_only
DUMPFILE
用于指定转储文件的名称,默认名称为expdat.dmp
。
DUMPFILE=[directory_object:]file_name [,….]
Directory_object
file_name
directory_object
DIRECTORY
expdp zftang/[email protected] directory=dmp dumpfile=test1.dmp
DIRECTORY
create directory dir_dp as 'D:/oracle/dir_dp';
Grant read,write on directory dir_dp to zftang;
SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;
expdp zftang/[email protected] schemas=zftang directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;
Oracle Database 10g Enterprise Edition Release 10.2.0.1
四、备注
directory=dir_dp
ORA-39002
: 操作无效
ORA-39070
: 无法打开日志文件。
ORA-39087
: 目录名DATA_PUMP_DIR
; 无效2、在导出过程中,DATA DUMP
创建并使用了一个名为SYS_EXPORT_TABLE_01
的对象,此对象就是DATA DUMP
导出过程中所用的JOB
名字,如果在执行这个命令时如果没有指定导出的JOB
名字那么就会产生一个默认的JOB
名字,如果在导出过程中指定JOB
名字就为以指定名字出现。
expdp zftang/[email protected] schemas=zftang directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;
job
expdp zftang/zftang attach=zftang.my_job1
五、数据泵导出的各种模式
5.1 按表模式导出:
expdp zftang/[email protected] tables=zftang.b$i_exch_info,zftang.b$i_manhole_info dumpfile
=expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp
job_name=my_job
5.2 按查询条件导出
expdp zftang/[email protected] tables=zftang.b$i_exch_info dumpfile =expdp_test3.dmp logfile=expdp_test3.log directory=dir_dp job_name=my_job query='"where rownum<11"'
5.3 按表空间导出
Expdp zftang/[email protected] dumpfile=expdp_tablespace.dmp tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job
5.4 导出方案
Expdp zftang/zftang DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=zftang,gwm
5.5 导出整个数据库
expdp zftang/[email protected] dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job
六、Impdp文件导入
6.1 按表导入
impdp gwm/[email protected] dumpfile =p_street_area.dmp
logfile=imp_p_street_area.log directory=dir_dp tables=p_street_area
job_name=my_job
6.2 按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
impdp gwm/[email protected] schemas=gwm dumpfile =expdp_test.dmp logfile=expdp_test.log directory=dir_dp job_name=my_job
6.3 不通过expdp的步骤生成dmp文件而直接导入的方法
--从源数据库中向目标数据库导入表p_street_area
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_area.log job_name=my_job
igisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录
6.4 更换表空间
remap_tablespace
--导出gwm用户下的所有数据
expdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp SCHEMAS=gwm
sys
impdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp remap_tablespace=gmapdata:gcom
七、EXP、IMP与EXPDP、IMPDP的区别
EXP
和IMP
是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
EXPDP
和IMPDP
是服务端的工具程序,他们只能在ORACLE
服务端使用,不能在客户端使用。
IMP
只适用于EXP
导出的文件,不适用于EXPDP
导出文件;IMPDP
只适用于EXPDP
导出的文件,而不适用于EXP
导出文件。
expdp
或impdp
命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
八、导出导入可能遇到的坎
8.1中文字符集转换
- KUP-11007:
conversion error loading table "TEST"."T_PSR" ORA-12899:
列REASON_CODE 的值太大 (实际值: 21, 最大值: 20)
- KUP-11009:
data for row: REASON_CODE : 0X'BABDBFD5C6F7C8DDC1BFCFDED6C6'
8.2 主外键关联
- ORA-31693:
Table data object "TEST"."T_ITE" failed to load/unload and is being skipped due to error:
- ORA-29913:
error in executing ODCIEXTTABLEFETCH callout
- ORA-02291:
integrity constraint (TEST.FK_ITE_REF_PSR) violated parent key not found
- 导入前,执行如下SQL找到需要禁止的外键关联
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||';'from user_constraints WHERE
CONSTRAINT_TYPE='R';
- 执行(a)的结果SQL。
- 导入后,执行如下SQL找到需要恢复的外键关联
select 'ALTER TABLE '||TABLE_NAME||' ENABLE NOVALIDATE CONSTRAINT '||constraint_name||';' from user_constraints WHERE
CONSTRAINT_TYPE='R';
NOVALIDATE
九、总结
- 使用10g以上版本提供的expdp/impdp数据泵导入导出工具,较以往的exp/imp工具,无论是在参数的可选择性上,还是速度和压缩比上,都有了不小的改进,提供更为方便快速的数据导入导出方法给我们。
- 导入导出可能碰到最多的问题,字符集转换算是其中之一,要明确导入导出数据对字符集的依赖程度,才能确保数据导入导出的正确。
- 对于有主外键关联的数据,如果选择data_only仅导出数据,那么可在导入前禁止约束,这样导入过程不会受到主外键关联的影响,导入后可以恢复约束,保证约束的正确。
十、删除外键约束
ALTER TABLE test_sub DROP CONSTRAINT main_id_cons;
constraint_type='R'
alter table table_name enable constraint constraint_name
alter table table_name disable constraint constraint_name
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
边栏推荐
猜你喜欢
MATLAB extrait les données numériques d'un fichier txt irrégulier (simple et pratique)
数据库增量备份 - DB INCR DB FULL
Event preview | the live broadcast industry "rolled in" to drive new data growth points with product power
Gut | Yu Jun group of the Chinese University of Hong Kong revealed that smoking changes intestinal flora and promotes colorectal cancer (do not smoke)
Hal - General
AMS Series 1 - AMS startup process
Google Earth Engine(GEE)——GHSL 全球人口网格数据集250米分辨率
Gut | 香港中文大学于君组揭示吸烟改变肠道菌群并促进结直肠癌(不要吸烟)
Résumé des questions d'entrevue (2) Modèle io, ensemble, principe NiO, pénétration du cache, avalanche de rupture
(2) Base
随机推荐
The element form shows the relationship between elementary transformation and elementary matrix
ASP.NET-酒店管理系统
C language log base zlog basic use
Empire CMS no thumbnail smart tag (e:loop) two ways to judge whether there is a titlepic
Expandablelistview that can expand and shrink (imitating the list page of professional selection of Zhilian recruitment)
[VTK] vtkPolydataToImageStencil 源码解读
线性表的双链表
帝国cms 无缩略图 灵动标签(e:loop)判断有无标题图片(titlepic)的两种写法
How did I grow up in the past eight years as a test engineer of meituan? I hope technicians can gain something after reading it
PHP server interacts with redis with a large number of close_ Wait analysis
活动预告 | 直播行业“内卷”,以产品力拉动新的数据增长点
Hal - General
[vtk] source code interpretation of vtkpolydatatoimagestencil
Balance between picture performance of unity mobile game performance optimization spectrum and GPU pressure
Ext file system mechanism principle
[OBS] configFile in ini format of OBS
VPP three-layer network interconnection configuration
FL Studio 20无限试用版水果编曲下载
Asyncio warning deprecationwarning: there is no current event loop
英特尔13代酷睿旗舰曝光,单核5.5GHz