数据泵

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   将对应的目录复制到目标服务器去


导出案例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

样例操作

一、源数据库操作

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/';  //标黄的部分自己命名


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查询,查询目前数据库里面有哪些已经存在的目录

数据泵_第1张图片


通过查询得知,一共有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 删除目录


你可能感兴趣的:(ss)