DM8:dexp&dimp-逻辑导出--逻辑导入 注意事项 1 dexp逻辑导出dmp文件 1.1 全库导出命令附加的参数信息 1.2 导出用户所拥有权限的数据库对象-命令附加的参数信息 1.3 导出用户拥有的模式的数据库对象-命令附加的参数信息 2 dimp--逻辑导入dmp文件 2.1 全库导入dmp数据文件-命令附加的参数信息 2.2 按用户导入dmp数据文件-命令附加的参数信息 2.3 按模式导入dmp数据文件-命令附加的参数信息 2.4 模式映射-先清空数据再导入全部表 2.5 模式映射-先清空数据再导入某张表 3 DM8: dexp逻辑导出更多参数介绍 4 DM8: dimp逻辑导入更多参数介绍 5 更多达梦数据库学习使用列表 注意事项 事项 详情 版本要求 目的客户端版本向下兼容,对目的端导入的DMP文件要求:源端导出的客户端版本号要低于导入目的端客户端版本号,例如: 源端版本为DM8.1-2-18-21.11.11,目的端客户端版本要高于或等于DM8.1-2-18-21.11.11的版本,否则报错:无法解析DMP文件,请使用更高的版本工具 实例参数 1 页大小;2 簇大小;3 字符集编码;4 大小写是否敏感;5 VARCHAR类型是否以字符为单位;其中1-3要保持一致,4-5可以配置 IGNORE_INIT_PARA 忽略差异 导出类型 1 全库导出的DMP,目的端需要全库导入,2 按用户权限导出的DMP,目的端所使用用户权限要保持一致,3 按模式名导出的DMP,目的端需要按模式名对应导入 导出导入用户模式不同 在目的端导入时,可以使用命令行配置参数 REMAP_SCHEMA 映射源端模式名与目的端模式名;例如 已经从SYSDBA模式导出的DMP文件,现在要导入DMHR模式,添加参数 REMAP_SCHEMA =SYSDBA:DMHR
1 dexp逻辑导出dmp文件 1.1 全库导出命令附加的参数信息 参数名 参数值 用户名 SYSDBA 密码 SYSDBA IP地址 192.168.100.100 端口号 5277 数据库导出方式 数据库采用FULL方式,全库完全导出(dm8.2 专用机不可用此方法) 导出数据文件名 db5277_230106.dmp 导出的日志文件名 db5277_230106.log 导出文件的路径 /home/dmdba/
命令:
cd /home/dmdba/dmdbms/bin./dexpUSERID = SYSDBA/SYSDBA@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = db5277_230106.logFULL = YCOMPRESS = Y1.2 导出用户所拥有权限的数据库对象-命令附加的参数信息 参数名 参数值 用户名 DM 密码 DM7777777 IP地址 192.168.100.100 端口号 5277 数据库导出方式 数据库采用OWNER方式,导出一个或多个用户所拥有的所有对象 导出数据文件名 db5277_230106.dmp 导出的日志文件名 db5277_230106.log 导出文件的路径 /home/dmdba/
cd /home/dmdba/dmdbms/bin./dexpUSERID = DM/DM7777777@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = db5277_230106.logOWNER = DMCOMPRESS = Y1.3 导出用户拥有的模式的数据库对象-命令附加的参数信息 参数名 参数值 用户名 DM 密码 DM7777777 IP地址 192.168.100.100 端口号 5277 数据库导出方式 数据库采用SCHEMAS方式,模式列表,导出一个或多个模式下的所有对象 导出数据文件名 db5277_230106.dmp 导出的日志文件名 db5277_230106.log 导出文件的路径 /home/dmdba/
命令:
cd /home/dmdba/dmdbms/bin./dexpUSERID = DM/DM7777777@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = db5277_230106.logSCHEMAS = DMCOMPRESS = Y2 dimp–逻辑导入dmp文件 2.1 全库导入dmp数据文件-命令附加的参数信息 参数名 参数值 用户名 SYSDBA 密码 SYSDBA IP地址 192.168.100.100 端口号 5277 数据库导入方式 数据库采用FULL方式全库完全导入(dm8.2 专用机不可用此方法) 导入数据文件名 db5277_230106.dmp 导入的日志文件名 db5277_230106.log 导入文件的路径 /home/dmdba/
cd /home/dmdba/dmdbms/bin./dimpUSERID = SYSDBA/SYSDBA@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = dimpdb5277_23010601.logFULL = Y2.2 按用户导入dmp数据文件-命令附加的参数信息 参数名 参数值 用户名 DM 密码 DM7777777 IP地址 192.168.100.100 端口号 5277 数据库导入方式 采用OWNER导入指定的用户名下的模式 导入数据文件名 db5277_230106.dmp 导入的日志文件名 db5277_230106.log 导入文件的路径 /home/dmdba/
cd /home/dmdba/dmdbms/bin./dimpUSERID = DM/DM7777777@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = dimpdb5277_23010602.logOWNER = DM2.3 按模式导入dmp数据文件-命令附加的参数信息 参数名 参数值 用户名 DM 密码 DM7777777 IP地址 192.168.100.100 端口号 5277 数据库导入方式 采用OWNER导入指定的用户名下的模式 导入数据文件名 db5277_230106.dmp 导入的日志文件名 db5277_230106.log 导入文件的路径 /home/dmdba/
cd /home/dmdba/dmdbms/bin./dimpUSERID = DM/DM7777777@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = dimpdb5277_23010602.logSCHEMAS = DM2.4 模式映射-先清空数据再导入全部表 DMA2 导出的dmp,并导入DM中 进入数据库bin执行目录 cd /home/dmdba/dmdbms/bin./dimpUSERID = DM/DM7777777@192.168.100.100:5277DIRECTORY = /home/dmdbaFILE = db5277_230106.dmpLOG = dimpdb5277_23010602.logREMAP_SCHEMA = DMA2:DMTABLE_EXISTS_ACTION = TRUNCATE2.5 模式映射-先清空数据再导入某张表 cd /home/dmdba/dmdbms/bin./dimpuserid = DM/DM7777777@192.168.100.100:5277 /home/dmdbaFILE = db5277_230106.dmpLOG = dimpdb5277_23010602.logREMAP_SCHEMA = DMA2:DMTABLE_EXISTS_ACTION = TRUNCATETABLES = DMA2.TABLE023 DM8: dexp逻辑导出更多参数介绍
3.1 dexp 参数详解 2.3.2 普通参数 普通参数中介绍了具有一些专门用途的可选参数。 2.3.2.1 FUZZY_MATCH FUZZY_MATCH 用于指定 TABLES 选项是否支持模糊匹配。可选参数,缺省为 N。 语法如下: FUZZY_MATCH=N/Y N:TABLES 选项不支持模糊匹配,指定的表名与数据库中的表名必须精确匹配,缺省值; Y:TABLES选项支持模糊匹配,指定的表名与数据库中的表名采用LIKE模糊查询匹配。 例 导出 OTHER 模式下以"R"开头的表。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=OTHER.R% FUZZY_MATCH=Y2.3.2.2 QUERY QUERY 用于指定过滤条件来对表数据进行导出。可选参数。 语法如下: QUERY="<where_condition>" <where_condition>:过滤条件。更详细了解请参考《DM8_SQL 语言使用手册》的 <WHERE 子句>。 例 导出 OTHER.READER 表中满足"WHERE AGE=19"条件的数据。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=OTHER.READER QUERY="WHERE AGE=19"2.3.2.3 PARALLEL PARALLEL 用于指定导出的过程中所使用的线程数目。可选参数,缺省为单线程。 如果CPU 核心数为 N 的话,那一般来说 PARALLEL 为 N 或者 N+1 最合适。 语法如下: PARALLEL=<num> <num>:线程数。整数类型,取值范围:1~100,缺省为1。 例 设置 PARALLEL=2 时则线程数为 2。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp PARALLEL=22.3.2.4 TABLE_PARALLEL TABLE_PARALLEL 用于指定导出每张表所使用的线程数。可选参数,缺省为单线程。 如果 CPU 核数为 N 的话,那一般来说 TABLE_PARALLEL 为 N 或者 N+1 最合适。 在 MPP 模式下会转换成单线程。 语法如下: TABLE_PARALLEL=<num> <num>:线程数。整数类型,取值范围:1~50,缺省为 1。 例 设置 TABLE_PARALLEL=3 时则线程数为 3。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp TABLE_PARALLEL=32.3.2.5 TABLE_POOL TABLE_POOL 用于设置导出过程中存储表数据的缓冲区个数。可选参数。 语法如下: TABLE_POOL=<num> <num>:存储表数据的缓冲区个数。整数类型,取值范围:1~20,缺省为 1。 TABLE_PARALLEL 固定的情况下,导出时间随着 TABLE_POOL 个数的增 加而减少。当 TABLE_POOL 稍大于 TABLE_PARALLEL 时结果为最优。 例 设置 TABLE_POOL=3 时。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp TABLE_POOL=32.3.2.6 EXCLUDE EXCLUDE 用来批量设置导出时忽略的对象种类。可选参数。 语法如下: EXCLUDE=(<对象种类名>{,<对象种类名>}) 或 EXCLUDE=TABLES:<表名>{,<表名>} 或 EXCLUDE=SCHEMAS:<模式名>{,<模式名>} <对象种类名>:包括 CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS。 如 果 导 出 方 式 为 TABLES 表 级 或 SCHEMAS 模式级 导 出 时 , EXCLUDE=SCHEMAS:<模式名>{,<模式名>}排除模式不起作用。 例 设置 EXCLUDE=(CONSTRAINTS), 将当前用户下的 table1、table2 的对象信息导出时不导出约束。 ./dexp SYSDBA/SYSDBA FILE=/mnt/data/db_str.dmp LOG=db_str.log TABLES=table1,table2 EXCLUDE=/(CONSTRAINTS/)2.3.2.7 INCLUDE INCLUDE 用来批量设置导出时包含的对象种类。可选参数。 语法如下: INCLUDE=(<对象种类名>{,<对象种类名>}) 或 INCLUDE=TABLES:<表名>{,<表名>} <对象种类名>:CONSTRAINTS、INDEXES、ROWS、TRIGGERS 或 GRANTS。 例 设置 INCLUDE=(CONSTRAINTS,INDEXES),指明将当前用户下的 table1 的对 象约束和索引信息导出。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1 DIRECTORY=/mnt/data/dexp INCLUDE=/(CONSTRAINTS,INDEXES/)2.3.2.8 CONSTRAINTS、TABLESPACE、GRANTS、INDEXES、TRIGGERS、ROWS 这些参数用来指定某类对象是否被导出。类别分别为约束、表空间、权限、索引、触发 器和数据。 语法如下: CONSTRAINTS = Y/N TABLESPACE = N/Y GRANTS = Y/N INDEXS = Y/N TRIGGERS = Y/N ROWS = Y/N CONSTRAINTS:设置是否导出约束,可选参数。取值范围:Y/N。Y:导出约束,缺省值;N:不导出约束。 TABLESPACE:设置导出的对象定义中是否包含表空间,可选参数。取值范围:N/Y。N:不包含表空间,缺省值;Y:包含表空间。 GRANTS:设置是否导出权限,可选参数。取值范围:Y/N。Y:导出权限,缺省值;N:不导出权限。 INDEXES:设置是否导出索引,可选参数。取值范围:Y/N。Y:导出索引,缺省值;N:不导出索引。 TRIGGERS:设置是否导出触发器,可选参数。取值范围:Y/N。Y:导出触发器,缺省值;N:不导出触发器。 ROWS:设置是否导出数据,可选参数。取值范围:Y/N。Y:导出数据,缺省值;N:不导出数据。 例 设置 ROWS=N,不导出表中的数据。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp NOLOGFILE=Y FULL=Y DIRECTORY=/mnt/data/dexp ROWS=N 此处,对象(CONSTRAINTS、GRANTS、INDEXES、TRIGGERS、ROWS)分别单独设置, 和 EXCLUDE/INCLUDE 中批量设置功能一样。设置一个即可。 如果单独设置和批量设置同时出现时,那么以最后出现的那个为准。2.3.2.9 NOLOGFILE NOLOGFILE 用于设置是否使用日志文件。可选参数。 语法如下: NOLOGFILE=Y/N Y:不使用。 N:使用,缺省值。 一旦设置 NOLOGFILE=Y 不使用日志文件。此时即使存在 LOG 参数,LOG参数也为无效。 例 设置 NOLOGFILE=Y,不使用日志文件。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp NOLOGFILE=Y FULL=Y DIRECTORY=/mnt/data/dexp2.3.2.10 NOLOG NOLOG 设置屏幕上是否显示日志信息。可选参数。 语法如下: NOLOG=Y/N Y:不显示。 N:显示,缺省值。 例 设置 NOLOG=Y 屏幕不显示日志信息。 ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp NOLOG=Y FULL=Y DIRECTORY=/mnt/data/dexp2.3.2.11 LOG_WRITE LOG_WRITE 用于日志信息实时写入日志文件。可选参数。 语法如下: LOG_WRITE=Y/N Y:一边将日志内容打印到屏幕上,一边将日志内容写入日志文件。 N:日志内容先在屏幕上全部打印完毕再写入日志文件,缺省值。2.3.2.12 DUMMY DUMMY 用于设置交互信息处理。可选参数,缺省使用 P 打印交互信息。 在使用 dexpdp的时候,此参数无需设置,不提供交互信息,全部按 YES 处理。 语法如下: DUMMY=P/Y/N P:提供交互界面,缺省方式。当导出文件已存在的时候,提供是否覆盖交互界面。 Y:不提供交互界面,所有交互都按 YES 处理。 N:不提供交互界面,所有交互都按 NO 处理。2.3.2.13 PARFILE PARFILE 用于将常用的参数设置保存到文件中, 然后使用参数文件 PARFILE 进行导出、导入操作。可选参数。 语法如下: PARFILE=<path> <path>:PARFILE 文件的绝对路径。 例 设置 PARFILE=/mnt/data/dexp/para.txt。 ./dexp USERID=SYSDBA/SYSDBA PARFILE=/mnt/data/dexp/para.txt 其中,参数文件/mnt/data/dexp/para.txt 的内容如下: FILE=db_str.dmp LOG=db_str.log TABLES=table1 DIRECTORY=/mnt/data/dexp2.3.2.14 FEEDBACK FEEDBACK 用来指明在导出数据的过程中每间隔多少行打印一次进度信息。 可选参数。当参数缺省时,默认为 0,只打印导出表的总行数。 语法如下: FEEDBACK=<num> <num>:表间隔的行数。正整数。缺省为 0,只打印导出表的总行数。 例 将整个数据库导出到文件 dexp.dmp 中,并且在导出的过程中每隔 100 行打印一次 进度信息。 ./dexp SYSDBA/SYSDBA FULL=Y FILE=dexp.dmp DIRECTORY=/mnt/data/dexp FEEDBACK=1002.3.2.15 COMPRESS COMPRESS 指定是否压缩导出文件。可选参数。缺省为不压缩。 语法如下: COMPRESS=Y/N Y:压缩。 N:不压缩,缺省值。2.3.2.16 ENCRYPT、ENCRYPT_PASSWORD、ENCRYPT_NAME 这三个参数用来设置导出文件加密。可选参数。 语法如下: ENCRYPT=Y ENCRYPT_PASSWORD=<加密密钥> ENCRYPT_NAME=<加密算法> ENCRYPT=Y:设置导出文件加密。如果设置 ENCRYPT=Y,那么默认 COMPRESS=Y,先压缩后加密。 ENCRYPT_PASSWORD=<加密密钥>:设置加密密钥。 ENCRYPT_NAME=<加密算法>:设置加密算法。缺省为 RC4。 加密算法: DES_ECB 、DES_CBC 、DES_CFB、DES_OFB、DESEDE_ECB、 DESEDE_CBC 、DESEDE_CFB、DESEDE_OFB 、AES128_ECB 、 AES128_CBC 、AES128_CFB 、AES128_OFB 、AES192_ECB 、 AES192_CBC 、AES192_CFB 、AES192_OFB 、AES256_ECB 、 AES256_CBC 、AES256_CFB 、AES256_OFB 、RC4 例 设置导出文件加密,密钥 abcdefg,加密算法为 DES_CBC。 ./dexp SYSDBA/SYSDBA DIRECTORY=/mnt/data/dexp FILE=dk15.dmp LOG=db_str15.log ENCRYPT=Y ENCRYPT_PASSWORD=abcdefg ENCRYPT_NAME=DES_CBC FULL=Y ENCRYPT、ENCRYPT_PASSWORD、ENCRYPT_NAME 经常一起使用。 如果只设置 ENCRYPT_PASSWORD 一个,那么默认 ENCRYPT=Y, ENCRYPT_NAME 缺省值 RC4。2.3.2.17 FILESIZE FILESIZE 用于指定单个导出文件(FILE)大小或日志文件(LOG)大小的上限。可以 按字节[B]、K[B]、M[B]、G[B]的方式指定大小。可选参数。 使用 FILESIZE 参数时,FILE(或 LOG)必须使用%U 对名称进行自动扩展,否则报错。 如果不指定 FILE(或 LOG),那么即使设置了 FILESIZE 也不起作用。FILE 和 LOG 同时使 用%U 时,FILESIZE 参数只需指定一次。 语法如下: FILESIZE=<num> <num>:单个导出文件上限。整数类型,取值范围:128M~系统最大值。 例 以 FULL 方式导出实例,每个导出文件大小为 128m,文件名以 data01.dmp 自动 扩展,存储位置为/mnt/data/dexp 目录。 ./dexp USERID=SYSDBA/SYSDBA DIRECTORY=/mnt/data/dexp FILE=data%u.dmp LOG=data%u.log FILESIZE=128m FULL=Y dexp 执行过程中可能遇到单个文件过大的问题。 解决办法是通过 FILESIZE参数来设置单个导出文件上限, 导出文件名称按照 FILE 参数中描述的使用%u来自动扩展。 这样在按照 FILESIZE 大小导出到第一个文件之后,会自动生成下一个导出文件。2.3.2.18 FILENUM FILENUM 用于指定一个模板导出文件的个数。取值范围为 1~99,缺省为 99。 可选参数。FILENUM 需要和 FILESIZE 搭配使用, FILENUM*FILESIZE 要大于等于导出的文件总大小,否则会报错空间不足。 2.3.2.19 DROP DROP 用于设置导出后是否删除原表。可选参数。 语法如下: DROP=Y/N Y:导出后删除原表,但不级联删除。 N:导出后不删除原表,缺省值。2.3.2.20 DESCRIBE DESCRIBE 用于设置导出数据文件的描述信息,记录在数据文件中。可选参数。 语法如下: DESCRIBE=’字符串’ 字符串:设置导出数据文件的描述信息,记录在数据文件中。 缺省时,导出的数据文件中没有描述信息。 2.3.2.21 COL_DEFAULT_SEPARATE COL_DEFAULT_SEPARATE 用于设置是否单独导出列默认值。可选参数。 语法如下: COL_DEFAULT_SEPARATE=Y/N Y:单独导出列默认值,缺省值。 N:列默认值和表定义一起导出。2.3.2.22 WITH_UR WITH_UR 用于设置导出数据是否允许脏读。可选参数。 语法如下: WITH_UR=N/Y N:导出表数据不允许脏读,缺省值。 Y:导出表数据允许脏读。 2.3.2.23 SIMPLE_LOG SIMPLE_LOG 用于设置导出日志是否只打印简要日志, 简要日志只打印导出对象个数和导出表数据行数。可选参数。 语法如下: SIMPLE_LOG=N/Y N:导出日志不使用简要日志,缺省值。 Y:导出日志使用简要日志。2.3.2.24 HELP 输入 dexp HELP 即可查看帮助信息。 语法如下: HELP 例 使用 HELP 查看帮助信息。 ./dexp HELP HELP 信息会显示 dexp 版本信息以及所有参数的大致信息,供用户快速参考。4 DM8: dimp逻辑导入更多参数介绍
4.1 dimp 参数详解 3.3.2 普通参数 3.3.2.1 PARALLEL PARALLEL 用于指定导入的过程中所使用的线程数目。 可选参数,缺省为单线程。如果CPU 核数为 N 的话, 那一般来说 PARALLEL 为 N 或者 N+1 最合适。 语法如下: PARALLEL=<num> <num>:线程数。整数类型,取值范围:1~100,缺省为1。 例 设置 PARALLELl=2 时,则线程数为 2。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp PARALLEL=23.3.2.2 TABLE_PARALLEL TABLE_PARALLEL 在 FAST_LOAD 为 Y 时有效, 用于指定导入每张表所使用的线程数。 可选参数,缺省为单线程。如果 CPU 核数为 N 的话, 那一般来说 TABLE_PARALLEL 为 N 或者 N+1 最合适。 在 MPP 模式下会转换成单线程。 语法如下: TABLE_PARALLEL=<num> <num>:线程数。整数类型,取值范围 1~16,缺省为 1。 例 设置 TABLE_PARALLEL=3 时则线程数为 3。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp TABLE_PARALLEL=33.3.2.3 IGNORE IGNORE 指定忽略创建数据库对象(表、类、java 类、domain、sequence、comment、 view、synonym、trigger、package、dblink、user、存储过程/函数、role 对象创 建、权限授权语句、索引、约束等)错误。可选参数。缺省为 N,不忽略。 语法如下: IGNORE=Y/N Y:忽略导入时所产生的创建数据库对象错误并继续执行。 N:不忽略导入时所产生的创建数据库对象错误,遇到错误即停止执行并报错,缺省值。3.3.2.4 TABLE_EXISTS_ACTION TABLE_EXISTS_ACTION 用于要导入的表已经存在时的处理方式。默认为直接报错。 语法如下: TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE] SKIP:跳过此表。 APPEND:直接向现有表中导入数据。 TRUNCATE:先删除现有表中的数据,再向表中导入数据。 REPLACE:先删除现有表,再导数据。3.3.2.5 FAST_LOAD FAST_LOAD 用于设置是否使用 dmfldr 进行数据导入,缺省为 N。 语法如下: FAST_LOAD=Y/N Y:是。 N:否,缺省值。 当 FAST_LOAD=Y 时 才 可 以 设 置 TABLE_PARALLEL 参 数 , 否则TABLE_PARALLEL 参数无效。 3.3.2.6 FLDR_ORDER FLDR_ORDER 用于设置使用 dmfldr 时,是否严格按导出顺序来导入数据。可选参数。 语法如下: FLDR_ORDER=Y/N Y:表示按照导出顺序来导入数据,缺省值。 N:表示不按照导出顺序来导入,数据的创建为随机生成。3.3.2.7 COMMIT_ROWS COMMIT_ROWS 用于设置批量提交的行数,缺省为 5000 行。用户可以根据实际情况调 整每次提交的行数,以达到性能的最佳点。一般情况下可不设置。可选参数。 语法如下: COMMIT_ROWS=<num> <num>:行数。取值范围:1~1000000,缺省为 5000。 3.3.2.8 EXCLUDE EXCLUDE 用来批量设置导入时忽略的对象种类。可选参数。 语法如下: EXCLUDE=(<对象种类名>{,<对象种类名>}) <对象种类名>:包括 CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS。 例 设置 EXCLUDE=(CONSTRAINTS),将当前用户下的 table1、table2 的对象信息导入时不导入约束。 ./dimp SYSDBA/SYSDBA FILE=/mnt/data/db_str.dmp LOG=db_str.log TABLES=table1,table2 EXCLUDE=/(CONSTRAINTS/)DIRECTORY=/mnt/data/dimp3.3.2.9 GRANTS、CONSTRAINTS、INDEXES、TRIGGERS、ROWS 这些参数用来指定某类对象是否被导入。类别分别为约束、权限、索引、触发器和数据。 语法如下: GRANTS=Y/N CONSTRAINTS=Y/N INDEXS=Y/N TRIGGERS=Y/N ROWS=Y/N GRANTS:设置是否导入权限,可选参数。取值范围:Y/N。Y:导入权限,缺省值;N:不导入权限。 CONSTRAINTS:设置是否导入约束,可选参数。取值范围:Y/N。Y:导入约束,缺省值;N:不导入约束。 INDEXES:设置是否导入索引,可选参数。取值范围:Y/N。Y:导入索引,缺省值;N:不导入索引。 TRIGGERS:设置是否导入触发器,可选参数。取值范围:Y/N。Y:导入触发器,缺省值;N:不导入触发器。 ROWS:设置是否导入数据,可选参数。取值范围:Y/N。Y:导入数据,缺省值;N:不导入数据。 例 设置 ROWS=N 不导入表中的数据。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp NOLOGFILE=Y FULL=Y DIRECTORY=/mnt/data/dimp ROWS=N3.3.2.10 NOLOGFILE NOLOGFILE 用于设置是否使用日志文件。可选参数。 语法如下: NOLOGFILE=Y/N Y:不使用日志文件。此时即使存在 LOG 参数,LOG 参数也为无效。 N:使用日志文件,缺省值。 例 设置 NOLOGFILE=Y,不使用日志文件。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp NOLOGFILE=Y FULL=Y3.3.2.11 NOLOG NOLOG 设置屏幕上是否显示日志信息。可选参数。缺省为 N,显示日志信息。 语法如下: NOLOG=Y/N Y:不显示。 N:显示,缺省值。 例 设置 NOLOG=Y 屏幕不显示日志信息。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log NOLOG=Y FULL=Y DIRECTORY=/mnt/data/dimp3.3.2.12 LOG_WRITE LOG_WRITE 用于日志信息实时写入日志文件。可选参数。 语法如下: LOG_WRITE=Y/N Y:一边将日志内容打印到屏幕上,一边将日志内容写入日志文件。 N:日志内容先在屏幕上全部打印完毕再写入日志文件,缺省值。3.3.2.13 DUMMY DUMMY 用于设置交互信息处理。可选参数,缺省使用 P 打印交互信息。 语法如下: DUMMY=P/Y/N P:打印交互信息,默认方式。 Y:不打印交互信息,所有交互都按 YES 处理。 N:不打印交互信息,所有交互都按 NO 处理。3.3.2.14 PARFILE PARFILE 用于将常用的参数设置保存到文件中, 然后使用参数文件 PARFILE 进行导出、导入操作。可选参数。 语法如下: PARFILE=<path> <path>:PARFILE 文件的绝对路径。 例 在 dimp 中使用 PARFILE,设置路径 PARFILE=/mnt/data/dimp/para.txt。 ./dimp USERID=SYSDBA/SYSDBA PARFILE=/mnt/data/dimp/para.txt 其中,参数文件/mnt/data/dimp/para.txt 的内容如下: FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1 DIRECTORY=/mnt/data/dimp3.3.2.15 FEEDBACK FEEDBACK 用来指明在导入数据的过程中每间隔多少行打印一次进度信息。可选参数。 当参数缺省时,默认值为 0,只打印导入表的总行数。 语法如下: FEEDBACK=<num> <num>:表间隔的行数。正整数。缺省为 0,只打印导入表的总行数。 例 将文件 dexp.dmp 中的对象和数据导入到数据库时, 要求在导出的过程中每隔 100行打印一次进度信息。 ./dimp SYSDBA/SYSDBA FULL=Y FILE=/mnt/data/dexp/dexp.dmp LOG=db_str.log DIRECTORY=/mnt/data/dimp FEEDBACK=1003.3.2.16 COMPILE 如果导入时包含过程/函数、视图、物化视图、触发器、类和包, 那么导入时会执行一个编译语句(alter ...compile)。 COMPILE 用于设置是否在导入时对过程或函数执行编译。 编译相当于执行重建操作,用于检查过程或函数是否还有效。 编译成功,说明对象是有效的;编译失败,说明对象不存在或发生改变,导致重建操作失败。 编译失败,导入停止。不编译就不检查有效性,直接导入。 语法如下: COMPILE=N/Y Y:执行,缺省值。 N:不执行。 例 导入的过程中含有函数 FUN_01,那么导入时会自动执行如下语句: alter function "SYSDBA"."FUN_01" compile; 如果不想编译,需要设置 COMPILE=N。3.3.2.17 INDEXFILE 用于将表的索引/约束创建信息写入指定的文件。 语法如下: INDEXFILE=<文件> 例 设置 INDEXFILE=/mnt/data/dimp/dimp.log。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y INDEXFILE=/mnt/data/dimp/dimp.log3.3.2.18 INDEXFIRST INDEXFIRST 用于设置导入时是否先建索引。可选参数。 创 建 索 引 的 过 程 是 先 遍 历 数 据 再 创 建 索 引 树 。 数 据 量 比 较 大 时 , 应 该 选 择 INDEXFIRST=Y,先创建索引再导入数据,这样就避免创建索引之前遍历大量数据而耗费时 间;数据量小时,可任意选择。 语法如下: INDEXFIRST=Y/N Y:是。 N:否,缺省值。3.3.2.19 REMAP_SCHEMA 将源模式中的数据导入到目标模式中。可选参数。 语法如下: <SOURCE_SCHEMA>:<TARGET_SCHEMA> <SOURCE_SCHEMA>:源模式。如果指定的源模式不存在,则导入到对象原来所在的模式。 <TARGET_SCHEMA>:目标模式。如果目标模式不存在,先创建目标模式,再继续导入。 例 将 SYSDBA 模式中的数据导入到 PRERSON 模式中。 ./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp FULL=Y REMAP_SCHEMA=SYSDBA:PERSON3.3.2.20 ENCRYPT_PASSWORD、ENCRYPT_NAME 如果数据文件是通过加密后得到的,在数据文件导入到数据库时, 需要提供加密密钥和加密算法。同时,在 1 个小时内密码只有 10 次错误机会。 语法如下: ENCRYPT_PASSWORD=<加密密钥> ENCRYPT_NAME=<加密算法> <加密密钥>:与导出文件的加密密钥相同。 <加密算法>:与导出文件的加密算法相同。导出加密算法缺省的情况下,此处加密密码可不写。 例 将 2.3.3.15 中导出的数据再导入进来。 ./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/dk15.dmp LOG=db_str19.log FULL=Y DIRECTORY=/mnt/data/dimp ENCRYPT_PASSWORD=abcdefg ENCRYPT_NAME=DES_CBC3.3.2.21 SHOW/DESCRIBE SHOW/DESCRIBE 用于设置是否打印 dexp 导出的数据文件的内容列表。可选参数。 语法如下: SHOW=Y/N 或 DESCRIBE=Y/N Y:是。 N:否,缺省值。 例 想查看/mnt/data/dexp/中 db_str.dmp 文件的内容列表。 ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp SHOW=Y 打印结果如下: --------------------------------导出文件列表信息-------------------------------- 共包含 1 个文件,文件如下: ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp SHOW=Y ---------------------------------------------------------------------------- - 导出文件为 FULL 方式导出,共包含以下 7 个模式 模式 PERSON 含有 4 个表,分别为: ADDRESS ADDRESS_TYPE PERSON PERSON_TYPE 模式 PRODUCTION 含有 7 个表,分别为: PRODUCT_CATEGORY PRODUCT_SUBCATEGORY PRODUCT LOCATION PRODUCT_INVENTORY PRODUCT_REVIEW PRODUCT_VENDOR 模式 PURCHASING 含有 5 个表,分别为: VENDOR VENDOR_ADDRESS VENDOR_PERSON PURCHASEORDER_HEADER PURCHASEORDER_DETAIL 模式 RESOURCES 含有 4 个表,分别为: DEPARTMENT EMPLOYEE EMPLOYEE_ADDRESS EMPLOYEE_DEPARTMENT 模式 SALES 含有 5 个表,分别为: CUSTOMER CUSTOMER_ADDRESS SALESPERSON SALESORDER_HEADER SALESORDER_DETAIL 模式 SYSDBA 含有 1 个表,分别为: TAB1 模式 OTHER 含有 10 个表,分别为: DEPARTMENT EMPSALARY ACCOUNT ACTIONS READER READERAUDIT DEPTTAB EMPTAB SALGRADE COMPANYHOLIDAYS3.3.2.22 TASK_THREAD_NUMBER TASK_THEAD_NUMBER 用于设置 dmfldr 处理用户数据的线程数目。 可选参数,缺省值为 CPU 个数。但当 CPU 个数大于 8 时, 默认值都被置为 8。 语法如下: TASK_THEAD_NUMBER=<num> <num>:线程数。取值范围:1~128,缺省为CPU个数(8及8以内)。3.3.2.23 BUFFER_NODE_SIZE BUFFER_NODE_SIZE 用于设置 dmfldr 指定读取文件缓冲区页大小。可选参数,缺省为 10。 值越大,缓冲区的页数越多,每次可以读取的数据就越多,每次发送到服务器的数据也 就越多,效率越高。但其大小受dmfldr客户端内存大小限制。 语法如下: BUFFER_NODE_SIZE=<size_num> <size_num>:缓冲区页数。整数类型,取值范围:1~2048,缺省为 10。单位为 M。3.3.2.24 TASK_SEND_NODE_NUMBER TASK_SEND_NODE_NUMBER 用于设置 dmfldr 发送节点个数。可选参数。 语法如下: TASK_SEND_NODE_NUMBER=<num> <num>:节点个数。整数类型,取值范围:16~65535。在系统内存够的情况下可以适 当的设大数值以提升效率。缺省情况下,由程序自动计算。 3.3.2.25 LOB_NOT_FAST_LOAD LOB_NOT_FAST_LOAD 用于设置当表中含有大字段时不使用 dmfldr, 而使用普通的INSERT 进行插入,根据 COMMIT_ROWS 参数决定提交的行数。 因为当表中有大字段的时候,dmfldr 是一行一行提交表数据。 语法如下: LOB_NOT_FAST_LOAD=Y3.3.2.26 PRIMARY_CONFLICT PPIMARY_CONFLICT 用于设置主键冲突的处理方式。可选参数,不设置此参数时主键 冲突报错,设置时不报错,可指定对主键冲突的数据进行不同的处理。 语法如下: PRIMARY_CONFLICT=[IGNORE|OVERWRITE|OVERWRITE2] IGNORE:不覆盖主键冲突行数据。 OVERWRITE:覆盖主键冲突行数据,删除原表有冲突的行。 OVERWRITE2:覆盖主键冲突行数据,更新原表有冲突的行。 3.3.2.27 TABLE_FIRST TABLE_FIRST 用于控制是否强制先导入表对象。可选参数,缺省为 N。 语法如下: TABLE_FIRST=Y/N N:正常导入,缺省值。顺序为: 1.没有依赖的对象(除了表之外的数据库对象); 2.有依赖的 class; 3.表; 4.依赖对象。 Y:强制先导入表。顺序为: 1.表; 2.没有依赖的对象(除了表之外的数据库对象); 3.有依赖的 class; 4.依赖对象。3.3.2.28 SHOW_SERVER_INFO SHOW_SERVER_INFO 用于控制是否显示服务器信息。可选参数,缺省为 N。 语法如下: SHOW_SERVER_INFO=Y/N N:不显示导出文件对应服务器信息,正常导入,缺省值。 Y:显示导出文件对应服务器信息,实际不导入。 3.3.2.29 IGNORE_INIT_PARA IGNORE_INIT_PARA 用于指定源库和目标库之间忽略差异的建库参数。 取值范围:0、1、2 和 3。缺省为 0。 0:不忽略; 1:忽略 CASE_SENSITIVE 参数差异; 2:忽略 LENGTH_IN_CHAR 参数差异; 3:忽略 CASE_SENSITIVE、LENGTH_IN_CHAR 参数差异,可选参数。 语法如下: IGNORE_INIT_PARA=<num> <num>:需要忽略的建库参数代号。取值范围:0、1、2 和 3,缺省为 0。3.3.2.30 AUTO_FREE_KEY 如果数据文件是通过工作模式为 WORK_MODE_KID 的加密算法加密后得到的, 则可通过AUTO_FREE_KEY 指定在数据导入完成后是否释放加密文件使用的密钥, 密钥释放后该数据文件将无法使用。 语法如下: AUTO_FREE_KEY=Y/N Y:是。 N:否,缺省值。 3.3.2.31 REMAP_TABLE 将源表中的数据导入到目的表中。可选参数。 语法如下: [<SOURCE_SCHEMA>].<SOURCE_TABLE>:<TARGET_TABLE> <SOURCE_SCHEMA>:源表的模式。如果缺省则代表所有模式下的<SOURCE_TABLE> 都是源表。目的表存在则报错。 <SOURCE_TABLE>:源表。 <TARGET_TABLE>:目的表。 例 将源表 T1 中的数据导入到目的表 T2 中。 ./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp FULL=Y REMAP_TABLE=T1:T23.3.2.32 REMAP_TABLESPACE 将源表空间中的数据导入到目的表空间中。使用该参数的前提是导出文件中包含源表表 空间。可选参数。 语法如下: <SOURCE_TABLESPACE>:<TARGET_TABLESPACE> <SOURCE_TABLESPACE>:源表空间。<TARGET_TABLESPACE>:目的表空间。 例 将 MAIN 表空间中的数据导入到 TS 表空间。 ./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp FULL=Y REMAP_TABLESPACE=MAIN:TS3.3.2.33 SIMPLE_LOG SIMPLE_LOG 用于设置导入日志是否只打印简要日志,简要日志只打印导入对象个数和导 入表数据行数。可选参数。 语法如下: SIMPLE_LOG=N/Y N:导入日志不使用简要日志,缺省值。 Y:导入日志使用简要日志。5 更多达梦数据库学习使用列表