数据泵导入
oracle通过数据泵进行导入导出(impdp/expdp),区别于普通的导入导出(imp/exp),导出的文件不通用,数据泵导出的只能数据泵进行导入。数据泵导出速度要比普通的exp导出要快,但需要在数据库服务器上才能导出,不能远程导出。
创建表空间
--设置导入路径:chenhu_dir
--Oracle数据文件
select * from dba_data_files; --F:\APP\CHENHU\ORADATA\ORCL\USERS01.DBF
--创建表空间
create tablespace gssjlc_tbs datafile 'F:\APP\CHENHU\ORADATA\ORCL\gssjlc_tbs.DBF'
size 50M autoextend on next 50M maxsize unlimited ;
创建数据库用户
Create user gssjlc identified by "gssjlc" default tablespace gssjlc_tbs;
给用户付权限
--给用户付权限
grant dba to gssjlc;
设置数据泵导入路径
--设置导入路径
SELECT * FROM dba_directories;--查看
CREATE directory chenhu_dir AS 'F:\gotop\oracle_exp_data';
--删除导入路径
drop directory chenhu_dir;
给用户导入路径权限
grant READ, WRITE ON directory gssjlc_tbs TO gssjlc
数据泵导出数据文件
expdp 帐号/密码 directory=路径 tables=导出的表名(可选) dumpfile=导出文件名(abc.dmp) logfile=日志文件 compression=NONE content=ALL reuse_dumpfiles=y
expdp gssjlc/gssjlc directory = chenhu_dir dumpfile = gssjlc20230531.dmp
数据泵导入数据文件
--导入语句(前面的是文件的后面的是导入)
--用户:gssjlc
--表空间:gssjlc_tbs
--导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp
--导入用户 impdp user2/pass2 directory=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 EXCLUDE=USER
impdp gssjlc/gssjlc directory=chenhu_dir dumpfile=GSSJLCQ20200903.DMP remap_schema=gssjlc:gssjlc remap_tablespace=gssjlc:gssjlc_tbs table_exists_action=replace
数据泵导出指定表
impdp 帐号/密码 directory=路径 dumpfile=文件 tables=表(可选,逗号分隔)
--导出指定表
expdp gssjlc/gssjlc directory=chenhu_dir dumpfile=wfprocessdefine_bak20230509.dmp tables=wfprocessdefine_bak20230509
数据泵导入指定表
impdp gssjlc/gssjlc directory=chenhu_dir dumpfile=wfprocessdefine_bak20230509.dmp remap_schema=gssjlc:gssjlc remap_tablespace=gssjlc_tbs:gssjlc_tbs table_exists_action=replace