Oracle数据泵EXPDP/IMPDP工具使用(按用户导出和导入)

标签: oracle 数据 expdp | 发表时间:2014-05-06 21:57 | 作者:
出处:http://www.iteye.com

1. Oracle环境变量配置

Oracle路径配置
可通过expdp help查看工具使用环境。通常对于未配置Oracle环境变量,会报以下使用错误:

 

UDE-00013: Message 13 not found; No message file for product=RDBMS, facility=UDE
UDE-00019: You may need to set ORACLE_HOME to your Oracle software directory

 出现上述问题是因为无法找到$ORACLE_HOME目录。尝试配置Oracle重要的环境变量, source /home/oracle/.bash_profile重新配置环境试试。

 

 

2. 创建Directory转储文件目录

该目录用来存放转储文件,目录必须存在且用户得有权限写。

 

-- sqlplus
create directory dump_dir as '/home/oracle/oradir';

 

 

当然如果使用的是普通用户来操作数据,你还需要给用户赋权限:

 

grant read, write directory on direcotry crxj_dump_dir to scott;

  查看当前所有Directory

 

 

   select * from dba_directories;

 

 

OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS DUMP_DIR /home/oracle/oradir

注意创建的需要确实存在

当目录不存在会报出如下错误(示例为sys用户):

[oracle@CRXJ_APP_218 bin]$ expdp sys/orcl directory=dump_dir dumpfile=schema_pon.dmp schemas=pon

Export: Release 11.2.0.1.0 - Production on Tue May 6 18:34:36 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

UDE-28009: operation generated ORACLE error 28009
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

Username: sys as sysdba
Password: 

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation

 

此时需要创建该目录

[oracle@CRXJ_APP_218 bin]$ mkdir /home/oracle/oradir
[oracle@CRXJ_APP_218 bin]$ ls /home/oracle/oradir

 

至此配置好环境,也配置好存放转储文件的路径,接下来就可以导入导出了。


示例将使用sys用户,采用按用户模式导出crxj_collect用户下所有结构和数据,并导入到同用户名的另外一个数据下。

按用户(模式)导出

-- expdp username/passwd dirctory=转储文件存放目录 dumpfile=要生成的转储文件名 schemas=用户名(可多个并用逗号分开)
-- 导出CRXJ_COLLECT用户[shell中直接执行]
expdp sys/orcl directory=dump_dir dumpfile=schema_crxj_collect.dmp schemas=crxj_collect

 

[oracle@CRXJ_APP_218 oradir]$ expdp sys/orcl directory=dump_dir dumpfile=schema_crxj_collect.dmp schemas=crxj_collect

Export: Release 11.2.0.1.0 - Production on Tue May 6 20:48:19 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

UDE-28009: operation generated ORACLE error 28009
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

Username: sys as sysdba
Password:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYS"."SYS_EXPORT_SCHEMA_01":  sys/******** AS SYSDBA directory=dump_dir dumpfile=schema_crxj_collect.dmp schemas=crxj_collect
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 1.259 GB
Processing object type SCHEMA_EXPORT/USER
*****省略N多表******
. . exported "CRXJ_COLLECT"."HOST_SESSION"                   0 KB       0 rows
Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
  /home/oracle/oradir/schema_crxj_collect.dmp
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at 20:50:49

[oracle@CRXJ_APP_218 oradir]$

 

导入到指定用户(模式)

由于是导入到远程库,所以还需要创建下转储文件所在目录

-- 省略掉如何把导出的转储文件移动到指定远程库目录下
SQL> create directory dump_dir as '/home/oracle/oradir';

Directory created.

SQL>

 

-- 导入数据
-- impdp 用户名/密码 DIRECTORY=转储文件所在目录 DUMPFILE=带导入的转储文件名 SCHEMAS=待导入的用户(模式)名
impdp sys/orcl DIRECTORY= dump_dir DUMPFILE=schema_crxj_collect.dmp SCHEMAS=CRXJ_COLLECT;

 

因为不要求导出和导入的是同一个用户,所以数据泵这个工具可以方便的在不同用户(模式)见传到数据对象。
数据泵高级操作中可以实现数据对象的逻辑恢复,包括按表、按用户模式(本文即是),按表空间和全库导入导出。

更多内容有待更新,敬请期待。

转载请标明原文链接。

[email protected] :)

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [oracle 数据 expdp] 推荐:

