导出:
帮助:
./dexp HELP
连接方法:
./dexp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp LOG=db_str.log TABLES="\"tabname\"\"\""
FULL导出:
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/dbbak/exp PARALLEL=4
OWNER导出:
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=TEST_USER DIRECTORY=/dbbak/exp PARALLEL=4
SCHEMA导出
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=\"test_schema\" DIRECTORY=/dbbak/exp PARALLEL=4
TABLES导出:
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp PARALLEL=4
表名为小写 tabname, 语句中应该写为"\"tabname\""。
TABLES="\"tabname\""
导出的表,加条件:
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=OTHER.READER QUERY="WHERE AGE=19" PARALLEL=4
导出元数据:
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=TEST_USER DIRECTORY=/dbbak/exp PARALLEL=4 ROWS=N
导出多个文件:
./dexp USERID=SYSDBA/SYSDBA FILE=db_str%U.dmp LOG=db_str_%U.log FULL=Y DIRECTORY=/dbbak/exp FILESIZE=128m PARALLEL=4
EXCLUDE:
EXCLUDE=(<对象种类名>{,<对象种类名>})
EXCLUDE=TABLES:'<表名>'{,'<表名>'}
注意:
例如, 设置 EXCLUDE=(CONSTRAINTS), 将当前用户下的 table1、 table2 的对象信息导出时不导出约束。
./dexp SYSDBA/SYSDBA FILE=/mnt/data/db_str.dmp LOG=db_str.log TABLES=table1,table2 EXCLUDE=/(CONSTRAINTS/)
设置导出或者不导出对象:
CONSTRAINTS=N/Y
TABLESPACE=N/Y
GRANTS=Y/N
INDEXS=N/Y
TRIGGERSS=N/Y
ROWS=N/Y 导出元数据
NOLOG=Y/N y,屏幕不显示日志
INCLUDE :
INCLUDE=(<对象种类名>{,<对象种类名>})
INCLUDE=TABLES:'<表名>'{,'<表名>'}
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1 DIRECTORY=/mnt/data/dexp INCLUDE=/(CONSTRAINTS,INDEXES/)
导出线程:
PARALLEL=4
每张表的线程:
TABLE_PARALLEL=4
缓冲区个数(当 TABLE_POOL 稍大于 TABLE_PARALLEL 时结果为最优)
TABLE_POOL=<num>
FEEDBACK=100
每100行打印一次进度
COMPRESS=Y --压缩参数
导出后删除原表:
DROP=Y
LOCAL
LOCAL 只用于在 MPP 环境下,是否使用 LOCAL 方式登录,缺省为不使用。 可选参数。
语法: LOCAL=Y/N
Y:表示用户在登录时为 LOCAL 本地登录方式, 即只登录指定的节点,操作数据也只是
本节点的数据。
N:表示不使用,为 GLOBOL 全局登录方式,即操作数据是所有节点上相关数据。
./dexp HELP
导入:
帮助:
./dexp HELP
连接方法:
./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp LOG=db_str.log TABLES="\"tabname\"\"\""
全部导入:
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp db_str.dmp LOG=db_str.log
FULL=Y DIRECTORY=/mnt/data/dimp
OWNER导出:
./dimp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=TEST_USER DIRECTORY=/dbbak/exp PARALLEL=4
SCHEMA导出
./dimp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=\"test_schema\" DIRECTORY=/dbbak/exp PARALLEL=4
TABLES导出:
./dimp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp PARALLEL=4
表名为小写 tabname, 语句中应该写为"\"tabname\""。
TABLES="\"tabname\""
导出的表,加条件:
./dimp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=OTHER.READER QUERY="WHERE AGE=19" PARALLEL=4
导入元数据:
./dimp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=TEST_USER DIRECTORY=/dbbak/exp PARALLEL=4 ROWS=N
导入多个文件:
./dimp USERID=SYSDBA/SYSDBA FILE=db_str%U.dmp LOG=db_str_%U.log FULL=Y DIRECTORY=/dbbak/exp FILESIZE=128m PARALLEL=4
TABLE_EXISTS_ACTION(如果表已存在):
PRAIMARY_CONFLICT=
SKIP:跳过此表。
APPEND:直接向现有表中导入数据
TRUNCATE:先删除现有表中的数据,再向表中导入数据
REPLACE:先删除现有表,再导数据
查看dmp文件的内容:
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp SHOW=Y
EXCLUDE:
EXCLUDE=(<对象种类名>{,<对象种类名>})
EXCLUDE=TABLES:'<表名>'{,'<表名>'}
注意:
例如, 设置 EXCLUDE=(CONSTRAINTS), 将当前用户下的 table1、 table2 的对象信息导入时不导出约束。
./dexp SYSDBA/SYSDBA FILE=/mnt/data/db_str.dmp LOG=db_str.log TABLES=table1,table2 EXCLUDE=/(CONSTRAINTS/)
设置导如或者不导入对象:
CONSTRAINTS=N/Y
TABLESPACE=N/Y
GRANTS=Y/N
INDEXS=N/Y
TRIGGERSS=N/Y
ROWS=N/Y 导入元数据
NOLOG=Y/N y,屏幕不显示日志
忽略主键冲突 :
PPIMARY_CONFLICT 用于设置主键冲突的处理方式。可选参数, 默认报错(OVERWRITE)。
PRAIMARY_CONFLICT=[IGNORE|OVERWRITE]
IGNORE: 不处理主键的冲突。
OVERWRITE:报错处理。
是否强制先导入表对象:
TABLE_FIRST 用于控制是否强制先导入表对象。可选参数, 默认(N)。
语法如下:
TABLE_FIRST=[Y|N]
N:正常导入。 顺序为: 1.没有依赖的对象(除了表之外的数据库对象); 2.有依赖的
class; 3.表; 4.依赖对象。
Y:强制先导入表。顺序为: 1.表; 2.没有依赖的对象(除了表之外的数据库对象);
3.有依赖的 class; 4.依赖对象。
FAST_LOAD:
FAST_LOAD 用于设置是否使用 dmfldr 进行数据导入,默认为 N。
FAST_LOAD=Y/N
当 FAST_LOAD=Y 时 才 可 以 设 置 TABLE_PARALLEL 参 数 , 否 则
TABLE_PARALLEL 参数无效。
FLDR_ORDER :
FAST_ORDER 用于设置使用 dmfldr 时, 是否严格按导出顺序来导入数据。 可选参数。
FAST_ORDER=Y/N 默认是Y
COMMIT_ROWS :
COMMIT_ROWS 用于设置批量提交的行数,默认为 5000 行。 用户可以根据实际情况调
整每次提交的行数,以达到性能的最佳点。 一般情况下可不设置。 可选参数。
COMMIT_ROWS=<num>
IGNOR:
IGNORE 指定忽略创建表错误。可选参数。缺省为 N, 不忽略。
IGNORE=Y: 忽略导入时所产生的创建表错误并继续执行。 当缺省或 IDNORE=N 时, 不
忽略导入时所产生的创建表错误,遇到错误即停止执行并报错。
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/dimp
REMAP_SCHEMA (转换模式):
将源模式中的数据导入到目标模式中。如果目标模式不存在,先创建目标模式,再继续
导入。可选参数。
./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp
FULL=Y REMAP_SCHEMA=SYSDBA:PERSON
COMPILE :
如果导出时包含过程/函数, 那么导入时会执行一个编译语句(alter ...compile)。
COMPILE 用于设置是否在导入时,对过程或函数执行编译。
编译相当于执行重建操作,用于检查过程或函数是否还有效。编译成功, 说明对象是有
效的;编译失败,说明对象不存在或发生改变,导致重建操作失败。 编译失败,导入停止。
不编译就不检查有效性,直接导入。
语法如下:
COMPILE=N/Y
Y 或缺省参数:执行。
N:不执行。
例如,导入的过程中含有函数 FUN_01,那么导出过程中会自动执行如下语句:
alter function "SYSDBA"."FUN_01" compile;
如果不想编译,需要设置 COMPILE=N。
INDEXFIRST :
INDEXFIRST 用于设置导入时是否先建索引。 可选参数。
创 建 索 引 的 过 程 是 先 遍 历 数 据 再 创 建 索 引 树 。 数 据 量 比 较 大 时 , 应 该 选 择
INDEXFIRST=Y,先创建索引再导入数据,这样就避免创建索引之前遍历大量数据而耗费时
间;数据量小时,可任意选择。
语法如下:
INDEXFIRST=Y/N 默认是N
导出线程:
PARALLEL=4
每张表的线程:
TABLE_PARALLEL=4
当 FAST_LOAD=Y 时 才 可 以 设 置 TABLE_PARALLEL 参 数 , 否 则
TABLE_PARALLEL 参数无效。
缓冲区个数(当 TABLE_POOL 稍大于 TABLE_PARALLEL 时结果为最优)
TABLE_POOL=<num>
FEEDBACK=100
每100行打印一次进度
COMPRESS=Y --压缩参数
导出后删除原表:
DROP=Y
LOCAL
LOCAL 只用于在 MPP 环境下,是否使用 LOCAL 方式登录,缺省为不使用。 可选参数。
语法: LOCAL=Y/N
Y:表示用户在登录时为 LOCAL 本地登录方式, 即只登录指定的节点,操作数据也只是
本节点的数据。
N:表示不使用,为 GLOBOL 全局登录方式,即操作数据是所有节点上相关数据。
./dexp HELP
社区地址:https://eco.dameng.com