日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
完美實現(xiàn)——IMP如何高效導(dǎo)入數(shù)據(jù)庫表格(imp如何把表格導(dǎo)入數(shù)據(jù)庫)

IMP是Oracle數(shù)據(jù)庫中的一種數(shù)據(jù)導(dǎo)入工具,它可以將數(shù)據(jù)從文本文件或另一個數(shù)據(jù)庫中導(dǎo)入到Oracle數(shù)據(jù)庫表格中。在工作中,我們經(jīng)常需要從其他系統(tǒng)中導(dǎo)入數(shù)據(jù)到Oracle數(shù)據(jù)庫中,而IMP是一種非常方便、高效的導(dǎo)入方式。本文將介紹如何使用IMP實現(xiàn)高效的數(shù)據(jù)庫表格導(dǎo)入。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供玉樹企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、網(wǎng)站制作H5建站、小程序制作等業(yè)務(wù)。10年已為玉樹眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

一、準(zhǔn)備工作

在使用IMP導(dǎo)入數(shù)據(jù)之前,我們需要先做好一些準(zhǔn)備工作。

1.確保目標(biāo)數(shù)據(jù)庫已創(chuàng)建

在向目標(biāo)數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)之前,我們需要先確認(rèn)該數(shù)據(jù)庫已經(jīng)創(chuàng)建。如果沒有,我們需要先創(chuàng)建目標(biāo)數(shù)據(jù)庫,包括表格結(jié)構(gòu)、索引、觸發(fā)器等。

2.準(zhǔn)備導(dǎo)入的數(shù)據(jù)

同時,我們需要準(zhǔn)備好將要導(dǎo)入的數(shù)據(jù)。這些數(shù)據(jù)可以來自于文本文件、CSV文件、其他數(shù)據(jù)庫以及Excel等文件格式。確保數(shù)據(jù)的格式與數(shù)據(jù)庫表格的結(jié)構(gòu)相對應(yīng)。

3.賦予IMP用戶權(quán)限

Oracle數(shù)據(jù)庫中有一個名為IMP_FULL_DATABASE的角色,它包含了可以使用IMP工具所需的所有權(quán)限。在實際使用中,我們可以為IMP用戶授予該角色的權(quán)限,或者通過手動分配權(quán)限來創(chuàng)建必要的授權(quán)。

二、創(chuàng)建IMP導(dǎo)入命令

在準(zhǔn)備工作完成之后,我們需要創(chuàng)建IMP導(dǎo)入命令。IMP導(dǎo)入命令是一種控制IMP工具如何將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫表格中的指令集。

下面是一個示例IMP導(dǎo)入命令:

imp system/password fromfile=c:\employee.txt touser=scott file=c:\employee.log

上面的命令將從文本文件c:\employee.txt中導(dǎo)入數(shù)據(jù),將數(shù)據(jù)導(dǎo)入到用戶scott的表格中。導(dǎo)入的結(jié)果將被記錄在文件c:\employee.log中。

在創(chuàng)建IMP導(dǎo)入命令時,我們需要指定以下信息:

1.源文件所在位置

在IMP導(dǎo)入命令中,通過fromfile參數(shù)指定導(dǎo)入的源文件所在路徑。例如,如果源文件位于c:\employee.txt下,則可以使用fromfile=c:\employee.txt指定該文件。

2.目標(biāo)數(shù)據(jù)庫

使用touser參數(shù)指定將數(shù)據(jù)導(dǎo)入到哪個數(shù)據(jù)庫用戶的表格中。例如,如果想要將數(shù)據(jù)導(dǎo)入到用戶scott的表格中,則可以使用touser=scott。

3.導(dǎo)入日志文件

使用file參數(shù)指定將數(shù)據(jù)導(dǎo)入后所生成的日志文件的路徑。IMP會將導(dǎo)入的過程中發(fā)生的錯誤和其他有用信息記錄在該日志文件中。例如,可以使用file=c:\employee.log來指定日志文件的路徑。

三、運行IMP導(dǎo)入命令

在創(chuàng)建IMP導(dǎo)入命令后,我們可以使用cmd命令行工具運行該命令。

1.先關(guān)閉Oracle服務(wù)

在運行前,需要檢查Oracle服務(wù)是否已經(jīng)啟動,在cmd窗口中輸入net stop oracle,停止Oracle服務(wù)。

2.打開cmd窗口

在cmd窗口中輸入IMP命令,可以看到IMP工具開始導(dǎo)入數(shù)據(jù)。

