达梦6.0数据库的导入导出方法

时间:2021-05-02

达梦数据库的备份也分为物理备份和逻辑备份。逻辑备份通过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=tlogin 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数据库:

成功终止导出, 没有出现警告。除了上面介绍的这几个例子,expdb还支持绝大部分exp的参数。可能是与达梦数据库的内存管理机制有关,expdb不支持buffer和recordlength等与客户端分配内存有关的参数。下面再看看导入工具,和expdb一样,impdb也支持两种模式,一种是Oracle的imp兼容模式,另一种是与老版本兼容的模式,推荐使用功能更强的第一种模式。

成功终止导入, 但出现警告。可以看到,虽然和Oracle的impming令兼容,但是处理方式还是有所区别的。再导入的时候选择的是全用户导出的dmp文件,不过导入的时候明确指定了导入表T,impdb在导入过程中,确实过滤了表,只导入T表的数据,但是用户中的其他对象,比如同义词被再次导入。这一点应该算是个小bug吧。最后看一个FROMUSER/TOUSER的导入:

成功终止导入, 但出现警告。可以看到,大部分对象处理都没有问题,但是对于分区表而言,虽然表导入了,但是建立索引的时候出现了很多错误,这说明导入工具处理分区表还存在bug。不过总的来说,expdb和impdb对于exp/imp工具的兼容性还是非常不错的,对于一个没有多少达梦数据库经验的人,只要对Oracle的exp/imp熟悉,就可以很快上手进行操作了。

本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章