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;
解决方法
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/'; //标黄的部分自己命名
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查询,查询目前数据库里面有哪些已经存在的目录
通过查询得知,一共有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 删除目录