dexp/dimp 工具名称有两种写法 dexp/dimp 和 dexpdp/dimpdp,两者语法完全相同。
唯一的区别在于,dexp/dimp 导出/导入的文件必须存放在客户端,dexpdp/dimpdp 导出/导入的文件必须存放在服务器端。

为了避免字符集焦虑,建议将操作终端(xshell)和操作系统($LANG)的字符集均设置成数据库的字符集(通常为UTF8)。

逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。

  • 数据库级(full=y):导出或导入整个数据库中的所有对象。
  • 用户级(owner=XXX):导出或导入一个或多个用户所拥有的所有对象。
  • 模式级(schemas=XXX):导出或导入一个或多个模式下的所有对象。
  • 表级(tables=XX):导出或导入一个或多个指定的表或表分区。
$ dexp userid=sysdba/Dameng123:5236 directory=/dmdb/expimp file=full.dmp full=y log=dexp_`date +"%F-%H-%M"`.log 
$ dimp userid=sysdba/Dameng123:5238 directory=expimp file=full.dmp full=y log=dimp_`date +"%F-%H-%M"`.log

老版本使用直接路径,新版已经不支持直接路径了,需要使用目录对象。
SQL> create directory expimp as '/orabak';

如果密码有特殊字符,可以用如下的写法:
userid='sysdba/"特殊密码"':25236

也支持 REMAP,示例如下:
REMAP_SCHEMA=DMHR:DMTEST
remap_tablespace=DEMOTBS:DEMO_TBS

也可以使用 manager 来操作,要操作某个对象,就在某个对象上右击即可。

-- By 许望(RHCA、OCM、VCP)
最后修改:2025 年 10 月 14 日 05 : 16 PM
如果觉得我的文章对你有用,请随意赞赏