如:

C:\>imp system/password fromfile=c:\employee.txt touser=scott file=c:\employee.log

Import: Release 9.2.0.1.0 – Production on Fri Apr 19 16:03:43 2023

Copyright (c) 1982, 2023, Oracle Corporation. All rights reserved.

Connected to: Oracle Corporation Enterprise Edition Release 9.2.0.1.0 – Production With the Partitioning, OLAP and Oracle Data Mining options

erver Release 9.2.0.1.0 – Production

Export file created by EXPORT:V09.02.00 via conventional path

import done in US7ASCII character set and AL16UTF16 NCHAR character set . importing SCOTT’s objects into SCOTT

Import terminated successfully without warnings.

即可完成數(shù)據(jù)導(dǎo)入。

四、IMP導(dǎo)入細(xì)節(jié)技巧

1.設(shè)置IGNORE=Y參數(shù)

在使用IMP導(dǎo)入文件時,可能會遇到一些錯誤,在這種情況下,IMP 工具會提示我們是否中止導(dǎo)入工作。有時候,我們并不需要中止導(dǎo)入,這個時候可以添加IGNORE=Y參數(shù),強制導(dǎo)入。

如:

C:\>imp system/password fromfile=c:\employee.txt touser=scott file=c:\employee.log ignore=y

2.使用REMAP_TABLE參數(shù)

在使用IMP導(dǎo)入表格時,如果目標(biāo)數(shù)據(jù)庫中已經(jīng)存在同名表格,我們需要使用REMAP_TABLE參數(shù)來指定導(dǎo)入的表格名稱。

如:

C:\>imp system/password fromfile=c:\employee.txt touser=scott file=c:\employee.log remap_table=EMPLOYEE:EMPLOYEE_TEMP

上面的命令將源文件中的EMPLOYEE表格導(dǎo)入到目標(biāo)數(shù)據(jù)庫的EMPLOYEE_TEMP表格中。

3.使用INDEXFILE參數(shù)

在使用IMP導(dǎo)入數(shù)據(jù)庫時,IMP 工具默認(rèn)會導(dǎo)入表格結(jié)構(gòu)、索引和觸發(fā)器等。如果希望導(dǎo)入表格結(jié)構(gòu)但不導(dǎo)入其他對象,可以使用INDEXFILE參數(shù)。

如:

C:\>imp system/password fromfile=c:\employee.txt touser=scott file=c:\employee.log indexfile=c:\employee.sql

在這個命令中,使用indexfile參數(shù)指定將表格信息導(dǎo)出到c:\employee.sql文件中。之后,我們可以選擇性地導(dǎo)入表格信息。

IMP是一種非常方便、高效的數(shù)據(jù)導(dǎo)入工具,它可以使我們在實際工作中快速完成數(shù)據(jù)導(dǎo)入。通過本文的介紹,希望能為讀者提供IMP使用的一些基本技巧,使大家可以更加高效地完成數(shù)據(jù)庫表格導(dǎo)入。

相關(guān)問題拓展閱讀:

  • Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp命令 10g以上expdp/impdp命令 詳細(xì)的 詳細(xì)的 謝謝

Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp命令 10g以上expdp/impdp命令 詳細(xì)的 詳細(xì)的 謝謝

這個百度上一搜一大把,都說的很詳細(xì),樓主沒搜過,

數(shù)據(jù)導(dǎo)出:

1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:daochu.dmp中

exp system/manager@TEST file=d:daochu.dmp full=y

2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出

exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)

3 將數(shù)據(jù)庫中的表inner_notify、notify_staff_relat導(dǎo)出

exp aichannel/aichannel@TESTDB2 file= d:datanewgnt.dmp tables=(inner_notify,notify_staff_relat)

4 將數(shù)據(jù)庫中的表table1中的字段filed1以”00″打頭的數(shù)據(jù)導(dǎo)出

exp system/manager@TEST 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)入 TEST數(shù)據(jù)庫中。

imp system/manager@TEST file=d:daochu.dmp

imp aichannel/aichannel@HUST full=y file=d:datanewgnt.dmp ignore=y

上面可能有點問題,因為有的表已經(jīng)存在,然后它就報錯,對該表就不進(jìn)行導(dǎo)入。

在后面加上 ignore=y 就可以了。

2 將d:daochu.dmp中的表table1 導(dǎo)入

imp system/manager@TEST file=d:daochu.dmp tables=(table1)

