天天看点

exp/imp与expdp/impdp

A: exp/imp的使用 (服务器端和客户端都可以执行。 并且备份文件可以在客户端产生。)

exp user/[email protected] file=dump.dmp

imp user/[email protected] fromuser=fuser touser=tuser file=dump.dmp

2: expdp/impdp的使用 (服务器端和客户端都可以执行。 备份文件只能存在服务器里面。)

I:在使用expdp导出时在Oracle需要定义目录变量,在导出的时候需要制定这个变量。如果可以,你可以为每个用户都建立一个单独的备份目录。

SQL>create directory dmpdir_user1 as '/home/oracle/backup';

SQL>grant read,write on directory dmpdir_user1 to user1;

对了,操作系统内必须创建这个目录。在SQL命令行下,并不会产生这个目录的。

[[email protected] ~]$ mkdir backup

如果你没有制定这个目录的话,默认exp导出存放的目录是$HOME/rdbms/log里面。至少我的是这样。很奇怪,为什么在这里。

II:执行导出导入命令

expdp user1/[email protected] schemas=user1 directory=dmpdir_user1 dumpfile=user1.dmp

impdp user2/[email protected] directory=dmpdir_user1 dumpfile=user1.dmp remap_schema=user1:user2 remap_tablespace=user1ts:user2ts

使用expdp/impdp最大的好处可以让我转换表空间。而exp/imp这个是不支持的。处理起来非常麻烦