导入表结构
创建目录
create or replace directory DUMP_DIR as '/oradump';
查询
select * from dba_directories;
expdp
-
普通例子
userid="/as sysdba"
directory=DUMP_DIR
SCHEMAS=USER1,USER2
dumpfile=expdp_%U.dmp
logfile=expdp.log
parallel=8
COMPRESSION=ALL
exclude=statistics,grant -
只导出表结构
userid='/ as sysdba'
dumpfile=exp_coms_metadata_%U.dmp
logfile=exp_coms_metadata.log
directory=DUMP_DIR --可通过 select * from dba_directories 查询directory名称对应的目录
SCHEMAS=USER --指定导出的 schema
PARALLEL=4 --并行,导结构都是默认一个线程处理,这里并行其实不起作用,并行都是用在导数据
COMPRESSION=ALL --压缩
CONTENT=METADATA_ONLY --只导表结构 -
只导出数据
userid='/ as sysdba'
dumpfile=exp_data_%U.dmp
logfile=exp_coms_data.log
directory=DUMP_DIR
SCHEMAS=USER
PARALLEL=8
COMPRESSION=ALL
CONTENT=DATA_ONLY --只导表数据
filesize=4G --限制单个dmp文件大小 -
只导出部分表数据
userid='/ as sysdba'
dumpfile=exp_data_%U.dmp
logfile=exp_data_20230121.log
directory=DUMP_DIR
COMPRESSION=ALL
PARALLEL=8
CONTENT=DATA_ONLY
exclude=statistics,grant
TABLES=(USER.TABLE1,USER.TABLE2)
impdp
-
导入表结构,排除主键、索引
userid="/ as sysdba"
directory=DUMP_DIR
dumpfile=exp_metadata_%U.dmp
logfile=imp_metadata.log
cluster=n --开并行的时候最好加上,详解见百度
table_exists_action=replace --表若存在则REPLACE重建,参数说明:APPEND 追加 、TRUNCATE 清空表数据 、默认参数为SKIP 略过
transform=segment_attributes:n --忽略表空间转换,使用用户默认表空间
exclude=index,constraint --导入大表若不排除排除主键、索引,在导入数据时会特别慢 -
导入表数据
userid="/ as sysdba"
directory=DUMP_DIR
dumpfile=exp_data_%U.dmp
logfile=imp_data.log
cluster=n
parallel=8
table_exists_action=truncate
data_options=skip_constraint_errors --跳过主键冲突错误,若不加table_exists_action=truncate项时最好加此选项 -
将主键索引导出到sql文件
userid="/ as sysdba"
directory=DUMP_DIR
dumpfile=exp_metadata_%U.dmp
logfile=imp_metadata_ddl.log
cluster=n
parallel=4
include=index,constraint
sqlfile=index_ddl.sql --指定生成sql文件名
#sqlfile文件生成后需要修改并行数量:sed -i 's#PARALLEL 1#PARALLEL 16#g' common_index_ddl.sql ;
#若表空间不一致还需要处理一把
#最后在数据库里执行index_ddl.sql文件创建主键、索引
标签:DUMP,--,userid,dmplogfile,导出,导入,exp,oracle,_% From: https://www.cnblogs.com/teiperfly/p/17748195.html