基本上上面的導(dǎo)入導(dǎo)出夠用了。不少情況要先是將表徹底刪除,然后導(dǎo)入。

注意:

操作者要有足夠的權(quán)限,權(quán)限不夠它會提示。

數(shù)據(jù)庫時可以連上的。可以用tnsping TEST 來獲得數(shù)據(jù)庫TEST能否連上。

當(dāng)然,上面的方法在導(dǎo)出數(shù)據(jù)時可能會導(dǎo)出很大的包,那是因為你的用戶可能在授權(quán)的時候授予了DBA的權(quán)限,所以可以采用下面方法來進(jìn)行數(shù)據(jù)庫備份:

數(shù)據(jù)庫備份

建議系統(tǒng)過渡后,每周進(jìn)行一次備份?;蛘咴跀?shù)據(jù)表發(fā)生重大改變前,對要改變的數(shù)據(jù)表進(jìn)行備份。

執(zhí)行以下步驟,進(jìn)行備份。

在命令行里,敲入“cmd”,回車,進(jìn)入命令行窗口。

在窗口中,輸入:

exp mas/123456@mas

系統(tǒng)提示:輸入數(shù)組提取緩沖區(qū)大小: 4096 >

可以直接回車;

系統(tǒng)提示:導(dǎo)出文件: EXPDAT.DMP>

此處輸入導(dǎo)出文件的位置,其路徑必須存在,Oracle在這里不會自動建立路徑,但可以建立文件名。備份文件以dmp作為后綴。

輸入內(nèi)容如:e:\work\mas_db_090925v1.dmp 回車

系統(tǒng)提示: (1)E(完整的數(shù)據(jù)庫),(2)U(用戶) 或 (3)T(表): (2)U > u

此處可以輸入u,也可以直接回車,因為系統(tǒng)此時默認(rèn)的是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)會自動進(jìn)行備份

本文對Oracle數(shù)據(jù)的導(dǎo)入導(dǎo)出 imp ,exp 兩個命令進(jìn)行了介紹, 并對其相應(yīng)的參數(shù)進(jìn)行了說明,然后通過一些示例進(jìn)行演練,加深理解.

文章最后對運用這兩個命令可能出現(xiàn)的問題(如權(quán)限不夠,不同oracle版本)進(jìn)行了探討,并提出了相應(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ù)從遠(yuǎn)程數(shù)據(jù)庫服務(wù)器導(dǎo)出至本地,生成dmp文件;

imp命令用于把本地的數(shù)據(jù)庫dmp文件從本地導(dǎo)入到遠(yuǎn)程的Oracle數(shù)據(jù)庫中。

二.語法

可以通過在命令行輸入 imp help=y 獲取imp的語法信息:

=============================================================================

C:\Documents and Settings\auduser>imp help=y

Import: Release 9.0.1.1.1 – Production on 星期二 5月 20 18:21:

(c) Copyright 2023 Oracle Corporation. All rights reserved.

可以通過輸入 IMP 命令和您的用戶名/口令

后接用戶名/口令的命令:

例程: IMP SCOTT/TIGER

或者, 可以通過輸入 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)鍵字 說明(默認(rèn))關(guān)鍵字 說明(默認(rèn))

——

USERID 用戶名/口令FULL導(dǎo)入整個文件 (N)

BUFFER 數(shù)據(jù)緩沖區(qū)大小FROMUSER 所有人用戶名列表

FILE 輸入文件 (EXPDAT.DMP) TOUSER用戶名列表

SHOW 只列出文件內(nèi)容 (N) TABLES 表名列表

IGNORE 忽略創(chuàng)建錯誤 (N) RECORDLENGTH IO 記錄的長度

GRANTS 導(dǎo)入權(quán)限 (Y)INCTYPE 增量導(dǎo)入類型

INDEXES 導(dǎo)入索引 (Y)COMMIT提交數(shù)組插入 (N)

ROWS 導(dǎo)入數(shù)據(jù)行 (Y)PARFILE 參數(shù)文件名

LOG 屏幕輸出的日志文件 CONSTRAINTS 導(dǎo)入限制 (Y)

DESTROY 覆蓋表空間數(shù)據(jù)文件 (N)

INDEXFILE將表/索引信息寫入指定的文件

SKIP_UNUSABLE_INDEXES 跳過不可用索引的維護 (N)

FEEDBACK 每 x 行顯示進(jìn)度 (0)

