oracle導(dǎo)入導(dǎo)出_第1頁
oracle導(dǎo)入導(dǎo)出_第2頁
oracle導(dǎo)入導(dǎo)出_第3頁
oracle導(dǎo)入導(dǎo)出_第4頁
oracle導(dǎo)入導(dǎo)出_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ORACLE expdp impdp導(dǎo)出導(dǎo)入命令及數(shù)據(jù)庫備份使用EXPDP和IMPDP時應(yīng)該注意的事項:EXP和IMP是客戶端工具程序,它們既可以在客戶端使用,也可以在服務(wù)端使用。EXPDP和IMPDP是服務(wù)端的工具程序,他們只能在ORACLE服務(wù)端使用,不能在客戶端使用。IMP只適用于EXP導(dǎo)出的文件,不適用于EXPDP導(dǎo)出文件;IMPDP只適用于EXPDP導(dǎo)出的文件,而不適用于EXP導(dǎo)出文件。expdp或impdp命令時,可暫不指出用戶名/密碼實例名 as 身份,然后根據(jù)提示再輸入,如:expdp schemas=scott dumpfile=expdp.dmp DIRECTOR

2、Y=dpdata1;一、創(chuàng)建邏輯目錄,該命令不會在操作系統(tǒng)創(chuàng)建真正的目錄,最好以system等管理員創(chuàng)建。create directory dpdata1 as 'd:testdump'三、給scott用戶賦予在指定目錄的操作權(quán)限,最好以system等管理員賦予。grant read,write on directory dpdata1 to scott;二、查看管理理員目錄(同時查看操作系統(tǒng)是否存在,因為Oracle并不關(guān)心該目錄是否存在,如果不存在,則出錯)select * from dba_directories;四、導(dǎo)出數(shù)據(jù)1)按用戶導(dǎo)expdp scott/tiger

3、orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;2)并行進程parallelexpdp scott/tigerorcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名導(dǎo)expdp scott/tigerorcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;4)按查詢條件導(dǎo)expdp scott/tigerorcl directory=dpdata1 dumpfile=expdp

4、.dmp Tables=emp query='WHERE deptno=20'5)按表空間導(dǎo)expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)導(dǎo)整個數(shù)據(jù)庫expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、導(dǎo)入數(shù)據(jù)(還原)1)導(dǎo)到指定用戶下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scot

5、t;2)改變表的ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)導(dǎo)入表空間impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)導(dǎo)入數(shù)據(jù)庫impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加數(shù)據(jù)impdp system/mana

6、ger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION  /imp/exp 導(dǎo)入說明數(shù)據(jù)導(dǎo)出:1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:daochu.dmp中   exp system/managerTEST file=d:daochu.dmp full=y   exp iframework/iframeworkorcl file=d:iframework_001.dmp FULL=y2 將數(shù)據(jù)庫中sy

7、stem用戶與sys用戶的表導(dǎo)出   exp system/managerTEST file=d:daochu.dmp owner=(system,sys)exp iframework/iframeworkorcl file=d:iframework_001.dmp  owner=iframework3 將數(shù)據(jù)庫中的表inner_notify、notify_staff_relat導(dǎo)出    exp aichannel/aichannelTESTDB2 file= d:datanewsmgnt.dmp tables=(inner_not

8、ify,notify_staff_relat)4 將數(shù)據(jù)庫中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出   exp system/managerTEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"  上面是常用的導(dǎo)出,對于壓縮,既用winzip把dmp文件可以很好的壓縮。  也可以在上面命令后面 加上 compress=y 來實現(xiàn)。數(shù)據(jù)的導(dǎo)入1 將D:daochu.dmp 中的數(shù)據(jù)導(dǎo)入 TES

9、T數(shù)據(jù)庫中。   imp system/managerTEST  file=d:daochu.dmp   imp aichannel/aichannelHUST full=y  file=d:datanewsmgnt.dmp ignore=y   上面可能有點問題,因為有的表已經(jīng)存在,然后它就報錯,對該表就不進行導(dǎo)入。   在后面加上 ignore=y 就可以了。2 將d:daochu.dmp中的表table1 導(dǎo)入imp system/managerTEST  file=d:daoc

