AUL的DMP格式文件很方便于恢复数据, 但还是有一个地方不爽, 因为在DMP格式中, 表的所有者总是MYDUL这个用户, 而不是这个表原来的用户名. 例如用下面的命令恢复一个表:

set output_style dmp;
set charset 852;
UNLOAD TABLE GX.VIO_FORCE TO TEMP.dmp;

    在导入时, 就一定要用DBA权限用户, 并且指定FROMUSER和TOUSER选项, 才能导回到原来的用户中去.

imp system file=TEMP.dmp fromuser=MYDUL touser=GX

    改进后, 就不需要用DBA权限的用户, 也不需要指定FROMUSER和TOUSER了.

imp gx file=TEMP.dmp

    下面是真实的测试例子.

Export file created by EXPORT:V08.01.07 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing GX’s objects into GX
. importing GX’s objects into GX
. . importing table      “VIO_FORCE”          0 rows imported
Import terminated successfully without warnings.

    有少数用户或中间人水平实在比较菜, 用imp导入时不知道如何写fromuser和touser选项, 只好从客户第一出发, 再作改进了.