TOID_NOVALIDATE跳過指定類型 ID 的驗證

FILESIZE 每個轉(zhuǎn)儲文件的更大大小

STATISTICS始終導(dǎo)入預(yù)計算的統(tǒng)計信息

RESUMABLE遇到與空格有關(guān)的錯誤時掛起 (N)

RESUMABLE_NAME用來標(biāo)識可恢復(fù)語句的文本字符串

RESUMABLE_TIMEOUT RESUMABLE 的等待時間

COMPILE 編譯過程, 程序包和函數(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

(C) 版權(quán)所有Microsoft Corp.

C:\Documents and Settings\auduser>exp help=y

Export: Release 9.0.1.1.1 – Production on 星期二 5月 20 18:26:

(c) Copyright 2023 Oracle Corporation. All rights reserved.

通過輸入 EXP 命令和用戶名/口令,您可以

后接用戶名/口令的命令:

例程: 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)鍵字 說明(默認(rèn))關(guān)鍵字 說明(默認(rèn))

——

USERID 用戶名/口令FULL導(dǎo)出整個文件 (N)

BUFFER 數(shù)據(jù)緩沖區(qū)大小OWNER 所有者用戶名列表

FILE輸出文件 (EXPDAT.DMP) TABLES表名稱列表

COMPRESS 導(dǎo)入到一個區(qū) (Y) RECORDLENGTH IO 記錄的長度

GRANTS 導(dǎo)出權(quán)限 (Y)INCTYPE 增量導(dǎo)出類型

INDEXES 導(dǎo)出索引 (Y)RECORD跟蹤增量導(dǎo)出 (Y)

DIRECT 直接路徑 (N)TRIGGERS 導(dǎo)出觸發(fā)器 (Y)

LOG屏幕輸出的日志文件 STATISTICS 分析對象 (ESTIMATE)

ROWS 導(dǎo)出數(shù)據(jù)行 (Y)PARFILE 參數(shù)文件名

CONSISTENT 交叉表一致性 CONSTRAINTS 導(dǎo)出約束條件 (Y)

FEEDBACK每 x 行顯示進(jìn)度 (0)

FILESIZE每個轉(zhuǎn)儲文件的更大大小

FLASHBACK_SCN用于回調(diào)會話快照的 SCN

FLASHBACK_TIME用來獲得最接近于指定時間的 SCN 的時間

QUERY 用來導(dǎo)出表的子集的選擇子句

RESUMABLE遇到與空格有關(guān)的錯誤時掛起 (N)

RESUMABLE_NAME用來標(biāo)識可恢復(fù)語句的文本字符串

RESUMABLE_TIMEOUT RESUMABLE 的等待時間

TTS_FULL_CHECK對 TTS 執(zhí)行完全或部分相關(guān)性檢查