10、hu.dmp  tables=(table1)基本上上面的導(dǎo)入導(dǎo)出夠用了。不少情況要先是將表徹底刪除,然后導(dǎo)入。注意:操作者要有足夠的權(quán)限,權(quán)限不夠它會提示。數(shù)據(jù)庫時可以連上的??梢杂胻nsping TEST 來獲得數(shù)據(jù)庫TEST能否連上。6、 參數(shù)說明-導(dǎo)入impdp1、TABBLE_EXISTS_ACTION=SKIP | APPEND | TRUNCATE | FRPLACE 當(dāng)設(shè)置該選項為SKIP時,導(dǎo)入作業(yè)會跳過已存在表處理下一個對象;當(dāng)設(shè)置為APPEND時,會追加數(shù)據(jù),為TRUNCATE時,導(dǎo)入作業(yè)會截斷表,然后 為其追加新數(shù)據(jù);當(dāng)設(shè)置為REPLACE時,導(dǎo)入作業(yè)會刪除已

11、存在表,重建表病追加數(shù)據(jù),注意,TRUNCATE選項不適用與簇表和 NETWORK_LINK選項;2、REMAP_SCHEMA該選項用于將源方案的所有對象裝載到目標方案中:REMAP_SCHEMA=source_schema:target_schema3、REMAP_TABLESPACE將源表空間的所有對象導(dǎo)入到目標表空間中:REMAP_TABLESPACE=source_tablespace:target:tablespace4、REMAP_DATAFILE該選項用于將源數(shù)據(jù)文件名轉(zhuǎn)變?yōu)槟繕藬?shù)據(jù)文件名,在不同平臺之間搬移表空間時可能需要該選項.REMAP_DATAFIEL=source_da

12、tafile:target_datafile 七、參數(shù)說明-導(dǎo)出expdp1、CONTENT:該選項用于指定要導(dǎo)出的內(nèi)容.默認值為ALLCONTENT=ALL | DATA_ONLY | METADATA_ONLY當(dāng)設(shè)置CONTENT為ALL 時,將導(dǎo)出對象定義及其所有數(shù)據(jù).為DATA_ONLY時,只導(dǎo)出對象數(shù)據(jù),為METADATA_ONLY時,只導(dǎo)出對象定義2、DIRECTORY:指定轉(zhuǎn)儲文件和日志文件所在的目錄:DIRECTORY=directory_object3、EXCLUDE:該選項用于指定執(zhí)行操作時釋放要排除對象類型或相關(guān)對象    

13、;    EXCLUDE=object_type:name_clause ,.        Object_type用于指定要排除的對象類型,name_clause用于指定要排除的具體對象.EXCLUDE和INCLUDE不能同時使用        Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW4、INCLUDE:導(dǎo)出時包含指定的類型  

14、;      (例:INCLUDE=TABLE_DATA,             INCLUDE=TABLE:"LIKE 'TAB%'"             INCLUDE=TABLE:”NOT LIKE TAB%”)    &

15、#160;        EXCLUDE:導(dǎo)出時排除的數(shù)據(jù)類型(例:EXCLUDE=TABLE:EMP)5、FILESIZE:指定導(dǎo)出文件的最大尺寸,默認為0,(表示文件尺寸沒有限制)(單位為bytes).6、JOB_NAME:此次導(dǎo)出進程使用的名稱,方便跟蹤查詢(可選)7、FLASHBACK_SCN:指定導(dǎo)出特定SCN時刻的表數(shù)據(jù)        FLASHBACK_SCN=scn_value:Scn_value用于標識SCN值.FLASHBACK_SCN

16、和FLASHBACK_TIME不能同時使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp        FLASHBACK_SCN=3585238、FLASHBACK_TIME:指定導(dǎo)出特定時間點的表數(shù)據(jù):FLASHBACK_TIME=“TO_TIMESTAMP(time_value)”        Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHB

17、ACK_TIME=“TO_TIMESTAMP(25-08-2004 14:35:00,DD-MM-YYYY HH24:MI:SS)”9、TABLESPACE:指定一個表空間導(dǎo)出.10、QUERY=schema. table_name: query_clause        Schema用于指定方案名,table_name用于指定表名,query_clause用于指定條件限制子句.QUERY選項不能與 CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等選項同時

