达梦逻辑备份工具介绍

10 篇文章 1 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本章将介绍有关达梦数据库逻辑备份工具dexp内容的使用,由于还原工具dimp使用方法与dexp极度类似,相信大家掌握了dexp用法后自然而然也就掌握了dimp的用法。


一、逻辑备份工具dexp

dexp是一款逻辑备份工具,需要注意的是,该工具仅支持联机备份,也就是需要保证数据库的正常运行,利用该工具我们可以完成平日里一些备份内容,如果你已经安装了达梦数据库,且是默认安装路径,那么该工具默认存放在/opt/dmdbms/bin/下

1.基础备份

file用来指定备份文件存放的路径,log用来查看当前备份结果的日志信息,是否有出错内容,默认不指定备份级别就是全备,需要注意的是不指定的话默认是全备当前模式下的内容

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full.log
dexp V8

正在导出 第1 个SCHEMA :SYSDBA 

开始导出模式[SYSDBA].....

----- 共导出 0 个SEQUENCE ----- 

导出第 1 个VIEW: CUST 

导出第 2 个VIEW: CUST1 

导出第 3 个VIEW: CUST2 

----- 共导出 3 个VIEW ----- 

----- 共导出 0 个TRIGGER ----- 

----- 共导出 0 个COMMENT VIEW ----- 

----- 共导出 0 个COMMENT COL ----- 

----- 共导出 0 个PROCEDURE ----- 

----- 共导出 0 个SYNONYM ----- 

----- 共导出 0 个DBLINK ----- 

导出第 1 个TRIGGER: TIMER2 

----- 共导出 1 个TRIGGER ----- 

----- 共导出 0 个PACKAGE ----- 

----- 共导出 0 个PKG_BODY ----- 

----- 共导出 0 个OBJECT of NO REFER OTHER CLASS ----- 

----- 共导出 0 个OBJECT of REFER OTHER CLASS ----- 

----- 共导出 0 个JCLASS ----- 

----- 共导出 0 个CLASS_BODY ----- 

----- 共导出 0 个DOMAIN ----- 

----- 共导出 0 个PARTITION GROUP ----- 

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


----- [2022-04-14 10:54:41]导出表:TEST -----

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

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


[警告]Error Code:-7086,对象不存在 


----- [2022-04-14 10:54:41]导出表:CALLINFO -----

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

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


----- [2022-04-14 10:54:41]导出表:PERSON -----

导出索引:INDEX_PERSON 

导出索引:INDEX_UNIQUE_EMAIL 

导出索引:INDEX_PHONE 

导出索引:T100 

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

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


----- [2022-04-14 10:54:41]导出表:T5 -----

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

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


----- [2022-04-14 10:54:41]导出表:T6 -----

导出触发器: DELL_CZK 

导出触发器: INSERT_CZK1 

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

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


----- [2022-04-14 10:54:41]导出表:T7 -----

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

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


----- [2022-04-14 10:54:41]导出表:T8 -----

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

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


----- [2022-04-14 10:54:41]导出表:T10 -----

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

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


----- [2022-04-14 10:54:41]导出表:TMP_CZK -----

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

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


----- [2022-04-14 10:54:41]导出表:IDENT_TABLE -----

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

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


----- [2022-04-14 10:54:41]导出表:T11 -----

导出索引:INDEX_HANSHU 

导出索引:INDEX_BIT 

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

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


----- [2022-04-14 10:54:41]导出表:T_CON -----

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

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


----- [2022-04-14 10:54:41]导出表:CALLCZK -----

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

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


----- [2022-04-14 10:54:41]导出表:SALES_CZK -----

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

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


----- [2022-04-14 10:54:41]导出表:SALES01 -----

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

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


----- [2022-04-14 10:54:41]导出表:CALLBAK -----

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

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


[警告]Error Code:-7086,对象不存在 


[警告]Error Code:-7086,对象不存在 


[警告]Error Code:-7086,对象不存在 


[警告]Error Code:-7086,对象不存在 


[警告]Error Code:-7086,对象不存在 


