imp/exp命令 詳解(1)
--如何在oracle中匯入dmp資料庫檔案?
oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。 執行環境:可以在sqlplus.exe或者dos(命令列)中執行, dos中可以執行時由於在oracle 8i 中 安裝目錄\ora81\bin被設定為全域性路徑, 該目錄下有exp.exe與imp.exe檔案被用來執行匯入匯出。 oracle用java編寫,sqlplus.exe、exp.exe、imp.exe這兩個檔案有可能是被包裝後的類檔案。 sqlplus.exe呼叫exp.exe、imp.exe所包裹的類,完成匯入匯出功能。 下面介紹的是匯入匯出的例項。
資料匯出:
1 將資料庫test完全匯出,使用者名稱system 密碼manager 匯出到d:\daochu.dmp中
exp system/manager@test file=d:\daochu.dmp full=y
2 將資料庫中system使用者與sys使用者的表匯出
exp system/manager@test file=d:\daochu.dmp wner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat匯出
exp aichannel/aichannel@testdb2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
exp system/manager@test file=d:\daochu.dmp tables=(table1) query=\" where filed1 like 00%\"
上面是常用的匯出,對於壓縮,既用winzip把dmp檔案可以很好的壓縮。也可以在上面命令後面加上 compress=y 來實現。
1 將資料庫test完全匯出,使用者名稱system 密碼manager 匯出到d:\daochu.dmp中
exp system/manager@test file=d:\daochu.dmp full=y
2 將資料庫中system使用者與sys使用者的表匯出
exp system/manager@test file=d:\daochu.dmp wner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat匯出
exp aichannel/aichannel@testdb2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
exp system/manager@test file=d:\daochu.dmp tables=(table1) query=\" where filed1 like 00%\"
上面是常用的匯出,對於壓縮,既用winzip把dmp檔案可以很好的壓縮。也可以在上面命令後面加上 compress=y 來實現。
資料的匯入
1 將d:\daochu.dmp 中的資料匯入 test資料庫中。
imp system/manager@test file=d:\daochu.dmp
imp aichannel/aichannel@hust full=y file=file= d:\data\newsmgnt.dmp ignore=y
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。 在後面加上 ignore=y 就可以了。
2 將d:\daochu.dmp中的表table1 匯入
imp system/manager@test file=d:\daochu.dmp tables=(table1)
基本上上面的匯入匯出夠用了。不少情況要先是將表徹底刪除,然後匯入。
注意: 操作者要有足夠的許可權,許可權不夠它會提示。 資料庫時可以連上的。可以用tnsping test 來獲得資料庫test能否連上。
附錄一:
給使用者增加匯入資料許可權的操作
第一,啟動sql*puls
第二,以system/manager登陸
第三,create user 使用者名稱 identified by 密碼(如果已經建立過使用者,這步可以省略)
第四,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-進入dmp檔案所在的目錄, imp userid=system/manager full=y file=*.dmp 或者 imp userid=system/manager full=y file=filename.dmp
給使用者增加匯入資料許可權的操作
第一,啟動sql*puls
第二,以system/manager登陸
第三,create user 使用者名稱 identified by 密碼(如果已經建立過使用者,這步可以省略)
第四,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-進入dmp檔案所在的目錄, imp userid=system/manager full=y file=*.dmp 或者 imp userid=system/manager full=y file=filename.dmp
執行示例: f:\work\oracle_data\backup>imp userid=test/test full=y file=inner_notify.dmp
螢幕顯示
import: release 8.1.7.0.0 - production on 星期四 2月 16 16:50:05 2006(c) copyright 2000 oracle corporation. all rights reserved.
import: release 8.1.7.0.0 - production on 星期四 2月 16 16:50:05 2006(c) copyright 2000 oracle corporation. all rights reserved.
連線到: oracle8i enterprise edition release 8.1.7.0.0 - productionwith
the partitioning optionjserver release 8.1.7.0.0 - production
經由常規路徑匯出由export:v08.01.07建立的檔案已經完成zhs16gbk字符集和zhs16gbk nchar 字符集中的匯入匯出伺服器使用utf8 nchar 字符集 (可能的ncharset轉換). 正在將aichannel的物件匯入到 aichannel. . 正在匯入表"inner_notify" 4行被匯入準備啟用約束條件...成功終止匯入,但出現警告。
附錄二:
oracle 不允許直接改變表的擁有者, 利用export/import可以達到這一目的.
先建立import9.par, 然後,使用時命令如下:imp parfile=/filepath/import9.par
例 import9.par 內容如下:
fromuser=tgpms
touser=tgpms2 (注:把表的擁有者由fromuser改為touser,fromuser和touser的使用者可以不同)
rows=y
indexes=y
grants=y
constraints=y
buffer=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log
oracle 不允許直接改變表的擁有者, 利用export/import可以達到這一目的.
先建立import9.par, 然後,使用時命令如下:imp parfile=/filepath/import9.par
例 import9.par 內容如下:
fromuser=tgpms
touser=tgpms2 (注:把表的擁有者由fromuser改為touser,fromuser和touser的使用者可以不同)
rows=y
indexes=y
grants=y
constraints=y
buffer=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log
附錄三
EXP、IMP 命令詳解
命令詳解:
EXP、IMP 命令詳解
命令詳解:
E:\>exp help=y
通過輸入 EXP 命令和使用者名稱/口令,您可以
在使用者 / 口令之後的命令:
例項: EXP SCOTT/TIGER
或者,您也可以通過輸入跟有各種引數的 EXP 命令來控制“匯出”的執行方式。
要指定引數,您可以使用關鍵字:
要指定引數,您可以使用關鍵字:
格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例項: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2),如果 T1 是分割槽表
例項: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2),如果 T1 是分割槽表
USERID 必須是命令列中的第一個引數。
關鍵字 說明(預設)
---------------------------------------------------
USERID 使用者名稱/口令
FULL 匯出整個檔案 (N)
BUFFER 資料緩衝區的大小
OWNER 所有者使用者名稱列表
FILE 輸出檔案 (EXPDAT.DMP)
TABLES 表名列表
COMPRESS 匯入一個範圍 (Y)
RECORDLENGTH IO 記錄的長度
GRANTS 匯出許可權 (Y)
INCTYPE 增量匯出型別
INDEXES 匯出索引 (Y)
RECORD 跟蹤增量匯出 (Y)
ROWS 匯出資料行 (Y)
PARFILE 引數檔名
CONSTRAINTS 匯出限制 (Y)
CONSISTENT 交叉表一致性
LOG 螢幕輸出的日誌檔案
STATISTICS 分析物件 (ESTIMATE)
DIRECT 直接路徑 (N)
TRIGGERS 匯出觸發器 (Y)
FEEDBACK 顯示每 x 行 (0) 的進度
FILESIZE 各轉儲檔案的最大尺寸
QUERY 選定匯出表子集的子句
---------------------------------------------------
USERID 使用者名稱/口令
FULL 匯出整個檔案 (N)
BUFFER 資料緩衝區的大小
OWNER 所有者使用者名稱列表
FILE 輸出檔案 (EXPDAT.DMP)
TABLES 表名列表
COMPRESS 匯入一個範圍 (Y)
RECORDLENGTH IO 記錄的長度
GRANTS 匯出許可權 (Y)
INCTYPE 增量匯出型別
INDEXES 匯出索引 (Y)
RECORD 跟蹤增量匯出 (Y)
ROWS 匯出資料行 (Y)
PARFILE 引數檔名
CONSTRAINTS 匯出限制 (Y)
CONSISTENT 交叉表一致性
LOG 螢幕輸出的日誌檔案
STATISTICS 分析物件 (ESTIMATE)
DIRECT 直接路徑 (N)
TRIGGERS 匯出觸發器 (Y)
FEEDBACK 顯示每 x 行 (0) 的進度
FILESIZE 各轉儲檔案的最大尺寸
QUERY 選定匯出表子集的子句
下列關鍵字僅用於可傳輸的表空間
TRANSPORT_TABLESPACE 匯出可傳輸的表空間後設資料 (N)
TABLESPACES 將傳輸的表空間列表
TRANSPORT_TABLESPACE 匯出可傳輸的表空間後設資料 (N)
TABLESPACES 將傳輸的表空間列表
E:\>imp help=y
可以通過輸入 IMP 命令和您的使用者名稱/口令
跟有您的使用者名稱 / 口令的命令:
跟有您的使用者名稱 / 口令的命令:
例項: IMP SCOTT/TIGER
或者, 可以通過輸入 IMP 命令和各種自變數來控制“匯入”按照不同引數。
要指定引數,您可以使用關鍵字:
要指定引數,您可以使用關鍵字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
例項: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1: P1,T1: P2),如果 T1 是分割槽表
例項: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1: P1,T1: P2),如果 T1 是分割槽表
USERID 必須是命令列中的第一個引數。
關鍵字 說明(預設)
----------------------------------------------
USERID 使用者名稱/口令
FULL 匯入整個檔案 (N)
BUFFER 資料緩衝區大小
FROMUSER 所有人使用者名稱列表
FILE 輸入檔案 (EXPDAT.DMP)
TOUSER 使用者名稱列表
SHOW 只列出檔案內容 (N)
TABLES 表名列表
IGNORE 忽略建立錯誤 (N)
RECORDLENGTH IO 記錄的長度
GRANTS 匯入許可權 (Y)
INCTYPE 增量匯入型別
INDEXES 匯入索引 (Y)
COMMIT 提交陣列插入 (N)
ROWS 匯入資料行 (Y)
PARFILE 引數檔名
LOG 螢幕輸出的日誌檔案
CONSTRAINTS 匯入限制 (Y)
DESTROY 覆蓋表空間資料檔案 (N)
INDEXFILE 將表/索引資訊寫入指定的檔案
SKIP_UNUSABLE_INDEXES 跳過不可用索引的維護 (N)
ANALYZE 執行轉儲檔案中的 ANALYZE 語句 (Y)
FEEDBACK 顯示每 x 行 (0) 的進度
TOID_NOVALIDATE 跳過指定型別 id 的校驗
FILESIZE 各轉儲檔案的最大尺寸
RECALCULATE_STATISTICS 重新計算統計值 (N)
----------------------------------------------
USERID 使用者名稱/口令
FULL 匯入整個檔案 (N)
BUFFER 資料緩衝區大小
FROMUSER 所有人使用者名稱列表
FILE 輸入檔案 (EXPDAT.DMP)
TOUSER 使用者名稱列表
SHOW 只列出檔案內容 (N)
TABLES 表名列表
IGNORE 忽略建立錯誤 (N)
RECORDLENGTH IO 記錄的長度
GRANTS 匯入許可權 (Y)
INCTYPE 增量匯入型別
INDEXES 匯入索引 (Y)
COMMIT 提交陣列插入 (N)
ROWS 匯入資料行 (Y)
PARFILE 引數檔名
LOG 螢幕輸出的日誌檔案
CONSTRAINTS 匯入限制 (Y)
DESTROY 覆蓋表空間資料檔案 (N)
INDEXFILE 將表/索引資訊寫入指定的檔案
SKIP_UNUSABLE_INDEXES 跳過不可用索引的維護 (N)
ANALYZE 執行轉儲檔案中的 ANALYZE 語句 (Y)
FEEDBACK 顯示每 x 行 (0) 的進度
TOID_NOVALIDATE 跳過指定型別 id 的校驗
FILESIZE 各轉儲檔案的最大尺寸
RECALCULATE_STATISTICS 重新計算統計值 (N)
下列關鍵字僅用於可傳輸的表空間
TRANSPORT_TABLESPACE 匯入可傳輸的表空間後設資料 (N)
TABLESPACES 將要傳輸到資料庫的表空間
DATAFILES 將要傳輸到資料庫的資料檔案
TTS_OWNERS 擁有可傳輸表空間集中資料的使用者
TRANSPORT_TABLESPACE 匯入可傳輸的表空間後設資料 (N)
TABLESPACES 將要傳輸到資料庫的表空間
DATAFILES 將要傳輸到資料庫的資料檔案
TTS_OWNERS 擁有可傳輸表空間集中資料的使用者
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10113559/viewspace-629209/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- exp/imp命令詳解
- exp和imp詳解
- oracle資料庫 exp/imp命令詳解(轉)Oracle資料庫
- Oracle的exp/imp詳解Oracle
- expdp\impdp及exp\imp 詳解
- 轉:oracle EXP /IMP引數詳解Oracle
- oracle中imp命令詳解Oracle
- exp和imp的詳細操作
- ORACLE匯入匯出命令exp/impOracle
- exp/imp工具
- Oracle imp/expOracle
- Oracle資料匯入匯出imp/exp命令Oracle
- 【EXP/IMP】使用EXP /IMP工具“模糊”匯出和匯入
- oracle exp和impOracle
- oracle imp和expOracle
- exp imp資料
- oracle exp imp 用法Oracle
- EXP&IMP PIPE
- Oracle資料匯入匯出imp/exp命令(轉)Oracle
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- 淺談exp/imp(上)
- 淺談exp/imp(下)
- exp/imp工具的使用
- IMP和EXP筆記筆記
- EXP/IMP 學習(五)
- EXP/IMP 學習(四)
- EXP/IMP 學習(三)
- EXP/IMP 學習(二)
- EXP/IMP 學習(一)
- EXP/IMP 學習(六)
- exp_imp實戰
- exp/imp兩個命令可以說是oracle中最常用的命令了.Oracle
- exp,imp 遷移資料
- imp/exp資料遷移
- oracle exp_imp小記Oracle
- 大表exp/imp遷移
- 【IMP】使用IMP的SHOW引數輕鬆獲取EXP命令的DUMP檔案內容
- 理解exp, imp 使用direct=y 及imp commit=yMIT