18、使用.        Expdp scott/tiger directory=dump dumpfiel=a.dmp Tables=emp query=WHERE deptno=20 11、PARALLEL:并行操作: 指定執(zhí)行導(dǎo)出操作的并行進程個數(shù),默認值為1您可以通過PARALLEL 參數(shù)為導(dǎo)出使用一個以上的線程來顯著地加速作業(yè)。每個線程創(chuàng)建一個單獨的轉(zhuǎn)儲文件,因此參數(shù)dumpfile 應(yīng)當(dāng)擁有和并行度一樣多的項目。您可以指定通配符作為文件名,而不是顯式地輸入各個文件名,例如:expdp ananda/abc1

19、23 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export注意:dumpfile 參數(shù)擁有一個通配符%U,它指示文件將按需要創(chuàng)建,格式將為expCASES_nn.dmp,其中nn 從01 開始,然后按需要向上增加。在并行模式下,狀態(tài)屏幕將顯示四個工作進程。(在默認模式下,只有一個進程是可見的)所有的工作進程同步取出數(shù)據(jù),并在狀態(tài)屏幕上顯示它們的進度。分離訪問數(shù)據(jù)文件和轉(zhuǎn)儲目錄文件系統(tǒng)的輸入/輸出通道是很重要的。否則,與維護Data Pump 作業(yè)相關(guān)的開銷可能超過并行線程

20、的效益,并因此而降低性能。并行方式只有在表的數(shù)量多于并行值并且表很大時才是有效的。關(guān)于DIRECOTRY參數(shù):這個目錄需要有sysdba用戶創(chuàng)建,具體語法見本文最前面,創(chuàng)建完畢后,授權(quán)給其他用戶使用,read ,write權(quán)限,然后創(chuàng)建物理目錄說到這里,有必要說明一下DB建立完畢后,系統(tǒng)有幾個缺省的目錄SQL> select * from dba_directories; OWNER                 &#

21、160;        DIRECTORY_NAME- -DIRECTORY_PATH-SYS                            ORACLE_OCM_CONFIG_DIRF:appRomanproduct11.2.0dbhome_1/cc

22、r/state SYS                            DATA_PUMP_DIRF:appRoman/admin/orcl/dpdump/ OWNER             

23、             DIRECTORY_NAME- -DIRECTORY_PATH-SYS                            XMLDIRc:adeaime_dadvfh0169ora

24、cle/rdbms/xml DATA_PUMP_DIR這個目錄,是系統(tǒng)缺省目錄,如不單獨指定目錄,dmp文件會在這里,但默認這個目錄其他用戶是沒有權(quán)限的  數(shù)據(jù)庫備份建議系統(tǒng)過渡后,每周進行一次備份?;蛘咴跀?shù)據(jù)表發(fā)生重大改變前,對要改變的數(shù)據(jù)表進行備份。執(zhí)行以下步驟,進行備份。在命令行里,敲入“cmd”,回車,進入命令行窗口。在窗口中,輸入:exp mas/123456mas系統(tǒng)提示:輸入數(shù)組提取緩沖區(qū)大小: 4096 >可以直接回車;系統(tǒng)提示:導(dǎo)出文件: EXPDAT.DMP>此處輸入導(dǎo)出文件的位置,其路徑必須存在,Oracle在這里不會自動建立路徑,但可以建立文件名。

25、備份文件以dmp作為后綴。輸入內(nèi)容如:e:workmas_db_090925v1.dmp 回車系統(tǒng)提示: (1)E(完整的數(shù)據(jù)庫),(2)U(用戶) 或 (3)T(表): (2)U > u此處可以輸入u,也可以直接回車,因為系統(tǒng)此時默認的是U系統(tǒng)提示:導(dǎo)出權(quán)限(yes/no):yes>回車系統(tǒng)提示:導(dǎo)出表數(shù)據(jù)(yes/no):yes>回車系統(tǒng)提示:壓縮區(qū)(yes/no):yes>回車系統(tǒng)提示:要導(dǎo)出的用戶: (RETURN 以退出) > mas系統(tǒng)提示:要導(dǎo)出的用戶: (RETURN 以退出) > 回車此時系統(tǒng)會自動進行備份本文對Oracle數(shù)據(jù)的導(dǎo)入導(dǎo)出

