exp/imp可在以下情况下使用

两个数据库之间传送数据

  1.同一个oracle数据库的版本之间

  2.不同oracle数据库的版本之间

  3.相同或不相同的操作系统之间的oracle数据库

用于数据库的备份与恢复

从一个数据库用户传送到另一个用户中

从一个表空间传送到另一个表空间中

创建一个表空间

create tablespace bank_tbs(数据库表空间) datafile '/oracle/test(数据路径) bank_data02.dbf(数据文件名)' size 5M autoextend on maxsize 10G;

创建用户时指定表空间

create user bankuser identified by bankpwd default tablespace bank_tbs;

使用export导出数据

exp bankuser/bankpwd file='/backup/bankuser.dmp' log='/backup/bankuserExp.log'             格式为exp 用户名/密码 file=导出路径及文件名称

使用import导入数据

imp bankuser/bankpwd file=/backup/bankuser.dmp  full=y               注意后面这个full=y,这是指全部导入,也可以指定某个表的表名

为了有明显效果,我们可以先用bankuser用户创建一个表,然后exp,接着进入sqlplus删掉这个表,最后imp就会发现数据库恢复了

如果是在windows环境的话,貌似还需要在用户名/密码后面加上@数据库名及ORACLE_SID

使用另一种方法expdp实现备份数据库

首先在sqlplus中执行,使用sysdba登录,因为涉及到grant权限

create or replace directory  expdp_dir as '/home/oracle/expdp_dir';

grant read,write on directory to dbauser;

退出sqlplus,进入oracle家目录

创建文件夹

mkdir expdp_dir

修改权限

chmod 777 expdp_dir

导出数据

expdp dbauser/123456 directory=expdp_dir(这里不再需要使用绝对路径) dumpfile=backuptest.dmp logfile=backuptestlog.log

导入数据

impdp dbauser/123456 directory=expdp_dir(这里不再需要使用绝对路径) dumpfile=backuptest.dmp logfile=backuptestlog.log

也可以把参数写入到配置文件中

[oracle@localhost ~]$ cat impdp.par
userid='/ as sysdba'
fromuser=czwdm
touser=czwdm
file=/home/oracle/FACTINFO.dmp
log=impdp.log
tables=FACTINFO
[oracle@localhost ~]$

  

然后直接执行

impdp parfile=impdp.par(执行之后,报ora-39143错误,所以改用下面的命令)
或者

imp parfile=impdp.par

  

异构环境oracle数据库迁移dmp文件之exp和imp以及expdp和impdp的更多相关文章

  1. 通过命令窗口导入导出oracle数据库到dmp文件

    通过命令窗口导入导出oracle数据库到dmp文件 很多时候我们需要备份Oracle的数据库,然后将数据导入其他数据库,因为有大文本字段会导致insert无法完全导出,只能导出为dmp文件,前提是wi ...

  2. 导出服务器Oracle数据库为dmp文件

    本文链接:https://blog.csdn.net/rensheng_ruxi/article/details/79877267一.前提:本机安装有Oracle客户端,并且是正确安装. 二.导出Or ...

  3. Oracle数据库导入dmp文件报错处理方法

    在向oracle数据库执行导入命令的时候报错,错误如下,大概意思是TNS中找不到服务名 下面说一下解决步骤 1:进入oracle用户,使用cat查看.bash_profile文件,找到ORACLE_H ...

  4. oracle数据库导入dmp文件

    最近在自己的机子上安装了oracle11g,今天把项目的测试数据库给导入进来了,方便在本地跑起来调试.下面记录一下过程: 1,导出测试数据库的文件; 这个是在公司三楼的一台机子上,用plsql中的工具 ...

  5. docker容器中oracle数据库导出dmp文件

    Oracle数据库安装在docker容器中 1首先查看容器 docker ps 2进入oracle容器 docker exec -it 7f0f3f2d4f88 /bin/bash 3导出整个库:这个 ...

  6. 9i oracle数据库迁移到11G(exp)

    这个是之前生产上打算迁移的文档,后面离职了没有在停机迁移,但是测试过几次没有问题,其中需要把9I的110,120库迁移到11g一个数据库中,但是110,120库之间有相同的表名字,以及有DBLINK. ...

  7. Oracle导入导出dmp文件

    目 录 目             录...3 1      说明...3 2      导出dmp文件...3 3      导入dmp文件...5 3.1            环境准备...5 ...

  8. Oracle数据库迁移到AWS云的方案

    当前云已经成为常态,越来越多的企业希望使用云来增加基础设施的弹性.减轻基础设施的维护压力,运维的成本等.很多企业使用云碰到的难题之一是如何将现有的应用迁移到云上,将现有应用的中间件系统.Web系统及其 ...

  9. Oracle 导入本地dmp文件 详细操作步骤

    以下操作均在命令行窗口中进行 /*连接数据库*/ C:\Users\hqbhonker>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Prod ...

随机推荐

  1. jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)

    jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...

  2. 【转】C语言中字符串输入的三种方法

    在网上看到,讲的还算详细,转过来学习一下...... ======================================================================= 使 ...

  3. 非递归实现二叉树的三种遍历操作,C++描述

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  4. sass进阶 @if @else if @else @for循环

    这种判断语句要配合混合宏来使用 定义下一混合宏 @mixin blockOrHidden($boolean:true) { @if $boolean { @debug "$boolean i ...

  5. 深入理解java虚拟机---Class文件(二十)

    无符号数.表 当实现了不同语言的编译器,比如jython,jruby等等,那么就可以利用这些语言编写代码,通过各自的编译器编译成符合jvm规范的字节码文件,就可以利用jvm来执行了. Class文件在 ...

  6. windows消息传送(自定义消息和WM_COPYDATA)

    通过SendMessge实现的进程间通信. 0x01 自定义消息 1,WINDOWS中自定义消息的定义和使用: (1)在WNDOWS中消息分系统消息和自定义消息.系统消息定义从0到0x3FF,使用0x ...

  7. DevExpress WPF v18.2新版亮点(二)

    买 DevExpress Universal Subscription  免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...

  8. CSS学习笔记-04 a标签-导航练习

    个人练习,各位大神勿笑  .. <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  9. mysql ON DUPLICATE KEY UPDATE ; 以及 同replace to 的区别.

    需求: 1)如果admin表中没有数据, 插入一条 2)如果admin表中有数据, 不插入. 一般做法: if($result = mysql_query("select * from ad ...

  10. golang实现一个代理服务器(proxy)学习笔记

    golang是google公司开发一门新的编程语言.对于老的程序员来说,学习一门语言最好的方式,不过是做一个小的项目. 网上看到这一篇使用golang开发proxy的例子,觉得挺有意思.希望通过实际模 ...