TABLESPACES要導(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/manager@TestDB file=E:\sampleDB.dmp full=y

2 將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出

exp system/manager@TestDB file=E:\sampleDB.dmp owner=(system,sys)

3 將數(shù)據(jù)庫中的表 TableA,TableB 導(dǎo)出

exp system/manager@TestDB file=E:\sampleDB.dmp tables=(TableA,TableB)

4 將數(shù)據(jù)庫中的表tableA中的字段filed1 值為 “王五” 的數(shù)據(jù)導(dǎo)出

exp system/manager@TestDB file=E:\sampleDB.dmp tables=(tableA) query=’ where filed1=’王五’

如果想對dmp文件進(jìn)行壓縮,可以在上面命令后面 加上 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/manager@TEST file=E:\sampleDB.dmp full=y ignore=y

2 將d:\daochu.dmp中的表table1 導(dǎo)入

imp system/manager@TEST file=E:\sampleDB.dmp tables=(table1)

3. 導(dǎo)入一個完整數(shù)據(jù)庫

imp system/manager file=bible_db log=dible_db full=y ignore=y

4. 導(dǎo)入一個或一組指定用戶所屬的全部表、索引和其他對象

imp system/manager file=seapark log=seapark fromuser=seapark imp

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/manager 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=y

8. 使用參數(shù)文件

imp system/manager parfile=bible_tables.par

bible_tables.par參數(shù)文件:

#Import the sample tables used for the Oracle8i Database Administrator’s

Bible. 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 sys 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_2023.dmp log=yw97_2023_3.log feedback=10000 buffer=tables=WO4,OK_YT

3、FILL和LOG,這兩個參數(shù)分別指定備份的DMP名稱和LOG名稱,包括文件名和目錄,例子見上面。

需要說明的是,EXP可以直接備份到磁帶中,即使用FILE=/dev/rmt0(磁帶設(shè)備名),但是一般我們都不這么做,原因有二:一、這樣做的速度會慢很多,二、現(xiàn)在一般都是使用磁帶庫的,不建議直接對磁帶進(jìn)行操作。至于沒有使用磁帶庫的朋友可以考慮和UNIX的TAR結(jié)合使用。

如果你真想使用EXP直接到磁帶,你可以參考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”(文檔號:30428.1),該文中有詳細(xì)解釋。

4、COMPRESS參數(shù)將在導(dǎo)出的同時合并碎塊,盡量把數(shù)據(jù)壓縮到initial的EXTENT里,默認(rèn)是N,一般建議使用。DIRECT參數(shù)將告訴EXP直接讀取數(shù)據(jù),而不像傳統(tǒng)的EXP那樣,使用SELECT來讀取表中的數(shù)據(jù),這樣就減少了SQL語句處理過程。一般也建議使用。不過有些情況下DIRECT參數(shù)是無法使用的。

5、如何使用SYSDBA執(zhí)行EXP/IMP?

這是一個很現(xiàn)實的問題,有時候我們需要使用SYSDBA來執(zhí)行EXP/IMP,如進(jìn)行傳輸表空間的EXP/IMP,以及在9i下用SYS用戶來執(zhí)行EXP/IMP時,都需要使用SYSDBA才可。我們可以使用下面方式連入EXP/IMP:

exp “‘sys/sys as sysdba'” file=1.dmp tables=gototop.t 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平臺,則使用下面的格式:

exp c/c@ncn 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ù)。而GRANTS和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對象為只讀以保持對象的一致性。默認(rèn)是N。

2、FLASHBACK_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更加靈活。

五、不同版本的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: ORACLE error %lu encountered

ORA-00904: invalid column name

這已經(jīng)是一個公布的BUG,需要等到Oracle10.0才能解決,BUG號為2261,你可以到METALINK上去查看有關(guān)此BUG的詳細(xì)信息。

BUG歸BUG,我們的工作還是要做,在沒有Oracle的支持之前,我們就自己解決。在Oracle9i中執(zhí)行下面的SQL重建exu81rls視圖即可。

CREATE OR REPLACE view exu81rls

(objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy)

AS select u.name, o.name, 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,”, ‘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

exists ( select * from session_roles where role=’SELECT_CATALOG_ROLE’)

)

/

grant select on sys.exu81rls to public;

/

六、其他問題

本文只討論了Oracle8i和9i中的EXP/IMP的一些情況,對于之前的版本,在8.0.X中,除了QUERY參數(shù)不能用外,其它差別不大。針對沒有QUERY的情況,我們可以先在數(shù)據(jù)庫中使用查詢條件建立臨時中間表,然后使用EXP導(dǎo)出這個中間表即可。至于Oracle7因為目前使用的人較少,gototop不打算在此做詳細(xì)解釋了,如果讀者朋友有需求,你可以參考Metalink文檔:“Overview of Export and Import in Oracle7”(文檔號:61949.1)。關(guān)于EXP/IMP的詳細(xì)參數(shù)信息你可以通過EXP/IMP HELP=Y來獲得。

另外關(guān)于傳輸表空間的更多信息可以參考下面的Metelink文檔,本文不再詳述。

Transportable Tablespaces — An Example to setup and use.

Perform tablespace point-in-time recovery using Transportable Tablespace.

在進(jìn)行并行EXP/IMP的時候,如果IMP過程建索引的話不建議同時運行5個以上的IMP,如果你想加快速度,可以在IMP的時候不建索引,這樣只要內(nèi)存允許,可以多跑幾個,然后是SQL腳本創(chuàng)建需要的索引。

注意:

操作者要有足夠的權(quán)限,權(quán)限不夠它會提示。

數(shù)據(jù)庫是否可以連上, 可以用tnsping TestDB 來獲得數(shù)據(jù)庫 TestDB 能否連上。

附錄一:

給用戶增加導(dǎo)入數(shù)據(jù)權(quán)限的操作

之一, 啟動sql*puls

第二,以system/manager登陸

第三,create user 用戶名 IDENTIFIED BY 密碼(如果已經(jīng)創(chuàng)建過用戶,這步可以省略)

第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,

DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,