26、imp ,exp 兩個命令進行了介紹, 并對其相應(yīng)的參數(shù)進行了說明,然后通過一些示例進行演練,加深理解.文章最后對運用這兩個命令可能出現(xiàn)的問題(如權(quán)限不夠,不同oracle版本)進行了探討,并提出了相應(yīng)的解決方案;本文部分內(nèi)容摘錄自網(wǎng)絡(luò),感謝網(wǎng)友的經(jīng)驗總結(jié);一.說明   oracle 的exp/imp命令用于實現(xiàn)對數(shù)據(jù)庫的導(dǎo)出/導(dǎo)入操作;   exp命令用于把數(shù)據(jù)從遠程數(shù)據(jù)庫服務(wù)器導(dǎo)出至本地,生成dmp文件;   imp命令用于把本地的數(shù)據(jù)庫dmp文件從本地導(dǎo)入到遠程的Oracle數(shù)據(jù)庫中。二.語法可以通過在命令行輸入 imp hel

27、p=y 獲取imp的語法信息:=  C:Documents and Settingsauduser>imp help=y  Import: Release .1 - Production on 星期二 5月 20 18:21:57 2008  (c) Copyright 2001 Oracle Corporation.  All rights reserved.  可以通過輸入 IMP 命令和您的用戶名/口令  后接用戶名/口令的命令:  例程: IMP SCOTT/TIGER  或者, 可以通

28、過輸入 IMP 命令和各種參數(shù)來控制“導(dǎo)入”  按照不同參數(shù)。要指定參數(shù),您可以使用關(guān)鍵字:  格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,.,vlaueN)  例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N  或 TABLES=(T1: P1,T1: P2),如果 T1 是分區(qū)表  USERID 必須是命令行中的第一個參數(shù)。  關(guān)鍵字  說明(默認)     

29、60;  關(guān)鍵字      說明(默認)  -  USERID   用戶名/口令           FULL         導(dǎo)入整個文件 (N)  BUFFER   數(shù)據(jù)緩沖區(qū)大小         FROM

30、USER     所有人用戶名列表  FILE     輸入文件 (EXPDAT.DMP)    TOUSER       用戶名列表  SHOW     只列出文件內(nèi)容 (N) TABLES      表名列表  IGNORE   忽略創(chuàng)建錯誤 (N)   

31、 RECORDLENGTH  IO 記錄的長度  GRANTS  導(dǎo)入權(quán)限 (Y)           INCTYPE      增量導(dǎo)入類型  INDEXES 導(dǎo)入索引 (Y)          COMMIT       提交數(shù)組插入 (N)  R

32、OWS    導(dǎo)入數(shù)據(jù)行 (Y)        PARFILE      參數(shù)文件名  LOG      屏幕輸出的日志文件   CONSTRAINTS  導(dǎo)入限制 (Y)  DESTROY             &#

33、160;  覆蓋表空間數(shù)據(jù)文件 (N)  INDEXFILE              將表/索引信息寫入指定的文件  SKIP_UNUSABLE_INDEXES  跳過不可用索引的維護 (N)  FEEDBACK               每 x 行顯示進度 (0) 

34、; TOID_NOVALIDATE        跳過指定類型 ID 的驗證  FILESIZE               每個轉(zhuǎn)儲文件的最大大小  STATISTICS             始終導(dǎo)入預(yù)計算的統(tǒng)計信息  RESUMAB

35、LE              遇到與空格有關(guān)的錯誤時掛起 (N)  RESUMABLE_NAME         用來標識可恢復(fù)語句的文本字符串  RESUMABLE_TIMEOUT      RESUMABLE 的等待時間  COMPILE     

36、60;          編譯過程, 程序包和函數(shù) (Y)  下列關(guān)鍵字僅用于可傳輸?shù)谋砜臻g  TRANSPORT_TABLESPACE 導(dǎo)入可傳輸?shù)谋砜臻g元數(shù)據(jù) (N)  TABLESPACES 將要傳輸?shù)綌?shù)據(jù)庫的表空間  DATAFILES 將要傳輸?shù)綌?shù)據(jù)庫的數(shù)據(jù)文件  TTS_OWNERS 擁有可傳輸表空間集中數(shù)據(jù)的用戶=同樣可以通過輸入 exp help=y 獲取exp的語法信息  Microsoft Windows XP 版本 5.1.

