1 將數(shù)據(jù)庫(kù)TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:\daochu.dmp中\(zhòng)x0d\x0a exp system/manager@TEST file=d:\daochu.dmp full=y\x0d\x0a2 將數(shù)據(jù)庫(kù)中system用戶與sys用戶的表導(dǎo)出\x0d\x0a exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)\x0d\x0a3 將數(shù)據(jù)庫(kù)中的表table1 、table2導(dǎo)出\x0d\x0a exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) \x0d\x0a4 將數(shù)據(jù)庫(kù)中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出\x0d\x0a exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"\x0d\x0a \x0d\x0a 上面是常用的導(dǎo)出,對(duì)于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。\x0d\x0a 不過(guò)在上面命令后面 加上 compress=y 就可以了
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、埇橋區(qū)網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、埇橋區(qū)網(wǎng)絡(luò)營(yíng)銷、埇橋區(qū)企業(yè)策劃、埇橋區(qū)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供埇橋區(qū)建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
你可以在cmd底下試試exp指令。\x0d\x0aexp username/password@tnsname owner=要導(dǎo)出的用戶名 file=.....\x0d\x0aexp具體的參數(shù)你可以到網(wǎng)上詳細(xì)查一下。 \x0d\x0a\x0d\x0a基本語(yǔ)法和實(shí)例: \x0d\x0a 1、EXP: \x0d\x0a 有三種主要的方式(完全、用戶、表) \x0d\x0a 1、完全: \x0d\x0a EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y \x0d\x0a 如果要執(zhí)行完全導(dǎo)出,必須具有特殊的權(quán)限 \x0d\x0a 2、用戶模式: \x0d\x0a EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC \x0d\x0a 這樣用戶SONIC的所有對(duì)象被輸出到文件中。 \x0d\x0a 3、表模式:\x0d\x0a EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC) \x0d\x0a 這樣用戶SONIC的表SONIC就被導(dǎo)出
1 導(dǎo)出:
只導(dǎo)出3張表的結(jié)構(gòu):
連帶數(shù)據(jù)導(dǎo)出:
2 導(dǎo)人:
或者
1 在執(zhí)行imp導(dǎo)人操作時(shí),可能會(huì)報(bào)出創(chuàng)建觸發(fā)器錯(cuò)誤,原因權(quán)限不足。 此時(shí)需要登錄sysdba,進(jìn)行授權(quán)操作。
2 當(dāng)導(dǎo)出的表上建立了物化視圖時(shí),導(dǎo)出時(shí)不會(huì)報(bào)錯(cuò),但在導(dǎo)入時(shí),就可能會(huì)報(bào)錯(cuò):
這種錯(cuò)誤情況,暫定為是ORACLE的本身存在的bug。當(dāng)遇到這種情況時(shí),就采用下面提到的導(dǎo)出sql文件的方式進(jìn)行操作。
1 導(dǎo)出:
注意: 在第2步操作中,要勾選 創(chuàng)建表 的選項(xiàng),要不然執(zhí)行sql文件時(shí),沒有創(chuàng)建表的sql語(yǔ)句。
2 導(dǎo)入:
Tools(工具) ---- 導(dǎo)入表 ,之后依次出現(xiàn)如下界面:
1不要勾包括存儲(chǔ)。(未驗(yàn)證!)
2 當(dāng)表中包含 類型為CLOB 的字段時(shí),無(wú)法使用sql文件形式進(jìn)行導(dǎo)出操作,此時(shí)需要使用dmp文件形式進(jìn)行導(dǎo)出和導(dǎo)入操作。
語(yǔ)法:
示例:
應(yīng)用截圖:
本人愚鈍,初次使用時(shí),都不知道在哪里輸入這導(dǎo)出語(yǔ)句,所以專門貼出來(lái),以備像我一樣的小伙伴,少走些彎路.
語(yǔ)法:
示例:
應(yīng)用截圖:
迄今為止 導(dǎo)出/導(dǎo)入工具集仍是跨多個(gè)平臺(tái)轉(zhuǎn)移數(shù)據(jù)所需勞動(dòng)強(qiáng)度最小的首選實(shí)用工具 盡管人們常常抱怨它速度太慢 導(dǎo)入只是將每條記錄從導(dǎo)出轉(zhuǎn)儲(chǔ)文件中讀出來(lái) 然后使用常見的 INSERT INTO 命令將其插入到目標(biāo)表中 因此導(dǎo)入可能是個(gè)很慢的過(guò)程 這一點(diǎn)并不讓人感到吃驚
進(jìn)入 Oracle Data Pump Oracle Database g 中的導(dǎo)出/導(dǎo)入工具包的更新更快的同類工具 它被設(shè)計(jì)來(lái)成倍地加速這個(gè)過(guò)程
Data Pump 反映了整個(gè)導(dǎo)出/導(dǎo)入過(guò)程的徹底革新 它不是使用常見的 SQL 命令 而是應(yīng)用專用 API 來(lái)以更快得多的速度加載和卸載數(shù)據(jù) 在我的測(cè)試中 我看到導(dǎo)出性能比在直接模式下提高了 倍 導(dǎo)入過(guò)程性能提高了 倍 此外 與使用導(dǎo)出實(shí)用工具不同 它還能夠只取出特定類型的對(duì)象(如過(guò)程)
Data Pump 導(dǎo)出
這個(gè)新的實(shí)用工具稱為 expdp 以和原來(lái)的導(dǎo)出 exp 區(qū)分開 在本例中 我們將用 Data Pump 來(lái)導(dǎo)出一個(gè)大表 CASES 大小約為 GB Data Pump 在服務(wù)器端使用文件處理來(lái)創(chuàng)建和讀取文件 因此 目錄作為位置使用 在這種情況下 我們將使用文件系統(tǒng) /u /dpdata 來(lái)保存轉(zhuǎn)儲(chǔ)文件
create directory dpdata as /u /dpdata ; grant read write on directory dpdata to ananda;
接下來(lái) 我們將導(dǎo)出數(shù)據(jù)
expdp ananda/abc tables=CASES directory=DPDATA dumpfile=expCASES dmp job_name=CASES_EXPORT
讓我們來(lái)分析該命令的各個(gè)部分 用戶 ID/口令組合 表和轉(zhuǎn)儲(chǔ)文件參數(shù)的意義是顯而易見的 與原來(lái)的導(dǎo)出不同 文件是在服務(wù)器(不是客戶端)上創(chuàng)建的 位置由目錄參數(shù)值 DPDATA 指定 它指向之前創(chuàng)建的 /u /dpdata 這個(gè)進(jìn)程還在目錄參數(shù)指定的位置上創(chuàng)建一個(gè)日志文件(同樣在服務(wù)器上) 默認(rèn)地 這個(gè)進(jìn)程使用一個(gè)名稱為 DPUMP_DIR 的目錄 因此可以創(chuàng)建它來(lái)代替 DPDATA
注意上面的參數(shù) job_name 這是個(gè)特殊的參數(shù) 在原來(lái)的導(dǎo)出中沒有 所有的 Data Pump 工作都通過(guò)作業(yè)來(lái)完成 Data Pump 作業(yè) — 與 DBMS 作業(yè)不同 — 只是服務(wù)器進(jìn)程 它代表主進(jìn)程處理數(shù)據(jù) 主進(jìn)程(稱為主控制進(jìn)程)通過(guò)高級(jí)隊(duì)列 (AQ) 來(lái)協(xié)調(diào)這項(xiàng)工作 它通過(guò)在運(yùn)行期內(nèi)創(chuàng)建的一個(gè)特殊的表(稱為主表)來(lái)實(shí)現(xiàn)這個(gè)目的 在我們的例子中 如果您在 expdp 運(yùn)行時(shí)檢查用戶 ANANDA 的模式 您將注意到一個(gè)表 CASES_EXPORT 的存在(對(duì)應(yīng)參數(shù) job_name) 當(dāng) expdp 結(jié)束時(shí) 這個(gè)表被丟棄
導(dǎo)出監(jiān)控
當(dāng) Data Pump Export (DPE) 運(yùn)行時(shí) 按 Control C 它將阻止消息在屏幕上顯示 但不停止導(dǎo)出進(jìn)程本身 相反 它將顯示 DPE 提示符(如下所示) 進(jìn)程現(xiàn)在被認(rèn)為處于 交互式 模式
Export
這種方法允許在這個(gè) DPE 作業(yè)上輸入幾條命令 要查看概要 在提示符下使用 STATUS 命令
Export status Job:CASES_EXPORT Operation:EXPORT Mode:TABLE State:EXECUTING Degree: Job Error Count: Dump file:/u /dpdata /expCASES dmp bytes written = Worker Status: State EXECUTING Object Schema:DWOWNER Object Name:CASES Object Type:TABLE_EXPORT/TBL_TABLE_DATA/TABLE/TABLE_DATA Completed Objects: Total Objects: Completed Rows:
記住 這只是狀態(tài)顯示 導(dǎo)出在后臺(tái)工作 要繼續(xù)在屏幕上查看消息 從 Export 提示符下使用命令 CONTINUE_CLIENT
并行操作
您可以通過(guò) PARALLEL 參數(shù)為導(dǎo)出使用一個(gè)以上的線程來(lái)顯著地加速作業(yè) 每個(gè)線程創(chuàng)建一個(gè)單獨(dú)的轉(zhuǎn)儲(chǔ)文件 因此參數(shù) dumpfile 應(yīng)當(dāng)擁有和并行度一樣多的項(xiàng)目 您可以指定通配符作為文件名 而不是顯式地輸入各個(gè)文件名 例如
expdp ananda/abc tables=CASES directory=DPDATA dumpfile=expCASES_%U dmp parallel= job_name=Cases_Export
注意 dumpfile 參數(shù)擁有一個(gè)通配符 %U 它指示文件將按需要?jiǎng)?chuàng)建 格式將為 expCASES_nn dmp 其中 nn 從 開始 然后按需要向上增加
在并行模式下 狀態(tài)屏幕將顯示四個(gè)工作進(jìn)程 (在默認(rèn)模式下 只有一個(gè)進(jìn)程是可見的 )所有的工作進(jìn)程同步取出數(shù)據(jù) 并在狀態(tài)屏幕上顯示它們的進(jìn)度
分離訪問(wèn)數(shù)據(jù)文件和轉(zhuǎn)儲(chǔ)目錄文件系統(tǒng)的輸入/輸出通道是很重要的 否則 與維護(hù) Data Pump 作業(yè)相關(guān)的開銷可能超過(guò)并行線程的效益 并因此而降低性能 并行方式只有在表的數(shù)量多于并行值并且表很大時(shí)才是有效的
數(shù)據(jù)庫(kù)監(jiān)控
您還可以從數(shù)據(jù)庫(kù)視圖獲得關(guān)于運(yùn)行的 Data Pump 作業(yè)的更多信息 監(jiān)控作業(yè)的主視圖是 DBA_DATAPUMP_JOBS 它將告訴您在作業(yè)上有多少個(gè)工作進(jìn)程(列 DEGREE)在工作 另一個(gè)重要的視圖是 DBA_DATAPUMP_SESSIONS 當(dāng)它與上述視圖和 V$SESSION 結(jié)合時(shí)將給出主前臺(tái)進(jìn)程的會(huì)話 SID
select sid serial# from v$session s dba_datapump_sessions d where s saddr = d saddr;
這條指令顯示前臺(tái)進(jìn)程的會(huì)話 更多有用的信息可以從警報(bào)日志中獲得 當(dāng)進(jìn)程啟動(dòng)時(shí) MCP 和工作進(jìn)程在警報(bào)日志中顯示如下
kupprdp:master process DM started with pid= OS id= to execute SYS KUPM$MCP MAIN( CASES_EXPORT ANANDA ); kupprdp:worker process DW started with worker id= pid= OS id= to execute SYS KUPW$WORKER MAIN( CASES_EXPORT ANANDA ); kupprdp:worker process DW started with worker id= pid= OS id= to execute SYS KUPW$WORKER MAIN( CASES_EXPORT ANANDA );
它顯示為數(shù)據(jù)泵操作啟動(dòng)的會(huì)話的 PID 您可以用以下查詢找到實(shí)際的 SID
select sid program from v$session where paddr in (select addr from v$process where pid in ( ));
PROGRAM 列將對(duì)應(yīng)警報(bào)日志文件中的名稱顯示進(jìn)程 DM (為主進(jìn)程)或 DW (為工作進(jìn)程) 如果一個(gè)工作進(jìn)程使用了并行查詢 比如說(shuō) SID 您可以在視圖 V$PX_SESSION 中看到它 并把它找出來(lái) 它將為您顯示從 SID 代表的工作進(jìn)程中運(yùn)行的所有并行查詢會(huì)話
select sid from v$px_session where qcsid = ;
從視圖 V$SESSION_LONGOPS 中可以獲得其它的有用信息來(lái)預(yù)測(cè)完成作業(yè)將花費(fèi)的時(shí)間
select sid serial# sofar totalwork from v$session_longops where opname = CASES_EXPORT and sofar != totalwork;
列 totalwork 顯示總工作量 該列的 sofar 數(shù)量被加和到當(dāng)前的時(shí)刻 — 因而您可以用它來(lái)估計(jì)還要花多長(zhǎng)時(shí)間
Data Pump 導(dǎo)入
不過(guò) 數(shù)據(jù)導(dǎo)入性能是 Data Pump 真正出色的地方 要導(dǎo)入先前導(dǎo)出的數(shù)據(jù) 我們將使用
impdp ananda/abc directory=dpdata dumpfile=expCASES dmp job_name=cases_import
導(dǎo)入進(jìn)程的默認(rèn)行為是創(chuàng)建表和所有相關(guān)的對(duì)象 然后在表已存在時(shí)產(chǎn)生一個(gè)錯(cuò)誤 如果您想把數(shù)據(jù)添加到一個(gè)現(xiàn)有的表中 您可以在上述命令行中使用 TABLE_EXISTS_ACTION=APPEND
和使用 Data Pump 導(dǎo)入一樣 在進(jìn)程中按 Control C 將進(jìn)入 Date Pump Import (DPI) 的交互模式 同樣 提示符是 Import
處理特定對(duì)象
您是否有過(guò)只需要從一個(gè)用戶導(dǎo)出特定的過(guò)程 以在一個(gè)不同的數(shù)據(jù)庫(kù)或用戶中重新創(chuàng)建這些過(guò)程的情況?與傳統(tǒng)的導(dǎo)出實(shí)用工具不同 Data Pump 允許您只導(dǎo)出特定類型的對(duì)象 例如 以下命令讓您只導(dǎo)出過(guò)程 而不導(dǎo)出其它任何東西 — 不導(dǎo)出表 視圖 甚至函數(shù)
expdp ananda/iclaim directory=DPDATA dumpfile=expprocs dmp include=PROCEDURE
要只導(dǎo)出一些特定的對(duì)象 — 比如說(shuō) 函數(shù) FUNC 和過(guò)程 PROC — 您可以使用
expdp ananda/iclaim directory=DPDATA dumpfile=expprocs dmp include=PROCEDURE:\ =\ PROC \ \ FUNCTION:\ =\ FUNC \ \
這個(gè)轉(zhuǎn)儲(chǔ)文件充當(dāng)了源對(duì)象的一個(gè)備份 您甚至可以用它來(lái)創(chuàng)建 DDL 腳本 以供之后使用 一個(gè)稱為 SQLFILE 的特殊參數(shù)允許創(chuàng)建 DDL 腳本文件
impdp ananda/iclaim directory=DPDATA dumpfile=expprocs dmp sqlfile=procs sql
該指令在 DPDATA 指定的目錄中創(chuàng)建一個(gè)名稱為 procs sql 的文件 并將對(duì)象的腳本包含在導(dǎo)出轉(zhuǎn)儲(chǔ)文件中 這種方法幫助您快速地在另一個(gè)模式中創(chuàng)建源對(duì)象
利用參數(shù) INCLUDE 允許您從轉(zhuǎn)儲(chǔ)文件中定義要包含或排除的對(duì)象 您可以使用子句 INCLUDE=TABLE: LIKE TAB% 來(lái)僅導(dǎo)出那些名稱以 TAB 開頭的表 類似地 您可以使用結(jié)構(gòu) INCLUDE=TABLE: NOT LIKE TAB% 來(lái)排除所有名稱以 TAB 開頭的表 作為另一種選擇 您可以使用 EXCLUDE 參數(shù)來(lái)排除特定的對(duì)象
lishixinzhi/Article/program/Oracle/201311/17547
數(shù)據(jù)導(dǎo)出:
1將數(shù)據(jù)庫(kù)TEST完全導(dǎo)出,用戶名system密碼manager導(dǎo)出到D:\daochu.dmp中
expsystem/manager@TESTfile=d:\daochu.dmpfull=y
2將數(shù)據(jù)庫(kù)中system用戶與sys用戶的表導(dǎo)出
expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)
3將數(shù)據(jù)庫(kù)中的表table1、table2導(dǎo)出
expsystem/manager@TESTfile=d:\daochu.dmptables=(table1,table2)
4將數(shù)據(jù)庫(kù)中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出
expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\"wherefiled1like?'00%'\"