----- [2022-04-14 10:54:41]导出表:T20 -----

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

表T20导出结束,共导出 1000 行数据


----- [2022-04-14 10:54:41]导出表:T21 -----

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

表T21导出结束,共导出 1000 行数据


模式[SYSDBA]导出结束.....

成功导出 第1 个SCHEMA :SYSDBA


共导出 1 个SCHEMA


整个导出过程共花费    1.213 s


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

1.2 查看日志输出

[dmdba@czk dexplog]$ cat full.log 
dexp V8 
开始导出模式[SYSDBA].....
----- 共导出 0 个SEQUENCE ----- 
导出第 1 个VIEW: CUST 
导出第 2 个VIEW: CUST1 
导出第 3 个VIEW: CUST2 
----- 共导出 3 个VIEW ----- 
----- 共导出 0 个TRIGGER ----- 
----- 共导出 0 个COMMENT VIEW ----- 
----- 共导出 0 个COMMENT COL ----- 
----- 共导出 0 个PROCEDURE ----- 
----- 共导出 0 个SYNONYM ----- 
----- 共导出 0 个DBLINK ----- 
导出第 1 个TRIGGER: TIMER2 
----- 共导出 1 个TRIGGER ----- 
----- 共导出 0 个PACKAGE ----- 
----- 共导出 0 个PKG_BODY ----- 
----- 共导出 0 个OBJECT of NO REFER OTHER CLASS ----- 
----- 共导出 0 个OBJECT of REFER OTHER CLASS ----- 
----- 共导出 0 个JCLASS ----- 
----- 共导出 0 个CLASS_BODY ----- 
----- 共导出 0 个DOMAIN ----- 
----- 共导出 0 个PARTITION GROUP ----- 
导出模式下的对象权限...

----- [2022-04-14 10:54:41]导出表:TEST -----
导出模式下的对象权限...
表TEST导出结束,共导出 0 行数据

[警告]Error Code:-7086,对象不存在 

----- [2022-04-14 10:54:41]导出表:CALLINFO -----
导出模式下的对象权限...
表CALLINFO导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:PERSON -----
导出索引:INDEX_PERSON 
导出索引:INDEX_UNIQUE_EMAIL 
导出索引:INDEX_PHONE 
导出索引:T100 
导出模式下的对象权限...
表PERSON导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:T5 -----
导出模式下的对象权限...
表T5导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:T6 -----
导出触发器: DELL_CZK 
导出触发器: INSERT_CZK1 
导出模式下的对象权限...
表T6导出结束,共导出 1 行数据

----- [2022-04-14 10:54:41]导出表:T7 -----
导出模式下的对象权限...
表T7导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:T8 -----
导出模式下的对象权限...
表T8导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:T10 -----
导出模式下的对象权限...
表T10导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:TMP_CZK -----
导出模式下的对象权限...
表TMP_CZK导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:IDENT_TABLE -----
导出模式下的对象权限...
表IDENT_TABLE导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:T11 -----
导出索引:INDEX_HANSHU 
导出索引:INDEX_BIT 
导出模式下的对象权限...
表T11导出结束,共导出 1 行数据

----- [2022-04-14 10:54:41]导出表:T_CON -----
导出模式下的对象权限...
表T_CON导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:CALLCZK -----
导出模式下的对象权限...
表CALLCZK导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:SALES_CZK -----
导出模式下的对象权限...
表SALES_CZK导出结束,共导出 0 行数据

----- [2022-04-14 10:54:41]导出表:SALES01 -----
导出模式下的对象权限...
表SALES01导出结束,共导出 0 行数据

共导出 1 个SCHEMA

整个导出过程共花费    1.213 s

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

1.3 full参数

加上参数full=y代表备份内容为全备,即所有模式下的内容。但是也可以不加,不加的话就默认全备当前模式下的

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full.log full=y

1.4 owner参数

owner参数用来导出指定用户所包含的模式内容

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full.log owner=CZKTEST;
dexp V8

正在导出 第1 个SCHEMA :CZKTEST 

开始导出模式[CZKTEST].....