37、2600  (C) 版權(quán)所有 1985-2001 Microsoft Corp.  C:Documents and Settingsauduser>exp help=y  Export: Release .1 - Production on 星期二 5月 20 18:26:34 2008  (c) Copyright 2001 Oracle Corporation.  All rights reserved.  通過輸入 EXP 命令和用戶名/口令,您可以  后接用戶名/口令的命令:  例程:

38、EXP SCOTT/TIGER  或者,您也可以通過輸入跟有各種參數(shù)的 EXP 命令來控制“導(dǎo)出”  按照不同參數(shù)。要指定參數(shù),您可以使用關(guān)鍵字:  格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,.,valueN)  例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)  或 TABLES=(T1: P1,T1: P2),如果 T1 是分區(qū)表  USERID 必須是命令行中的第一個參數(shù)。  關(guān)鍵字  說明(默認)

39、0;       關(guān)鍵字      說明(默認)  -  USERID   用戶名/口令           FULL         導(dǎo)出整個文件 (N)  BUFFER   數(shù)據(jù)緩沖區(qū)大小    

40、     OWNER     所有者用戶名列表  FILE       輸出文件 (EXPDAT.DMP)  TABLES       表名稱列表  COMPRESS   導(dǎo)入到一個區(qū) (Y) RECORDLENGTH IO 記錄的長度  GRANTS  導(dǎo)出權(quán)限 (Y)     

41、;      INCTYPE      增量導(dǎo)出類型  INDEXES    導(dǎo)出索引 (Y)         RECORD       跟蹤增量導(dǎo)出 (Y)  DIRECT     直接路徑 (N)      

42、;      TRIGGERS     導(dǎo)出觸發(fā)器 (Y)  LOG        屏幕輸出的日志文件  STATISTICS   分析對象 (ESTIMATE)  ROWS    導(dǎo)出數(shù)據(jù)行 (Y)        PARFILE     

43、 參數(shù)文件名  CONSISTENT 交叉表一致性    CONSTRAINTS  導(dǎo)出約束條件 (Y)  FEEDBACK             每 x 行顯示進度 (0)  FILESIZE             每個轉(zhuǎn)儲文件的最大大小  FLASHBACK_SCN

44、60;       用于回調(diào)會話快照的 SCN  FLASHBACK_TIME       用來獲得最接近于指定時間的 SCN 的時間  QUERY                用來導(dǎo)出表的子集的選擇子句  RESUMABLE      

45、      遇到與空格有關(guān)的錯誤時掛起 (N)  RESUMABLE_NAME       用來標識可恢復(fù)語句的文本字符串  RESUMABLE_TIMEOUT    RESUMABLE 的等待時間  TTS_FULL_CHECK       對 TTS 執(zhí)行完全或部分相關(guān)性檢查  TABLESPACES    

46、60;     要導(dǎo)出的表空間列表  TRANSPORT_TABLESPACE 導(dǎo)出可傳輸?shù)谋砜臻g元數(shù)據(jù) (N)  TEMPLATE 調(diào)用 iAS 模式導(dǎo)出的模板名稱三.使用示例3.1 數(shù)據(jù)導(dǎo)出: 1 將數(shù)據(jù)庫SampleDB完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到E:SampleDB.dmp中   exp system/managerTestDB file=E:sampleDB.dmp full=y 2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出   e

47、xp system/managerTestDB file=E:sampleDB.dmp  owner=(system,sys) 3 將數(shù)據(jù)庫中的表 TableA,TableB 導(dǎo)出    exp system/managerTestDB  file=E:sampleDB.dmp  tables=(TableA,TableB) 4 將數(shù)據(jù)庫中的表tableA中的字段filed1 值為 "王五" 的數(shù)據(jù)導(dǎo)出   exp system/managerTestDB  fil

48、e=E:sampleDB.dmp  tables=(tableA)  query=' where filed1='王五'    如果想對dmp文件進行壓縮,可以在上面命令后面 加上 compress=y 來實現(xiàn)。3.2 數(shù)據(jù)的導(dǎo)入 1 將備份數(shù)據(jù)庫文件中的數(shù)據(jù)導(dǎo)入指定的數(shù)據(jù)庫SampleDB 中,如果 SampleDB 已存在該表,則不再導(dǎo)入;   imp system/managerTEST  file=E:sampleDB.dmp  full=y  igno

