Oracle Database 10g以后引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中。
 
数据泵导出导入(EXPDP和IMPDP)的作用
 
 1、实现逻辑备份和逻辑恢复。
 
 2、在数据库用户之间移动对象。
 
 3、在数据库之间移动对象
 
 4、实现表空间搬移。

数据泵导出导入与传统导出导入的区别:
 
在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;
 
EXP和IMP是客户段工具程序,它们既可以在客户端使用,也可以在服务器段使用。
 
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用
 
IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
 
 
今天我在导入同事给我的数据文件时,总是报IMP-00038错误,提示,无法转换为环境字符集句柄,造成这种错误的原因一般是数据库版本不匹配,但是我们使用的都是oracle11g,就排除了这种可能。最后发现原因是他是使用数据泵导出的数据文件,而我使用传统imp命令导入是不可以的,后续改为使用impdp数据泵导入成功。
 
下面是我使用数据泵导入数据文件的完整过程:
 
1、使用system用户登录数据库,创建新用户usertest(新建用户时用户名最好和数据文件导出时的用户名相同),表空间可以使用系统默认的也可以自己新建一个表空间。sql代码如下:
 
新建用户使用oracle默认表空间:
create user usertest identified by usertest; 
 
新建表空间:
create tablespace user_all 
datafile 'D:/dev/oracle/tablespace/user_all.dbf'
size 300M   
autoextend on   
next 50M   
maxsize unlimited 
 
新建用户(设置默认表空间):
create user usertest identified by usertest default tablespace user_all;
 
2、对新建的用户赋权限,dba、connect、resource。sql代码如下:

grant connect, resource,dba to usertest;
 
3、为数据库导入导出,新建目录文件 如dumpdir
 
create directory 目录名称 as '数据库服务器上的一个目录',如:
create directory dumpdir as 'd:\服务器目录名';
将导入或导出的文件放在这个目录下
 
4、为此用户的导入导出目录赋读写权限
grant read,write on directory dumpdir to usertest;

5、导出及导入
以SID=orcl,导出dmp的账号为usertest,导入dmp的账号为usertest为例。

若将数据从sfz中导出:
expdp usertest/usertest@orcl directory=dumpdir  dumpfile=导出文件名

导入到usertest中:
impdp usertest/usertest@orcl directory=dumpdir  dumpfile=导出文件名.dmp
 
导入导出用户名最好相同,用户名不同时,还需要做个映射
 
remap_schema=test:usertest

注意在使用本地数据库时,要启动以下oracle服务:
 
OracleOraDb11g_home1TNSListener
OracleServiceORCL

如果只是连接远程服务器上的数据库,仅使用PL/SQL工具,那么可以把服务全停,这样能省点内存。

oracle数据库导入导出方法的更多相关文章

  1. oracle数据库导入导出命令!(转)

    oracle数据库导入导出命令! Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成 ...

  2. Oracle数据库导入导出命令总结

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

  3. Oracle数据库导入导出命令总结 (详询请加qq:2085920154)

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

  4. Oracle数据库导入导出 imp/exp备份还原

    Oracle数据导入导出imp/exp   Oracle数据导入导出imp/exp 在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于:   imp/exp 用户名/密 ...

  5. oracle11g数据库导入导出方法教程

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/xinxiaoyonng/article/ ...

  6. 转载-Oracle 数据库导入导出 dmp文件

    首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入.导出数据.补充:1.要新建一个数据库: Oracle数据导入导出imp/exp就相当于oracle数据还 ...

  7. Oracle 数据库导入导出 dmp文件

    转自: http://hi.baidu.com/ooofcu/blog/item/ec5d1f9580d41f007af48077.html 首先询问对方数据库的表空间名称和大小,然后在你的oracl ...

  8. oracle数据库导入导出命令!

    Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ...

  9. Oracle数据库导入导出简单备份

    oracle数据库简单备份 方法一: 1.导出 exp c##xmq/pwda@orcl owner=c##xmq file=C:/expdb.dmp buffer=8000 2.导入 2.1.删除原 ...

随机推荐

  1. Leecode刷题之旅-C语言/python-88合并两个有序数组

    /* * @lc app=leetcode.cn id=88 lang=c * * [88] 合并两个有序数组 * * https://leetcode-cn.com/problems/merge-s ...

  2. (数据科学学习手札31)基于Python的网络数据采集(初级篇)

    一.简介 在实际的业务中,我们手头的数据往往难以满足需求,这时我们就需要利用互联网上的资源来获取更多的补充数据,但是很多情况下,有价值的数据往往是没有提供源文件的直接下载渠道的(即所谓的API),这时 ...

  3. R语言绘图:时间序列分析 ggplot2绘制ACF PACF

    R语言真是博大精深 方法一 Acf(gold[,2], type = "correlation",lag.max = 100) Acf(gold[,2], type = " ...

  4. 【Java】关于Spring框架的总结 (一)

    本文总结一些关于Spring框架的理解,注意点及基础操作.如果有不对的地方,欢迎批评和建议.大家一起努力吧! Spring 框架简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创 ...

  5. 详解mysql体系结构和存储引擎

    概述 之前整理的一些mysql方面内容,适合做备忘,因为我基本不会去记这些概念性的东西,大家做个了解就可以了. 一.定义数据库和实例 1.数据库: 物理操作系统文件或其他形式文件类型的集合. 在MyS ...

  6. Python字符串处理:过滤字符串中的英文与符号,保留汉字

    使用Python 的re模块,re模块提供了re.sub用于替换字符串中的匹配项. re.sub(pattern, repl, string, count=0) 参数说明: pattern:正则重的模 ...

  7. mock.js中新增测试接口无效,返回404

    项目是使用的npm+vue+mock模拟数据 我碰到的是在mock配置文件中新增接口,但是接口在测试时无效,返回404.但是在前端代码中把新接口换成配置文件中之前就有的,然后测试就正常了. 所以按问题 ...

  8. Linux-Shell脚本编程-学习-8-函数

    在这章往后的学习中,我讲尽可能详细的讲书中讲到的都记录到这里,以便以后方便查看. 什么是函数,函数就是一段代码,这段代码可以在我们需要的位置调用,那么这段代码就叫做函数. 在Shell中,定义一个函数 ...

  9. Linux-Ps命令使用

    ps -ef | grep java ps aux | grep java ps aux 是用BSD的格式来显示Java进程 显示的项目有: USER        PID %CPU %MEM    ...

  10. c# 3D图形处理库

    C#的OpenGL类库SharpGL SharpGL 可以让你在 Windows Forms 或者 WPF 应用中轻松的使用 OpenGL 开发图形应用.更多SharpGL信息 Axiom 3D En ...