Oracle数据泵EXPDP/IMPDP工具使用(按用户导出和导入)

- - ITeye博客
Oracle路径配置. 可通过expdp help查看工具使用环境. 通常对于未配置Oracle环境变量,会报以下使用错误:. UDE-00013: Message 13 not found; No message file for product=RDBMS, facility=UDE UDE-00019: You may need to set ORACLE_HOME to your Oracle software directory.

监控数据备份恢复完成进度(EXPDP/IMPDP/RMAN)

- - CSDN博客推荐文章
一、查看EXPDP/IMPDP的进度. 当你当如导出的时候,如果数据量比较大,中途有些人会着急,不免想看看进度如何,利用两个视图就可以看:. DBA_DATAPUBMP_JOBS和DBA_DATAPUMP_SESSIONS视图. 格式化只是为了好看,也可以不用,直接用PL/SQL DEVELOPER图形工具.

Oracle 发布 NoSQL 数据库

- 冷月 - 博客园新闻频道
  Oracle 作为全球最大的关系型数据库提供商,在其产品链条中,也加入了 NoSQL 数据库这一环,而且这个新的数据库名字很霸气,就叫 NoSQL Database,想起了当年新浪微博更换 weibo.com 域名之时的一个笑话:. 原来有三家人做面包,张三家的面包叫三张牌面包,李四家的牌子叫李四牌面包,王五家出品的是王五牌面包,而突然有一天,张三家的面包改名了,叫面包牌面包.

Oracle数据库备份

- - Oracle - 数据库 - ITeye博客
(一)、导出/导入(EXPORT/IMPORT).   EXPORT/IMPORT是用来将ORACLE中数据移出/移入数据库.   1、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORT. DUMP FILE),并将重新生成数据库写入文件中.   a.用户模式:导出用户所有对象以及对象中的数据;.

数据批量导入Oracle数据库

- - Oracle - 数据库 - ITeye博客
今天学习了一个新的东西,觉得还挺有意思的,也是从别出COPY 的,. SQL*LOADER是大型数据. 仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL). 现在,我们抛开其理论不谈,用实例来使. 您快速掌握SQL*LOADER的使用方法.   首先,我们认识一下SQL*LOADER.

Oracle数据库资源管理

- - 技术改变世界 创新驱动中国 - 《程序员》官网
一般来说,Oracle数据库都属于中大型的系统,这类系统的用户会话(Session),小则一两百,多则上千,这些用户会话要求Oracle数据库执行的任何指令都需要耗费系统资源,而系统资源毕竟是宝贵且有限的,一旦突然涌进大量的用户会话,对于有限的资源可能会略显不足. 但这些会话必定有轻重缓急之分,对于重要且紧急的用户会话需求理当获得多一点的系统资源,对于一些不重要或不紧急的用户会话,则可以使用较少的系统资源慢慢处理.

Oracle 数据库导入导出

- - CSDN博客推荐文章
使用 exp/imp 导入导出. 开始exp/imp之前, 有以下几点需要注意:. 1)此部分以 oracle 10g为例. 2)exp, imp 是操作系统下一个可执行的文件,存放在/ORACLE_HOME/bin目录下. 所以之间cmd 命令模式下执行就行了. (不需要先连接进sqlplus).

[Oracle] 数据库安全之 - Vault

- - CSDN博客推荐文章
Oracle用了整整一本书来阐述Valut,有兴趣的童鞋可以参考http://docs.oracle.com/cd/E11882_01/server.112/e23090/toc.htm,我个人觉得并不需要对它进行太深入的了解,只有知道有这么一回事就好了. 从宏观方面看,Vault属于Oracle数据库安全领域中-访问控制的部分,可参考《 [Oracle] 数据安全概述》.

Oracle数据库分析函数详解

- - MySQLOPS 数据库与运维自动化技术分享
Oracle数据库分析函数详解. 原创文章,转载请注明: 文章地址 Oracle数据库分析函数详解.

Oracle 数据压缩(Compression) 技术 说明

- - CSDN博客推荐文章
Oracle 11g EE版本中只有: Basic Table Compression ,而 AdvanceCompression Feature需要单独购买. 11g Advanced Compression 有如下特性:. --支持了DML 语句的compress,下面会重点关注. --包括RMAN和expdp/impdp.对数据泵,compress 是inline的,在impdp时不需要进行解压缩,直接导入即可.