oracle 数据泵出泵入(源用户和表空间与目标用户和表空间不一致)
oracle 导入导出(源用户和表空间与目标用户和表空间不一致)
- 数据泵出:
在 cmd 上连接 sqlplus:
sqlplus /@127.0.0.1:1521/orcl as sysdba
1). 创建数据泵连接 oradatadir(数据泵名称)(目录没有则创建)
create or replace directory oradatadir as 'D:\mydata';
2). 将数据泵赋给 mydb1 用户
GRANT read,write ON DIRECTORY oradatadir TO mydb1;
3). 然后关闭 cmd,再次打开 cmd,在 cmd 上执行
expdp sys/sys@127.0.0.1:1521/orcl directory=oradatadir dumpfile=mydb1_20180716.dmp schemas=mydb1
后面不能加分号
- 数据泵导入 :
导出用户与目标用户名,表空间一致
impdp sys/sys@127.0.0.1:1521/orcl directory=oradatadir dumpfile=mydb1_20180716.dmp fromuser=mydb1 touser=mydb1
当导出的 dmp 文件用户名和表空间与即将导入的用户不一致 则需要用以下的方式导入:
impdp sys/sys@127.0.0.1:1521/orcl directory=oradatadir dumpfile=mydb1_20180716.dmp schemas=mydb1 remap_schema= mydb1:mydb2 remap_tablespace=mydb1:mydb2 remap_tablespace=COMMON_DATA:mydb2
参数说明:
schemas=mydb1 是定义 mydb1_20180716.dmp 中的导出用户名
remap_schema= mydb1:mydb2 是指定从 mydb1 用户导入到 mydb2 用户。
remap_tablespace=mydb1:mydb2 是指从源表空间 mydb1 导入到目标表空间 mydb2,可能有多个源表空间和目标表空间。