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 [email protected]:/opt/u01/app/oracle/dumpdir/20150318.dmp 将檔案複制到本地目前位置。
scp [email protected]:/opt/u01/app/oracle/dumpdir/20150318.dmp /opt/u01/app/oracle 将檔案複制到本地對應的目錄
scp -r /opt/u01/app/oracle [email protected]:/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
解決方法
<a href="http://s4.51cto.com/wyfs02/M01/82/03/wKioL1dHxGCTPMMeAADyAGazTUE294.png-wh_500x0-wm_3-wmp_4-s_1713310584.png" target="_blank"></a>
導出案例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/'; //标黃的部分自己命名
<a href="http://s3.51cto.com/wyfs02/M01/7C/9C/wKioL1bTvD2itpreAAB9rYiGMK4421.png" target="_blank"></a>
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查詢,查詢目前資料庫裡面有哪些已經存在的目錄
<a href="http://s5.51cto.com/wyfs02/M00/7C/9C/wKioL1bTvJLwkkHVAABf2vkjvnw182.png" target="_blank"></a>
通過查詢得知,一共有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