关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项:

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 - EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件; 
IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

*初次导入导出库时必须先创建 DIRECTORY (指定转储文件和日志文件所在的目录),否则会报错:LRM-00112: 参数 ‘directory’ 不允许有多个值 
*导入导出应在cmd的dos命令提示符下执行,而不是在sqlplus里面,否则会报错:sp2-0734:未知的命令开头’imp 忽略了剩余行默认分类 
*导入导出时,用户必须需要dba权限,否则导入导出失败,会报权限不足。 
1.给用户授予dba权限:grant dba to username;(一般正式环境不允许给普通用户授予dba权限,可以临时授予权限,执行完导入导出再删除) 
2.导入导出语句增加dba权限

 expdp userid='username/passname as sysdba' schemas=username ...
impdp userid='username/passname@orcl as sysdba' schemas=username ...
  • 1
  • 2

一、创建逻辑目录

1.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

create directory PUMPDRA as ‘D:\app\admin\orcl\dpdump’

2查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)

select * from dba_directories;

3、给moe用户赋予在指定目录的操作权限,最好以system等管理员赋予。 
(sys是超级管理员,system是管理员)

grant read,write on directory PUMPDRA to moe;

二、 导出数据库

1、只导出本版本的库(本版本:导出的库和导入的库的版本号一致)

1)按用户导

expdp moe/root@orcl schemas=moe dumpfile=expdp.dmp 
DIRECTORY=PUMPDRA ;

将数据库moe完全导出,用户名moe,密码root,SID=orcl ,导出文件名dumpfile,导出逻辑目录directory, 
schemas该方案用于指定执行方案模式导出,默认为当前用户方案.

2)并行进程parallel

expdp moe/root@orcl directory=pumpdra dumpfile=expdp.dmp 
parallel=40 job_name=moe3

3)按表名导

expdp moe/root@orcl TABLES=table1,table2 dumpfile=expdp.dmp 
directory=pumpdra;

4)按查询条件导 (导出表table1中table_id为20的数据)

expdp moe/root@orcl directory=pumpdra dumpfile=expdp.dmp Tables=table1 
query=’where table_id=20’;

5)按表空间导

expdp moe/root DIRECTORY=pumpdra DUMPFILE=tablespace.dmp 
TABLESPACES=temp,example;

tablespaces指定要导出表空间列表

6)导整个数据库

expdp moe/root DIRECTORY=pumpdra DUMPFILE=full.dmp FULL=y;

full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

2.导出到不同版本(version指定的是 执行导入 数据库的版本)

10g导入11g数据库

expdp moe/root@orcl schemas=moe dumpfile=expdp.dmp 
DIRECTORY=PUMPDRA VERSION=11.2.0.1.0

或者11g导入10g数据库

expdp userid=’moe/root@orcl as sysdba’ schemas=moe directory= pumpdra dumpfile=expdp.dmp logfile=expdp.log version=10.2.0.1.0

VERSION指定被导出对象的数据库版本,默认值为COMPATIBLE.

三、导入数据库

后缀名是大写的DMP则是通过expdp导出的

1.通过impdp导入(只导入本版本的库,库是通过expdp导出)

1)导入到moe用户,密码为root,SID=orcl

impdp moe/root@orcl DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=moe; 
或者 
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP

如果要导入的目标数据库用户名,与新建的用户名不一样,增加参数REMAP_SCHEMA 即:

impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP logfile= HBHY20161230.log REMAP_SCHEMA=moe:MOE_TEST

其中USERID值中的 moe 是 要导入的目标数据库用户名,MOE_TEST是新建的用户名 
如果表空间不同,需要增加 remap_tablespace=源表空间:目标表空间

如果是11g数据库导入到10g数据库,则增加参数version

impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP version=10.2.0.1.0

3)导入表空间SOA

impdp moe/root@orcl DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=SOA;

4)追加数据

impdp moe/root DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=moe TABLE_EXISTS_ACTION=append;

2、通过exp导出

1)将数据库orcl完全导出,导出到d:\daochu.dmp文件中

exp moe/root@orcl file=d:\daochu.dmp full=y

2)将数据库orcl中moe用户与jyb用户的对象导出

exp moe/root@orcl file=d:\daochu.dmp owner=(moe,jyb)

3)将数据库orcl中的moe用户的表table1、table2导出

exp moe/root@orcl file= d:\daochu.dmp tables=(table1,table2)

4、将数据库orcl中的表空间testSpace导出

exp moe/root@orcl file=d:\daochu.dmp tablespaces=(testSpace)

通过imp导入

1 将D:\daochu.dmp 中的数据导入 orcl数据库中。 
imp moe/root@orcl file=d:\daochu.dmp 
如果moe用户下已经存在导入的表,需增加参数ignore,覆盖导入 
imp moe/root@orcl file=d:\daochu.dmp ignore=y

