数据泵-阿里云开发者社区

开发者社区> 科技小能手> 正文

数据泵

简介:
+关注继续查看

http://www.cnblogs.com/zlja/archive/2010/10/08/2449379.html


创建导出路径        1.create directory dump_ehreos as '/u01/app/oracle/dump/ehreos';

查看导出路径        2.select * from dba_directories;

分配路径操作权限 3.grant read,write on directory dump_ehreos to ehreos;

建立真正的目录4.mkdir /u01/app/oracle/dump

建立真正的目录5.mkdir /u01/app/oracle/dump/ehreos

导出表格模式()6.expdp  dprm/thisisCRM directory=dump_ehreos dumpfile=dumpehreos.dmp logfile=ehreos.log tables=ehreos.t_auth_function,dbwlhr.t_hr_webserviceinfo,ehreos.ac_menu; #导出ehreos.t_auth_function,dbwlhr.t_hr_webserviceinfo,ehreos.ac_menu表

7.impdp  directory=DUMP_EHREOS0317  dumpfile=dumpehreosmenu.dmp logfile=imp150218.log  schemas=ehreos tables=ac_menu  #如果是内容想替换掉,加上这句:TABLE_EXISTS_ACTION=REPLACE。scp  root@192.168.20.115:/opt/u01/app/oracle/dumpdir/20150318.dmp   将文件复制到本地当前位置。

scp  root@192.168.20.115:/opt/u01/app/oracle/dumpdir/20150318.dmp  /opt/u01/app/oracle 将文件复制到本地对应的目录

scp  -r /opt/u01/app/oracle  root@192.168.20.115:/opt/u01/app/oracle/dumpdir/20150318.dmp   将对应的目录复制到目标服务器去

操作前提--不授权会报错

grant read,write on directory DATA_PUMP_DIR to wics;


GRANT EXP_FULL_DATABASE TO wics;



报错示例:

[oracle@localhost dpdump]$ expdp wics/wics123 directory=DATA_PUMP_DIR  dumpfile=cims0527.dmp 


logfile=cims0527.log  parallel=4 full=y


Export: Release 11.2.0.3.0 - Production on Fri May 27 09:49:25 2016


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


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORA-31631: privileges are required

ORA-39161: Full database jobs require privileges


解决方法

GRANT EXP_FULL_DATABASE TO wics;

wKioL1dHxGCTPMMeAADyAGazTUE294.png-wh_50

解决方法

grant read,write on directory DATA_PUMP_DIR to wics;



导出案例1,按表导出

expdp scott/tiger directory=dump_scott  dumpfile=tab.dmp  logfile=scott.log  tables=dept,emp

导出案例2,按用户导出

expdp scott/tiger directory=dump_scott  dumpfile=dumpscott.dmp  logfile=scott.log  schemas=scott

导出案例3,全库导出,且并行导出

expdp scott/tiger directory=dump_scott  dumpfile=full.dmp logfile=scott.log  parallel=4 

full=y




oracle按照sysdba导入导出、导入数据不需要密码

1、按照表名从一个库导出后,导入另外一个库

expdp \'/ as sysdba\'  dumpfile=part.dmp directory=DATA_PUMP_DIR  tables=表名,表名  logfile=part.log

impdp \'/ as sysdba\'  dumpfile=part.dmp  directory=DATA_PUMP_DIR   logfile=part.log   TABLE_EXISTS_ACTION=replace

2、按照数据库用户名从一个库导出后,导入另外一个库

expdp \'/ as sysdba\'  SCHEMAS=EID,EVS,JAM,FBP,APPS(用户名)   directory=DATA_PUMP_DIR  dumpfile=ljw.dmp logfile=ljw.log 

impdp \'/ as sysdba\'  full=y  directory=DATA_PUMP_DIR  dumpfile=ljw2.dmp logfile=ljw2.log TABLE_EXISTS_ACTION=replace

3、按照从一个库全库导出后,导入另外一个库

expdp \'/ as sysdba\' full=y directory=DATA_PUMP_DIR  dumpfile=ljw2.dmp logfile=ljw2.log

impdp \'/ as sysdba\' full=y directory=DATA_PUMP_DIR  dumpfile=ljw2.dmp logfile=ljw2.log TABLE_EXISTS_ACTION=replace



impdp \'/ as sysdba\'  directory=DATA_PUMP_DIR dumpfile=part.dmp  logfile=part.log  TABLE_EXISTS_ACTION=replace REMAP_SCHEMA=bse:pdahd 


