步骤:
导出端:
建立导出目录。
grant create any directory to qbjmes;
create directory backup as '/tmp/backup';
grant read, write on directory backup to public;
导入端:
grant create any directory to qbjmes;
create directory backup as '/tmp/backup';
grant read, write on directory backup to public;
3.9 REMAP_SCHEMA
该选项用于将源方案的所有对象装载到目标方案中. 我们导出dave 用户下的表,然后把它导入bl用户下。
导出库:
expdp \'/ as sysdba\' directory=backup dumpfile=qbjmes.dmp logfile=qbjmes.log schemas=qbjmes
导入库:
impdp \'/ as sysdba\' directory=backup dumpfile=qbjmes.dmp logfile=qbjmes.log schemas=qbjmes
在之前的blog:
Oracle 10g Data Pump Expdp/Impdp 详解
http://blog.csdn.net/tianlesoftware/archive/2009/10/15/4674224.aspx
exp/imp 与 expdp/impdp 对比 及使用中的一些优化事项
http://blog.csdn.net/tianlesoftware/archive/2010/12/23/6093973.aspx
中对数据泵这块的理论知识有一些说明,但是没有实际操作的例子。 所以在这里就对expdp/impdp 的使用做一些测试。
1. 创建目录
使用数据泵之前,需要创建一个存放文件的目录。 这个目录要写入Oracle的数据字典中才能识别。
(1)先查看一下已经存在的目录:
SQL> col owner format a5
SQL> col directory_name format a25
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
----- ------------------------- ------------------------------------------------
SYS BACKUP /u01/backup
(2)把我们把backup 这个目录删除掉,在重新创建一下
SQL> drop directory backup;
Directory dropped.
SQL> select * from dba_directories;
SQL> create directory backup as '/u01/backup';
Directory created.
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
----- ------------------------- ------------------------------------------------
SYS BACKUP /u01/backup
(3)注意事项:
我这里是使用sys用户来进行操作的。 如果是其他用户,那么就需要对这个用户进行赋权。
SQL> grant create any directory to system;
Grant succeeded.
SQL> select * from dba_sys_privs where grantee='SYSTEM';
grantee privilege adm
------------------------------ ---------------------------- ------------
system create any directory no
system global query rewrite no
system create materialized view no
system create table no
system unlimited tablespace yes
system select any table no
如果是其他用户使用sys创建的目录,也需要进行赋权,如:
S