Oracle数据导入导出

本文详细介绍了如何在Oracle数据库中进行数据导出和导入操作,涉及主机A到主机B的数据迁移。步骤包括:在主机A上使用expdp导出数据,将.dmp文件传输到主机B,创建目标表空间和用户,然后在主机B上使用impdp导入数据。同时,文中还解决了在导入过程中遇到的权限和日志文件错误问题。
摘要由CSDN通过智能技术生成

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; 仅仅是删除用户,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值