49、re=y  2 將d:daochu.dmp中的表table1 導(dǎo)入 imp system/managerTEST  file=E:sampleDB.dmp  tables=(table1)3. 導(dǎo)入一個完整數(shù)據(jù)庫 imp system/manager file=bible_db log=dible_db full=y ignore=y4. 導(dǎo)入一個或一組指定用戶所屬的全部表、索引和其他對象 imp system/manager file=seapark log=seapark fromuser=seapark imp

50、0;system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)5. 將一個用戶所屬的數(shù)據(jù)導(dǎo)入另一個用戶 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)6. 導(dǎo)入一個表 imp system/mana

51、ger file=tank log=tank fromuser=seapark TABLES=(a,b)7. 從多個文件導(dǎo)入 imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G full=y8. 使用參數(shù)文件 imp system/manager parfile=bible_tables.parbible_tables.par參數(shù)文件: #Import the sample tables used for the Oracle8

52、i Database Administrator'sBible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import參數(shù)文件示例見附錄9. 增量導(dǎo)入 imp system./manager inctype= RECTORE FULL=Y  FILE=A 不少情況下要先將表徹底刪除,然后導(dǎo)入。 四.參數(shù)說明4.1、8i EXP常用選項 1、FULL,這個用于導(dǎo)出整個數(shù)據(jù)庫,在ROWS=N一起使用時,可以導(dǎo)出整個數(shù)據(jù)庫的結(jié)構(gòu)。例如: exp sy

53、s file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y 2、BUFFER和FEEDBACK,在導(dǎo)出比較多的數(shù)據(jù)時,我會考慮設(shè)置這兩個參數(shù)。例如: exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=WO4,OK_YT 3、FILL和LOG,這兩個參數(shù)分別指定備份的DMP名稱和LOG名稱,包括文件名和目錄,例子見上面。 需要說明的是,EXP可以直接備份到

54、磁帶中,即使用FILE=/dev/rmt0(磁帶設(shè)備名),但是一般我們都不這么做,原因有二:一、這 樣做的速度會慢很多,二、現(xiàn)在一般都是使用磁帶庫的,不建議直接對磁帶進行操作。至于沒有使用磁帶庫的朋友可以考慮和UNIX的TAR結(jié)合使用。 如果你真想使用EXP直接到磁帶,你可以參考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”(文檔號:30428.1),該文中有詳細解釋。 4、COMPRESS參數(shù)將在導(dǎo)出的同時合并碎塊,盡量把數(shù)據(jù)壓縮到initial的EXTENT里,默認是N,一般建議使用。DIRECT 參數(shù)將告訴EXP直接讀取數(shù)據(jù)

55、,而不像傳統(tǒng)的EXP那樣,使用SELECT來讀取表中的數(shù)據(jù),這樣就減少了SQL語句處理過程。一般也建議使用。不過有些 情況下DIRECT參數(shù)是無法使用的。 5、如何使用SYSDBA執(zhí)行EXP/IMP? 這是一個很現(xiàn)實的問題,有時候我們需要使用SYSDBA來執(zhí)行EXP/IMP,如進行傳輸表空間的EXP/IMP,以及在9i下用SYS用戶來執(zhí)行EXP/IMP時,都需要使用SYSDBA才可。我們可以使用下面方式連入EXP/IMP: exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t

56、 rows=n 6、QUERY參數(shù)后面跟的是where條件,值得注意的是,整個where子句需要使用""括起來,where子句的寫法和SELECT中相同,如果是UNIX平臺所有"和'都需要使用u26469屏蔽它們的特殊含義: exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 and c2=gototop" 如果是windows平臺,則使用下面的格式:      e

57、xp c/cncn file=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""4.2、8i IMP常用選項 1、FROMUSER和TOUSER,使用它們實現(xiàn)將數(shù)據(jù)從一個SCHEMA中導(dǎo)入到另外一個SCHEMA中。 2、IGNORE、GRANTS和INDEXES,其中IGNORE參數(shù)將忽略表的存在,繼續(xù)導(dǎo)入,這個對于需要調(diào)整表的存儲參數(shù)時很有用, 我們可以先根據(jù)實際情況用合理的存儲參數(shù)建好表,然后直接導(dǎo)入數(shù)據(jù)。而GRA

