暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库使用dexp导出表指定相关选项

原创 LeeWen2020 2022-03-23
1579

dexp导出表时,还可以执行其他的一些相关选项。

1、常规用法

[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5237 DIRECTORY=/home/dmdba file=dexp_tab2.dmp log=dexp_tab2.log tables=XMLTEST.t1,xmltest.\"t\",XMLTEST.SYSCONFIG

2、导出表时指定其他选项使用

2.1 TABLES选项支持模糊匹配

FUZZY_MATCH:用于指定 TABLES 选项是否支持模糊匹配,取值Y/N。

FUZZY_MATCH=N:表示TABLES 选项不支持模糊匹配,指定的表名与数据库中的表名必须精确匹配;

FUZZY_MATCH=Y:TABLES选项支持模糊匹配,指定的表名与数据库中的表名采用LIKE模糊查询匹配;

示例

1、导出XMLTEST模式中,表名包含YG的所有表

[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5237 DIRECTORY=/home/dmdba file=dexp_tab_fz.dmp log=dexp_tab_fz.log tables=XMLTEST.%YG% fuzzy_match=Y

dexp V8


----- [2022-03-23 20:59:32]导出表:BDC_YGDJ_BU -----


导出模式下的对象权限...


表BDC_YGDJ_BU导出结束,共导出 24 行数据



----- [2022-03-23 20:59:33]导出表:BDC_YGDJ_KZ_BU -----


导出模式下的对象权限...


表BDC_YGDJ_KZ_BU导出结束,共导出 0 行数据


整个导出过程共花费    0.352 s



成功终止导出, 没有出现警告

2、导出XMLTEST模式中,表名以T字母开头的所有表

[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5237 DIRECTORY=/home/dmdba file=dexp_tab_fz1.dmp log=dexp_tab_fz1.log tables=XMLTEST.T% fuzzy_match=Y

dexp V8


----- [2022-03-23 21:03:01]导出表:T1 -----


导出模式下的对象权限...


表T1导出结束,共导出 7 行数据



----- [2022-03-23 21:03:01]导出表:Tab_A -----


导出模式下的对象权限...


表Tab_A导出结束,共导出 0 行数据


整个导出过程共花费    0.189 s



成功终止导出, 没有出现警告

3、导出XMLTEST模式中,表名最后两个字母为BU的所有表

[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5237 DIRECTORY=/home/dmdba file=dexp_tab_fz2.dmp log=dexp_tab_fz2.log tables=XMLTEST.%BU fuzzy_match=Y

dexp V8


----- [2022-03-23 21:04:15]导出表:BDC_H_BU -----


导出模式下的对象权限...


表BDC_H_BU导出结束,共导出 1 行数据



----- [2022-03-23 21:04:15]导出表:BDC_SZ_BU -----


导出模式下的对象权限...


表BDC_SZ_BU导出结束,共导出 0 行数据



----- [2022-03-23 21:04:15]导出表:BDC_YGDJ_BU -----


导出模式下的对象权限...


表BDC_YGDJ_BU导出结束,共导出 24 行数据



----- [2022-03-23 21:04:15]导出表:BDC_YGDJ_KZ_BU -----


导出模式下的对象权限...


表BDC_YGDJ_KZ_BU导出结束,共导出 0 行数据


整个导出过程共花费    0.379 s



成功终止导出, 没有出现警告

2.2 导出表数据时,只导出符合条件的数据

QUERY选项:用于指定过滤条件来对表数据进行导出。

QUERY="<where_condition>" ,QUERY选项的值为where条件(SQL语句中的where条件),比如 QUERY=“WHERE DEPT=20”

示例

[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA@LOCALHOST:5236 DIRECTORY=/home/dmdba file=dexp_tab_q1.dmp log=dexp_tab_q1.log tables=SCOTT.EMP,SCOTT.T1,SCOTT.T2 query="where deptno=10"

dexp V8


----- [2022-03-23 21:10:53]导出表:EMP -----


导出模式下的对象权限...


表EMP导出结束,共导出 3 行数据



----- [2022-03-23 21:10:53]导出表:T1 -----


导出模式下的对象权限...


表T1导出结束,共导出 3 行数据



----- [2022-03-23 21:10:53]导出表:T2 -----


导出模式下的对象权限...



[警告]Error Code:-2111,第1 行附近出现错误:
无效的列名[deptno]

整个导出过程共花费    0.850 s



成功终止导出, 但出现警告

可以发现,当指定多个表时,是对每个表都进行条件过滤,如果指定的表不存在条件列,则会报错。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论