oracle数据导入导出思路:
主机A数据导出
0.找到主机A的DIR_WORK所在路径
SQL>select * from dba_directories;
1.在cmd中,导出数据到文件
expdp 用户名/密码 directory=dir_work dumpfile=xxx.dmp
expdp KTWISDOMAGED/000000 directory=dir_work dumpfile=out.dmp
2.到dir_work目录下查看导出的xxx.dmp文件
主机B数据导入
0.把导出的.dmp文件放到主机B的dir_work目录下
1.在SQL>中,创建默认表空间
create tablespace 表空间名
datafile 新dmp文件路径
//note 是新的,是dbf不是dmp,例'E:\app\Administrator\oradata\orcl\BINZANG.dbf'
size 2048m
autoextend on next 100m maxsize 30480m
extent management local;
create tablespace LSSHFLY datafile 'D:\E\Oracle11g\oradata\orcl\LSSHFLY.dbf' size 2048m autoextend on next 100m maxsize 30480m extent management local;
create tablespace LSSOCIETY datafile 'D:\E\Oracle11g\oradata\orcl\LSSOCIETY.dbf' size 2048m autoextend on next 100m maxsize 30480m extent management local;
2.创建用户并授权
create user 用户名 identified by 密码
default tablespace 表空间名
temporary tablespace 临时表空间名;//临时表空间名可省略
create user LsShfly identified by 000000 default tablespace LSSHFLY ;
create user LsShfly identified by 000000 default tablespace LSSOCIETY ;
grant connect,resource,dba to 用户名;
grant dba to 用户名; //用户必须有DBA权限才能导入数据
grant creat view to 用户名;
grant connect,resource,dba to LsShfly;
3.在cmd中,导ru数据文件
impdp 用户/密码@orcl
//oracl管理员用户,因为ktwisdomaged已经被赋予dba权限也可用ktwisdomaged
DIRECTORY=dir_work DUMPFILE=原dmp文件//DIRECTORY+DUMPFILE=.dmp文件的路径
REMAP_SCHEMA=原用户:目标用户
remap_tablespace=原表空间:目标表空间
impdp system/123456@orcl directory='C:\Users\Mumin\Desktop' dumpFile=OUT.DMP REMAP_SCHEMA=ktwisdomaged:ktwisdomaged REMAP_TABLESPACE=KTWISDOMAGED:KTWISDOMAGED
impdp KTWISDOMAGED/000000@orcl directory=dir_work dumpFile=OUT.DMP REMAP_SCHEMA=ktwisdomaged:ktwisdomaged REMAP_TABLESPACE=KTWISDOMAGED:KTWISDOMAGED table_exists_action=replace
impdp LsShfly/000000@orcl directory=dir_work dumpFile=LSSHFLY01.DMP REMAP_SCHEMA=LsShfly:LsShfly REMAP_TABLESPACE=LSSHFLY:LSSHFLY
impdp LsShfly/000000@orcl directory=dir_work dumpFile=LSSHFLY01.DMP REMAP_SCHEMA=LsShfly:LsShfly REMAP_TABLESPACE=LSSOCIETY:LSSOCIETY
遇到问题
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-39087: 目录名 C:\USERS\MUMIN\DESKTOP 无效
解决
以Oracle管理员身份登录
创建该目录 directory_name
SQL> create directory xxx(如directory_name) as '目录的绝对路径';
给该目录分配权限
SQL> grant read,write on directory xxx to 执行导入命令的用户;
之后再次导入
CMD>impdp system/123456@orcl directory=xxx dumpFile=OUT.DMP REMAP_SCHEMA=ktwisdomaged:ktwisdomaged REMAP_TABLESPACE=KTWISDOMAGED:KTWISDOMAGED
————————————————————————
2、删除用户
因为用户是建立在表空间的基础上,所以需要先删除表用户。
SQL>
drop user user_name; 仅仅是删除用户,