2 将d:\daochu.dmp中的表table1 导入 
imp moe/root@orcl file=d:\daochu.dmp tables=(table1)

转至 https://blog.csdn.net/queen_xzx/article/details/53842092

oracle 导入导出功能的更多相关文章

  1. oracle导入导出功能

    1.普通版:oracle导入导出功能:导出exp 用户名/密码@SID file=f:\xx.dmp owner=用户名 导入imp 用户名/密码@SID full=y file=f:\xx.dmp ...

  2. Oracle导入导出

    Oracle 10g 已经引入了数据泵(点击Data Dump)技术,这项技术和之前的exp/imp有哪些好处呢,简单的来说就是恢复和备份速度非常快: 在说明数据泵的使用方法之前,我们先来了解二者的区 ...

  3. oracle 导入导出数据

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用 ...

  4. ORACLE导入导出数据dmp

    imp testwms3/isc@TESTGMMC FILE=C:\ZKGL_201407012334.dmp ignore=y fromuser=GMMCZKGL touser=testwms ta ...

  5. Oracle导入导出之dmp

    Oracle导入导出有两种方式,分别是imp/exp与impdp/expdp. 1.imp/exp exp scott/tiger file=d:\test.dmp log=d:\test.log o ...

  6. Laravel Excel 实现 Excel-CSV 文件导入导出功能

    Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...

  7. oracle导入导出 dmp文件

    oracle导入导出 dmp文件: 打开cmd窗口,在cmd窗口下,按照个人需要输入以下对应的命令: 1.imp 用户名/密码@网络服务名 file=XXX.dmp fromuser=XXX tous ...

  8. office在繁体系统下 导入导出 功能灰显的解决方法

    当在win7系统使用繁体中文版的office时,或系统是繁体版时,可能会导致office的导入导出功能无法使用 解决方法: 控制面板--区域和语言--格式--中文简体

  9. oracle导入导出操作

    1,获取oracle导入导出帮助: imp help=y 2,导出命令 exp 用户名/密码@数据库实例 file=文件路径名 如: exp sys/password@orcl file=d:\dat ...

随机推荐

  1. JS权威指南读书笔记(三)

    第七章 数组 1 数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快的多. 2 数组直接量的语法允许有可选的结尾的逗号,故[ ; ; ]只有两个元素而非三个. 3 调用构 ...

  2. ABAP Netweaver体内的那些寄生式编程语言

    今天这篇文章的主题是:寄生. Jerry最近看到朋友圈里一位朋友分享的一张寄居蟹的照片,对于Jerry这种在内地长大的又很宅的人来说,没有机会看到寄居蟹,所以觉得很新鲜: 寄居蟹主要以螺壳为寄体,寄居 ...

  3. 【vue开发】超简单的防止连续点击js指令方法

    vue防重复点击(指令实现) 快速点击按钮会重复多次调用接口,防止出现这样的情况 全局定义,方便调用 新建plugins.js export default { install (Vue) { // ...

  4. jquery-weui滚动事件的注册与注销

    注册infinite(50)是自定义的,详细暂时没去了解,可以不写即代表默认值. // body是整一块代码的标签,也就是滚动的部分. $('body').infinite().on("in ...

  5. 微信小程序 之wxml保留小数点后两位数的方法及转化为字符串的方法

    原理:wxml中不能直接使用较高级的js语法,如‘.toFixed’,‘toString()’,但可以通过引入wxs模块实现效果 1.新建`filter.wxs` var filters = {    ...

  6. OSI七层模型的新认识

    OSI 七层模型是internet的基石,它并没有制定一个标准,规定我们要怎么去做.美国军方曾把它精简到四层,只是站在了更实用的层次. 我们先来看看这个模型.   应用层->Applicatio ...

  7. spark 实现多文件输出

    需求 不同的key输出到不同的文件 txt文件 multiple.txt 中国;22 美国;4342 中国;123 日本;44 日本;6 美国;55 美国;43765 日本;786 日本;55 sca ...

  8. C++——重载原理分析

    C不支持函数重载,C++支持 代码演示 main.c #include<stdio.h> void Max(int a, int b) { printf("%d ", ...

  9. EXCEL导入数据到SQL SERVER 2008

    项目中需要导入excel到SQL SERVER数据库 总是报截断, 本质问题是,SQL SERVER导入程序是根据EXCEL的第一行记录 (非标题行)来决定数据长度的 碰到这个问题,可以伪造第一行,然 ...

  10. TListView控件的ReadOnly属性的一个Bug

    不知道是不是ListView的 ReadOnly属性的一个bug 1.Form上一个ListView,如图设置 2.在FormCreate事件中写如下代码:     ListView1->Rea ...