----- 共导出 0 个SEQUENCE ----- 

----- 共导出 0 个VIEW ----- 

----- 共导出 0 个TRIGGER ----- 

----- 共导出 0 个COMMENT VIEW ----- 

----- 共导出 0 个COMMENT COL ----- 

----- 共导出 0 个PROCEDURE ----- 

----- 共导出 0 个SYNONYM ----- 

----- 共导出 0 个DBLINK ----- 

----- 共导出 0 个TRIGGER ----- 

----- 共导出 0 个PACKAGE ----- 

----- 共导出 0 个PKG_BODY ----- 

----- 共导出 0 个OBJECT of NO REFER OTHER CLASS ----- 

----- 共导出 0 个OBJECT of REFER OTHER CLASS ----- 

----- 共导出 0 个JCLASS ----- 

----- 共导出 0 个CLASS_BODY ----- 

----- 共导出 0 个DOMAIN ----- 

----- 共导出 0 个PARTITION GROUP ----- 

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

模式[CZKTEST]导出结束.....

成功导出 第1 个SCHEMA :CZKTEST


共导出 1 个SCHEMA


整个导出过程共花费    0.120 s


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

1.5 tables 参数

tables参数用来导出指定表的数据
需要注意的是dexp工具默认会把命令行的内容转换成大写,如果你的表是小写的,一定要加上转义符进行转义,例如我的test01模式下的t1表就是小写的。导出会提示不存在

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full.log tables=test01.t1;
dexp V8

[警告]表 TEST01.T1 不存在或者为系统内部对象,请核对后再进行输入

整个导出过程共花费    0.003 s


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