58、NTS和INDEXES則表示是否導(dǎo)入授權(quán)和索引,如果想使用新的存儲參數(shù)重 建索引,或者為了加快到入速度,我們可以考慮將INDEXES設(shè)為N,而GRANTS一般都是Y。 另外一個EXP/IMP都有的參數(shù)是PARFILE,它是用來定義EXP/IMP的參數(shù)文件,也就是說,上面的參數(shù)都可以寫在一個參數(shù)文件中,但我們一般很少使用。4.4、Oracle9i EXP功能描述 Oracle9i EXP在原有的基礎(chǔ)上新增了部分新的參數(shù),按功能主要分為以下幾個部分: 1、OBJECT_CONSISTENT - 用于設(shè)置EXP對象為只讀以保持對象的一致性。默認是N。 2、FL

59、ASHBACK_SCN和FLASHBACK_TIME - 用于支持FLASHBACK功能而新增。 3、RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT - 用于支持RESUMABLE空間分配而新增。 4、TTS_FULL_CHECK - 用于在傳輸表空間時使用依賴性檢查。 5、TEMPLATE - 用于支持iAS。 6、TABLESPACES - 設(shè)置表空間導(dǎo)出模式。個人覺得對于一般用戶而言,這個才是新增參數(shù)中最實用的一個,可以讓用戶在原來的FULL、OWNER、TABLES的基礎(chǔ)上多了一種選擇,使得EXP更加靈活。五

60、、不同版本的EXP/IMP問題? 一般來說,從低版本導(dǎo)入到高版本問題不大,麻煩的是將高版本的數(shù)據(jù)導(dǎo)入到低版本中,在Oracle9i之前,不同版本Oracle之間的EXP/IMP可以通過下面的方法來解決: 1、在高版本數(shù)據(jù)庫上運行底版本的catexp.sql; 2、使用低版本的EXP來導(dǎo)出高版本的數(shù)據(jù); 3、使用低版本的IMP將數(shù)據(jù)庫導(dǎo)入到底版本數(shù)據(jù)庫中; 4、在高版本數(shù)據(jù)庫上重新運行高版本的catexp.sql腳本。 但在9i中,上面的方法并不能解決問題。如果直接使用底版本EXP/IMP會出現(xiàn)如下錯誤: EXP-00008:

61、 ORACLE error %lu encountered ORA-00904: invalid column name 這已經(jīng)是一個公布的BUG,需要等到Oracle10.0才能解決,BUG號為2261,你可以到METALINK上去查看有關(guān)此BUG的詳細信息。 BUG歸BUG,我們的工作還是要做,在沒有Oracle的支持之前,我們就自己解決。在Oracle9i中執(zhí)行下面的SQL重建exu81rls視圖即可。 CREATE OR REPLACE view exu81rls (objown,objnam,policy,polown,polsch,

62、polfun,stmts,chkopt,enabled,spolicy) AS select , , r.pname, r.pfschma, r.ppname, r.pfname, decode(bitand(r.stmt_type,1), 0,'', 'SELECT,') | decode(bitand(r.stmt_type,2), 0,'', 'INSERT,') | decode(bitand(r.stmt_type,4), 0,'', 

63、9;UPDATE,') | decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'), r.check_opt, r.enable_flag, DECODE(BITAND(r.stmt_type, 16), 0, 0, 1) from user$ u, obj$ o, rls$ r where u.user# = o.owner# and r.obj# = o.obj# and (uid = 0 or uid = o.owner# or&#

64、160;exists ( select * from session_roles where role='SELECT_CATALOG_ROLE') ) / grant select on sys.exu81rls to public; /Exp imp導(dǎo)入導(dǎo)出 數(shù)據(jù)導(dǎo)出 1 將數(shù)據(jù)庫SampleDB完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到E:/SampleDB.dmp中   exp system/managerTestDB file=E:/sampleDB.dmp full=y  2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出   exp system/managerTestDB file=E:/sampleDB.dmp  owner=(system,sys) 3 將數(shù)據(jù)庫中的表 TableA,TableB 導(dǎo)出   

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論