DBA,CONNECT,RESOURCE,CREATE SESSION TO 用戶名字

第五, 運行-cmd-進(jìn)入dmp文件所在的目錄,

imp userid=system/manager full=y file=*.dmp

或者 imp userid=system/manager full=y file=filename.dmp

附錄二:

Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達(dá)到這一目的.

先建立import9.par,

然后,使用時命令如下:imp parfile=/filepath/import9.par

例 import9.par 內(nèi)容如下:

FROMUSER=TGPMS

TOUSER=TGPMS2 (注:把表的擁有者由FROMUSER改為TOUSER,F(xiàn)ROMUSER和TOUSER的用戶可以不同)

ROWS=Y

INDEXES=Y

GRANTS=Y

CONSTRAINTS=Y

BUFFER=409600

file==/backup/ctgpc_.dmp

log==/backup/import_.log

其實這些網(wǎng)上有很多,你搜下就有了,我這里有存檔的,你參照下:

exp 命令的參數(shù):

將數(shù)據(jù)庫內(nèi)的各對象以二進(jìn)制方式下載成dmp文件,方便數(shù)據(jù)遷移。

buffer:下載數(shù)據(jù)緩沖區(qū),以字節(jié)為單位,缺省依賴操作系統(tǒng)

consistent:下載期間所涉及的數(shù)據(jù)保持read only,缺省為n

direct:使用直通方式 ,缺省為n

feeback:顯示處理記錄條數(shù),缺省為0,即不顯示

file:輸出文件,缺省為expdat.dmp

filesize:輸出文件大小,缺省為操作系統(tǒng)更大值

indexes:是否下載索引,缺省為n,這是指索引的定義而非數(shù)據(jù),exp不下載索引數(shù)據(jù)

log:log文件,缺省為無,在標(biāo)準(zhǔn)輸出顯示

owner:指明下載的用戶名

query:選擇記錄的一個子集

rows:是否下載表記錄

tables:輸出的表名列表

導(dǎo)出整個實例

exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y direct=y

user應(yīng)具有dba權(quán)限

導(dǎo)出某個用戶所有對象

exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=feedback=10000

導(dǎo)出一張或幾張表

exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=feedback=10000

導(dǎo)出某張表的部分?jǐn)?shù)據(jù)

exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1 buffer=feedback=10000 query=\”where col1=\’…\’ and col2 \ create directory dump_test as ‘/home/oracle/oracle10g’;

Directory created.

SQL> drop directory dump_test;

Directory dropped.

SQL> create directory dump_test as ‘/u01/oracledmp’;

Directory created.

–接下來記得創(chuàng)建directory在系統(tǒng)上,并賦好權(quán)限

$ expdp anlen/anlen123 directory=dumpdir dumpfile=anlen.dmp

Export: Release 10.2.0.4.0 – Production on Saturday, 12 June,:43:20

Copyright (c) 2023, 2023, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting “ANLEN”.”SYS_EXPORT_SCHEMA_01″: anlen/******** directory=dumpdir dumpfile=anlen.dmp

Estimate in progress using BLOCKS method…

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 1.125 MB

Processing object type SCHEMA_EXPORT/USER

Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

Processing object type SCHEMA_EXPORT/ROLE_GRANT

Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE

Processing object type SCHEMA_EXPORT/TABLE/TABLE

Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX

Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

Processing object type SCHEMA_EXPORT/TABLE/COMMENT

. . exported “ANLEN”.”DBA_01″571.2 KBrows

. . exported “ANLEN”.”DBA_02″278.4 KBrows

Master table “ANLEN”.”SYS_EXPORT_SCHEMA_01″ successfully loaded/unloaded

******************************************************************************

Dump file set for ANLEN.SYS_EXPORT_SCHEMA_01 is:

/u01/dmpdir/anlen.dmp

imp如何把表格導(dǎo)入數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于imp如何把表格導(dǎo)入數(shù)據(jù)庫,完美實現(xiàn)——IMP如何高效導(dǎo)入數(shù)據(jù)庫表格,Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp命令 10g以上expdp/impdp命令 詳細(xì)的 詳細(xì)的 謝謝的信息別忘了在本站進(jìn)行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)站標(biāo)題:完美實現(xiàn)——IMP如何高效導(dǎo)入數(shù)據(jù)庫表格(imp如何把表格導(dǎo)入數(shù)據(jù)庫)
本文地址:http://www.dlmjj.cn/article/dhsojhd.html