数据泵导入(出)
常用方法
首先要把.dmp表文件放到C:\oraclexe\app\oracle\admin\XE\dpdump目录下(oracle安装路径),然后在cmd里边输入命令:
方式 | 语句 |
---|---|
导入 | impdp CPIP/cpip@sxlg directory=DATA_PUMP_DIR dumpfile=CPIP_20161103.DMP |
导出 | expdpCPIP/cpip@sxlg directory=DATA_PUMP_DIR dumpfile=CPIP_20161103.DMP |
注解 | CPIP为数据库用户名,cpip为密码,sxlg为实例名,directory默认是这个不变,dumpfile是dmp文件名 |
其他方法
方法 | 语句 |
---|---|
本机数据泵导出 | expdp system/manager@SCEHRP DIRECTORY=DATA_PUMP_DIR DUMPFILE=SCEHRP.DMP logfile=SCEHRP.log FULL=y; |
远程导出 | expdp system/manager@172.10.10.58/nypt DIRECTORY=DATA_PUMP_DIR DUMPFILE=nypt.dmp logfile=nypt.log full=y |
远程导出某一个用户或者多用户 | (DIRECTORY目录,DUMPFILE文件名,SCHEMAS用户(多用户用逗号隔开)) expdp system/manager@172.10.10.58/nypt schemas=(COMMUNITY,CRM,DRUG,EMR,FLAT) DIRECTORY=DATA_PUMP_DIR DUMPFILE=hsp.dmp logfile=hsp.log; |
本机导出某一个用户或者多用户 | (DIRECTORY目录,DUMPFILE文件名,SCHEMAS用户(多用户用逗号隔开)) expdp system/manager@nypt schemas=(COMMUNITY,CRM,DRUG,EMR,FLAT) DIRECTORY=DATA_PUMP_DIR DUMPFILE=hsp.dmp logfile=hsp.log; |
本机导出某一个表: | table_exists_action参数说明:使用impdp完成数据库导入时,若表已经存在,有四种的处理方式:1)skip:默认操作 2)replace:先drop表,然后创建表,最后插入数 3)append:在原来数据的基础上增加数据 4)truncate:先truncate,然后再插入数据expdp system/manager@nyptp table_exists_action=append tables=SECURITY.SECURITY_CONFIG_PUBLIC DIRECTORY=DATA_PUMP_DIR DUMPFILE=abc.dmp logfile=abc.log |
远程导出某一个表 | table_exists_action参数说明:使用impdp完成数据库导入时,若表已经存在,有四种的处理方式:1)skip:默认操作 2)replace:先drop表,然后创建表,最后插入数据3)append:在原来数据的基础上增加数据 4)truncate:先truncate,然后再插入数据expdp system/manager@172.10.10.58/nyptp table_exists_action=append tables=SECURITY.SECURITY_CONFIG_PUBLIC DIRECTORY=DATA_PUMP_DIR DUMPFILE=abc.dmp logfile=abc.log |
导出存放路径为oracle安装目录下 | D:\app\Administrator\admin\nypt\dpdump expdp system/manager@SCEHRP DIRECTORY=DATA_PUMP_DIR DUMPFILE=SCEHRP.dmp FULL=y |
报错:对象类已存在 | 在导出和导入数据时,经常需要向已经包含有对象(表,索引等)的方案中导入,。在这种情况下,应该导入数据并使数据泵不再创建已经存在的对象。使用TABLE_EXISTS_ACTION 和 CONTENT参数impdp “sys/oracle as sysdba” DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLE_EXISTS_ACTION=append |