REMAP_TABLESPACE=BSE_DATA:PDA_DATA,BSE_INDEX:PDA_INDEX

REMAP_SCHEMA=bse:pdahd  导出的数据是属于bse用户的,导入的时候让他属于pdahd用户

REMAP_TABLESPACE=BSE_DATA:PDA_DATA,BSE_INDEX:PDA_INDEX 导出的数据是在BSE_DATA,BSE_INDEX表空间,导入的时候由于目标数据库没有那个表空间,因此导入的目标数据库放在PDA_DATA,PDA_INDEX这两个表空间中。


样例操作

一、源数据库操作

1、切换用户

[root@crmtest ~]# su – oracle

2、连接数据库

[oracle@crmtest ~]$ sqlplus / as sysdba

SQL>  conn / as sysdba

3、创建导出路径

SQL> create directory DATA_PUMP_DIR as ' /u01/app/oracle/admin/crmdb/dpdump/';  //标黄的部分自己命名

wKioL1bTvD2itpreAAB9rYiGMK4421.png


5、导出数据(整个库)

(1)按照用户导出数据

[oracle@crmtest ~]$  expdp  dpcrm/thisisCRM directory=DATA_PUMP_DIR  dumpfile=dyg.dmp  logfile=dyg.log  schemas=dpcrm

(说明:dpcrm/thisisCRM 按照用户导出,用户的账号密码;

directory=DATA_PUMP_DIR   ***的是上面查询出来路径的名字,不是路径的目录内容

dumpfile=dyg.dmp  导出后的文件名字,自己命名,但是文件名后缀必须是 .dmp

logfile=dyg.log   导出的日志的文件名字,自己命名,但是文件名后缀必须是 .log

schemas=dpcrm  导出的模式,这里是按照用户导出的,所有是 用户名)

备注:此命令导出数据花费时间比较长,需要等待。

6、将源库中导出的数据导入到目标数据库,一定要更改文件的所属主为oracle,所属组为:oinstall

7、导入数据库(整个库)

首先使用sql查询,查询目前数据库里面有哪些已经存在的目录

wKioL1bTvJLwkkHVAABf2vkjvnw182.png


通过查询得知,一共有4个,选择其中一个,例如选择第三个“DATA_PUMP_DIR”,需要通过ftp文件传输,把源数据通过expdb命令生成的dmp包和log日志文件导入目标数据的 /u01/app/oracle/admin/crmdb/dpdump/ 路径下面

[oracle@crmtest ~]$ impdp  dpcrm/ thisisCRM  directory= DATA_PUMP_DIR  dumpfile=dyg.dmp schemas=dpcrm logfile=dyg.log TABLE_EXISTS_ACTION=replace

(说明:

Directory为数据文件存放地址

Dumpfile导出的文件名称设置

Logfile 导出的文件日志记录

Schemas 实例名称,导出的时候写的啥,导入的时候就写啥

TABLE_EXISTS_ACTION 表存在后的操作,replace直接替换

2.  数据泵导出

数据泵导出的方法有多种,这里我们只介绍两种:

 单个用户方案导出

Expdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log

 数据库全库导出

Expdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log

实例: expdp dpcrmdb/dpcrmdb  full=y  directory=DUMP_DIR  dumpfile=dyg.dmp  logfile=dyg.log  ignore=y

3. 数据泵导入

按以上导出方式:

 单个用户方案导入

impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST  dumpfile=X.dmp  logfile=X.log  ignore=y

 数据库全库导入

impdp [用户名]/[密码]@[主机字符窜] full=y  directory=TEST  dumpfile=X.dmp  logfile=X.log  ignore=y

 实例: impdp  dpcrmdb/dpcrmdb  full=y  directory=DUMP_DIR  dumpfile=dyg.dmp  logfile=dyg.log  ignore=y TABLE_EXISTS_ACTION=replace

注意:directory的位置

drop directory test 删除目录



本文转自aaa超超aaa 51CTO博客,原文链接:http://blog.51cto.com/10983441/1745940

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11016 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10474 0
Github Visualization / Github 数据可视化
Github Visualization / Github 数据可视化 效果: 一个简单的Github数据展示网页, 目前功能有: Tech: 使用到的技术: Purpose: TODO: Githu...
2649 0
基于DataHub采集数据的营销报告分析
本案例是基于阿里云上的DataHub收集营销数据,并通过MaxCompute对营销数据进行分析。下面主要介绍如何用DataHub收集营销数据,以及在MaxCompute中如何对数据进行分析。
1739 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载