成功终止导出, 没有出现警告
[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full.log tables="\"test01\""."\"t1\"";
dexp V8

----- [2022-04-14 11:21:23]导出表:t1 -----

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

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

整个导出过程共花费    0.033 s


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

1.6 directory参数

当你未指定file和log的位置路径时候,可以通过directory来指定具体存放的路径

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=full1.dexp log=full1.log directory=/opt/dmdbms/directory;
dexp V8

正在导出 第1 个SCHEMA :SYSDBA 

开始导出模式[SYSDBA].....

----- 共导出 0 个SEQUENCE ----- 

导出第 1 个VIEW: CUST 

导出第 2 个VIEW: CUST1 

导出第 3 个VIEW: CUST2 
-------后续输出内容省略

[dmdba@czk dmdbms]$ cd directory/
[dmdba@czk directory]$ ll
总用量 1012
-rw-r--r--. 1 dmdba dinstall 1025303 414 11:26 full1.dexp
-rw-r--r--. 1 dmdba dinstall    5474 414 11:26 full1.log

1.7 fuzzy_match参数

该参数用来控制对模糊表进行导出的功能,如果你不记得表名但记得开头,可以使用该参数进行导出

开启参数前
[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=full1.dexp log=full1.log directory=/opt/dmdbms/directory tables=SYSDBA.T%;
dexp V8

[警告]表 SYSDBA.T% 不存在或者为系统内部对象,请核对后再进行输入

整个导出过程共花费    0.002 s

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


开启参数后
[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=full1.dexp log=full1.log directory=/opt/dmdbms/directory tables=SYSDBA.T% fuzzy_match=y;
dexp V8

----- [2022-04-14 11:32:50]导出表:T1 -----

导出索引:T1I1 

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

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


----- [2022-04-14 11:32:50]导出表:T10 -----

导出模式下的对象权限...
------内容省略

1.8 query参数

该参数用来过滤指定语句,然后导出具体表数据

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=full1.dexp log=full1.log directory=/opt/dmdbms/directory tables=SYSDBA.T% fuzzy_match=y query="where c1=1";
dexp V8


----- [2022-04-14 11:36:46]导出表:T1 -----

导出索引:T1I1 

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

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


----- [2022-04-14 11:36:46]导出表:T10 -----

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

1.9 rows参数

该参数用来导出表中的行,如果指定为n,就是不导出数据

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=full1.dexp log=full1.log directory=/opt/dmdbms/directory tables=SYSDBA.T% fuzzy_match=y  rows=n;
dexp V8

----- [2022-04-14 11:43:07]导出表:T1 -----

导出索引:T1I1 

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


----- [2022-04-14 11:43:07]导出表:T10 -----

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


----- [2022-04-14 11:43:07]导出表:T11 -----

导出索引:INDEX_HANSHU 

导出索引:INDEX_BIT 

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

1.10 nolog参数

代表不在命令行界面输出日志内容

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=full1.dexp log=full1.log directory=/opt/dmdbms/directory tables=SYSDBA.T% fuzzy_match=y  rows=n nolog=y;
dexp V8

[dmdba@czk bin]$ 

1.11 parfile参数

该参数可以引用文件里的内容

[dmdba@czk dmdbms]$ cat parfile.txt 
file=/opt/dmdbms/dexp/full2.dexp
log=/opt/dmdbms/dexplog/full2.log
tables=T1


[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 parfile=/opt/dmdbms/parfile.txt;
dexp V8


----- [2022-04-14 11:48:35]导出表:T1 -----

导出索引:T1I1 

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

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

整个导出过程共花费    0.035 s


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

1.12 feedback参数

用来指定每隔多少行输出一下内容

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 parfile=/opt/dmdbms/parfile.txt feedback=10000;
dexp V8

----- [2022-04-14 11:50:35]导出表:C1 -----

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

导出表 C1 的数据 10000 行

导出表 C1 的数据 20000 行

导出表 C1 的数据 30000 行

导出表 C1 的数据 40000 行

导出表 C1 的数据 50000 行

导出表 C1 的数据 60000 行

导出表 C1 的数据 70000 行

导出表 C1 的数据 80000 行

导出表 C1 的数据 90000 行

导出表 C1 的数据 100000 行

表C1导出结束,共导出 100000 行数据

整个导出过程共花费    0.082 s


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

二、实例演示1

接下来演示实际的导入导出的一个内容

2.1.导出我当前库中的所有内容

[dmdba@czk bin]$ ./dexp SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full.log nolog=y;
dexp V8

[dmdba@czk bin]$ 

2.1.导入指定目标库

这里我选择导入指定模式sysdba、sales、以及dmhr模式下的所有对象

[dmdba@czk bin]$ ./dimp SYSDBA/SYSDBA@192.168.0.132:5236 file=/opt/dmdbms/dexp/full.dexp log=/opt/dmdbms/dexplog/full4.log schemas=sysdba,dmhr,sales;
dimp V8

本地编码:PG_UTF8, 导入文件编码:PG_GB18030

开始导入模式[SYSDBA]......

导入模式中的 NECESSARY GLOBAL 对象……

模式中的 NECESSARY GLOBAL 对象导入完成……


----- [2022-04-14 12:14:21]导入表:TEST -----


总结

简单的介绍了下dexp这款工具,dexp是一款比较好用的工具,大家熟悉下就可以轻松的掌握了,适用于比较小型的数据架构,或者是数据量比较少的情况下使用,如果是大型架构,大量数据的话,还是推荐使用物理备份去操作。

如果还有其他问题,欢迎到达梦社区来提问~
社区地址:https://eco.dameng.com

恢复的步骤是什么? 回答: Java达梦数据库备份和恢复的步骤可以分为以下几个部分。首先是归档管理和逻辑备份与还原。在准备工作中,需要创建用户。然后可以进行全库的备份和恢复,也可以进行用户级别的备份和恢复,包括导入到自己账户或其他账户。还可以进行模式导出导入和表的导出导入。接下来是联机备份与还原,包括数据库级别、表空间级别和表级别的备份和还原。最后是脱机备份与还原,可以使用RMAN备份工具进行备份和还原。在还原之前,需要准备目标库,并校验待还原备份集的合法性。\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [达梦数据库备份方法总结学习](https://blog.csdn.net/weixin_45149209/article/details/120457728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [9、达梦数据库 备份 还原](https://blog.csdn.net/u013736117/article/details/127324317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值