达梦数据库的备份也分为物理备份和逻辑备份。逻辑备份通过expdb和impdb实现,有意思的是,这两个工具的名称与Oracle10g推出的数据库expdp/impdp很接近,不过在语法和功能上与Oracle数据库exp/imp更加类似。导出工具expdb支持两种模式,一种与Oracle的exp兼容,另一种兼容达梦早起版本的语法,其中前一种提供的功能更强大,因此这里只描述和exp兼容的模式。
C:\dmdbms\bin>expdb userid=test/testtest file=e:\dmdbms\backup\t.dmp log=e:\dmdbms\backup\t.log tables=t
login success
即将导出指定的表通过常规路径 ...
. . 正在导出表 "test"."test"."T" 4 行被导出
****************** total ***********************
0 databases output...
0 schemas output...
1 tables output...
0 indexes output...
0 triggers output...
0 views output...
0 stored procedures output...
0 sequences output...
0 roles output...
0 dblinks output...
0 synonyms output...
********************* end **********************
成功终止导出, 没有出现警告。语法完全和Oracle的exp一致,不用过多的解释,不过也有一些不方便的地方。比如userid不能省略;比如不提供密码不会以隐藏方式提示输入,而是直接保存;再比如userid、file和log参数都是必选参数,不能忽略使用默认值。下面看看导出整个TEST用户和导出TEST数据库:
C:\dmdbms\bin>expdb userid=test/testtest file=e:\dmdbms\backup\full.dmp log=e:\dmdbms\backup\full.log full=y
login success
即将导出指定的表通过常规路径 ...
. . 正在导出表 "test"."test"."t_num" 0 行
. . 正在导出表 "test"."test"."T_PART_COL" 0 行
. . 正在导出表 "test"."test"."T_PART_RANGE" 0 行
. . 正在导出表 "test"."test"."T_PART_HASH" 0 行
. . 正在导出表 "test"."test"."T_RECORD" 1000000 行被导出
. . 正在导出表 "test"."test"."t" 4 行被导出
4 procedures output...
****************** total ***********************
1 databases output...
2 schemas output...
6 tables output...
22 indexes output...
0 triggers output...
0 views output...
4 stored procedures output...
1 sequences output...
0 roles output...
0 dblinks output...
2 synonyms output...
*********************