C:Documents and Settingsadministrator>exp help=y
Export: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:04:43 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
通過(guò)輸入 EXP 命令和用戶名/口令,您可以
后接用戶名/口令的命令:
例程: EXP SCOTT/TIGER
或者,您也可以通過(guò)輸入跟有各種參數(shù)的 EXP 命令來(lái)控制“導(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 必須是命令行中的第一個(gè)參數(shù)。
關(guān)鍵字 說(shuō)明(默認(rèn)) 關(guān)鍵字 說(shuō)明(默認(rèn))
--------------------------------------------------------------------------
USERID 用戶名/口令 FULL 導(dǎo)出整個(gè)文件 (N)
BUFFER 數(shù)據(jù)緩沖區(qū)大小 OWNER 所有者用戶名列表
FILE 輸出文件 (EXPDAT.DMP) TABLES 表名稱列表
COMPRESS 導(dǎo)入到一個(gè)區(qū) (Y) RECORDLENGTH IO 記錄的長(zhǎng)度
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 分析對(duì)象 (ESTIMATE)
ROWS 導(dǎo)出數(shù)據(jù)行 (Y) PARFILE 參數(shù)文件名
CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 導(dǎo)出的約束條件 (Y)
OBJECT_CONSISTENT 只在對(duì)象導(dǎo)出期間設(shè)置為讀的事務(wù)處理 (N)
FEEDBACK 每 x 行的顯示進(jìn)度 (0)
FILESIZE 每個(gè)轉(zhuǎn)儲(chǔ)文件的最大大小
FLASHBACK_SCN 用于將會(huì)話快照設(shè)置回以前狀態(tài)的 SCN
FLASHBACK_TIME 用于獲取最接近指定時(shí)間的 SCN 的時(shí)間
QUERY 用于導(dǎo)出表的子集的 select 子句
RESUMABLE 遇到與空格相關(guān)的錯(cuò)誤時(shí)掛起 (N)
RESUMABLE_NAME 用于標(biāo)識(shí)可恢復(fù)語(yǔ)句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待時(shí)間
TTS_FULL_CHECK 對(duì) TTS 執(zhí)行完整的或部分相關(guān)性檢查
TABLESPACES 要導(dǎo)出的表空間列表
TRANSPORT_TABLESPACE 導(dǎo)出可傳輸?shù)谋砜臻g元數(shù)據(jù) (N)
TEMPLATE 調(diào)用 iAS 模式導(dǎo)出的模板名
在沒(méi)有警告的情況下成功終止導(dǎo)出。
==================================================
C:Documents and Settingsadministrator>imp help=y
Import: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:06:54 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
可以通過(guò)輸入 IMP 命令和您的用戶名/口令
后接用戶名/口令的命令:
例程: IMP SCOTT/TIGER
或者, 可以通過(guò)輸入 IMP 命令和各種參數(shù)來(lái)控制“導(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 必須是命令行中的第一個(gè)參數(shù)。
關(guān)鍵字 說(shuō)明(默認(rèn)) 關(guān)鍵字 說(shuō)明(默認(rèn))
--------------------------------------------------------------------------
USERID 用戶名/口令 FULL 導(dǎo)入整個(gè)文件 (N)
BUFFER 數(shù)據(jù)緩沖區(qū)大小 FROMUSER 所有人用戶名列表
FILE 輸入文件 (EXPDAT.DMP) TOUSER 用戶名列表
SHOW 只列出文件內(nèi)容 (N) TABLES 表名列表
IGNORE 忽略創(chuàng)建錯(cuò)誤 (N) RECORDLENGTH IO 記錄的長(zhǎng)度
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 跳過(guò)不可用索引的維護(hù) (N)
FEEDBACK 每 x 行顯示進(jìn)度 (0)
TOID_NOVALIDATE 跳過(guò)指定類型 ID 的驗(yàn)證
FILESIZE 每個(gè)轉(zhuǎn)儲(chǔ)文件的最大大小
STATISTICS 始終導(dǎo)入預(yù)計(jì)算的統(tǒng)計(jì)信息
RESUMABLE 在遇到有關(guān)空間的錯(cuò)誤時(shí)掛起 (N)
RESUMABLE_NAME 用來(lái)標(biāo)識(shí)可恢復(fù)語(yǔ)句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待時(shí)間
COMPILE 編譯過(guò)程, 程序包和函數(shù) (Y)
STREAMS_CONFIGURATION 導(dǎo)入 Streams 的一般元數(shù)據(jù) (Y)
STREAMS_INSTANITATION 導(dǎo)入 Streams 的實(shí)例化元數(shù)據(jù) (N)
下列關(guān)鍵字僅用于可傳輸?shù)谋砜臻g
TRANSPORT_TABLESPACE 導(dǎo)入可傳輸?shù)谋砜臻g元數(shù)據(jù) (N)
TABLESPACES 將要傳輸?shù)綌?shù)據(jù)庫(kù)的表空間
DATAFILES 將要傳輸?shù)綌?shù)據(jù)庫(kù)的數(shù)據(jù)文件
TTS_OWNERS 擁有可傳輸表空間集中數(shù)據(jù)的用戶
成功終止導(dǎo)入,但出現(xiàn)警告。
oracle的imp和exp的一些用法- -
Oracle8i/9i EXP/IMP使用經(jīng)驗(yàn)
一、8i EXP常用選項(xiàng)
1、FULL,這個(gè)用于導(dǎo)出整個(gè)數(shù)據(jù)庫(kù),在ROWS=N一起使用時(shí),可以導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)的結(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í),我會(huì)考慮設(shè)置這兩個(gè)參數(shù)。例如:
exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=WO4,OK_YT
3、FILL和LOG,這兩個(gè)參數(shù)分別指定備份的DMP名稱和LOG名稱,包括文件名和目錄,例子見(jiàn)上面。
需要說(shuō)明的是,EXP可以直接備份到磁帶中,即使用FILE=/dev/rmt0(磁帶設(shè)備名),但是一般我們都不這么做,原因有二:一、這樣做的速度會(huì)慢很多,二、現(xiàn)在一般都是使用磁帶庫(kù)的,不建議直接對(duì)磁帶進(jìn)行操作。至于沒(méi)有使用磁帶庫(kù)的朋友可以考慮和UNIX的TAR結(jié)合使用。
如果你真想使用EXP直接到磁帶,你可以參考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”(文檔號(hào):30428.1),該文中有詳細(xì)解釋。
4、COMPRESS參數(shù)將在導(dǎo)出的同時(shí)合并碎塊,盡量把數(shù)據(jù)壓縮到initial的EXTENT里,默認(rèn)是N,一般建議使用。DIRECT參數(shù)將告訴EXP直接讀取數(shù)據(jù),而不像傳統(tǒng)的EXP那樣,使用SELECT來(lái)讀取表中的數(shù)據(jù),這樣就減少了SQL語(yǔ)句處理過(guò)程。一般也建議使用。不過(guò)有些情況下DIRECT參數(shù)是無(wú)法使用的。
5、如何使用SYSDBA執(zhí)行EXP/IMP?
這是一個(gè)很現(xiàn)實(shí)的問(wèn)題,有時(shí)候我們需要使用SYSDBA來(lái)執(zhí)行EXP/IMP,如進(jìn)行傳輸表空間的EXP/IMP,以及在9i下用SYS用戶來(lái)執(zhí)行EXP/IMP時(shí),都需要使用SYSDBA才可。我們可以使用下面方式連入EXP/IMP:
exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t rows=n
6、QUERY參數(shù)后面跟的是where條件,值得注意的是,整個(gè)where子句需要使用""括起來(lái),where子句的寫法和SELECT中相同,如果是UNIX平臺(tái)所有"和'都需要使用u26469屏蔽它們的特殊含義:
exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 and c2=gototop"
如果是windows平臺(tái),則使用下面的格式:
exp c/c@ncn file=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""
二、8i IMP常用選項(xiàng)
1、FROMUSER和TOUSER,使用它們實(shí)現(xiàn)將數(shù)據(jù)從一個(gè)SCHEMA中導(dǎo)入到另外一個(gè)SCHEMA中。
2、IGNORE、GRANTS和INDEXES,其中IGNORE參數(shù)將忽略表的存在,繼續(xù)導(dǎo)入,這個(gè)對(duì)于需要調(diào)整表的存儲(chǔ)參數(shù)時(shí)很有用,我們可以先根據(jù)實(shí)際情況用合理的存儲(chǔ)參數(shù)建好表,然后直接導(dǎo)入數(shù)據(jù)。而GRANTS和INDEXES則表示是否導(dǎo)入授權(quán)和索引,如果想使用新的存儲(chǔ)參數(shù)重建索引,或者為了加快到入速度,我們可以考慮將INDEXES設(shè)為N,而GRANTS一般都是Y。
另外一個(gè)EXP/IMP都有的參數(shù)是PARFILE,它是用來(lái)定義EXP/IMP的參數(shù)文件,也就是說(shuō),上面的參數(shù)都可以寫在一個(gè)參數(shù)文件中,但我們一般很少使用。
三、Oracle9i EXP功能描述
Oracle9i EXP在原有的基礎(chǔ)上新增了部分新的參數(shù),按功能主要分為以下幾個(gè)部分:
1、OBJECT_CONSISTENT - 用于設(shè)置EXP對(duì)象為只讀以保持對(duì)象的一致性。默認(rèn)是N。
2、FLASHBACK_SCN和FLASHBACK_TIME - 用于支持FLASHBACK功能而新增。
3、RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT - 用于支持RESUMABLE空間分配而新增。
4、TTS_FULL_CHECK - 用于在傳輸表空間時(shí)使用依賴性檢查。
5、TEMPLATE - 用于支持iAS。
6、TABLESPACES - 設(shè)置表空間導(dǎo)出模式。個(gè)人覺(jué)得對(duì)于一般用戶而言,這個(gè)才是新增參數(shù)中最實(shí)用的一個(gè),可以讓用戶在原來(lái)的FULL、OWNER、TABLES的基礎(chǔ)上多了一種選擇,使得EXP更加靈活。
四、不同版本的EXP/IMP問(wèn)題?
一般來(lái)說(shuō),從低版本導(dǎo)入到高版本問(wèn)題不大,麻煩的是將高版本的數(shù)據(jù)導(dǎo)入到低版本中,在Oracle9i之前,不同版本Oracle之間的EXP/IMP可以通過(guò)下面的方法來(lái)解決:
1、在高版本數(shù)據(jù)庫(kù)上運(yùn)行底版本的catexp.sql;
2、使用低版本的EXP來(lái)導(dǎo)出高版本的數(shù)據(jù);
3、使用低版本的IMP將數(shù)據(jù)庫(kù)導(dǎo)入到底版本數(shù)據(jù)庫(kù)中;
4、在高版本數(shù)據(jù)庫(kù)上重新運(yùn)行高版本的catexp.sql腳本。
但在9i中,上面的方法并不能解決問(wèn)題。如果直接使用底版本EXP/IMP會(huì)出現(xiàn)如下錯(cuò)誤:
EXP-00008: ORACLE error %lu encountered
ORA-00904: invalid column name
這已經(jīng)是一個(gè)公布的BUG,需要等到Oracle10.0才能解決,BUG號(hào)為2261,你可以到METALINK上去查看有關(guān)此BUG的詳細(xì)信息。
BUG歸BUG,我們的工作還是要做,在沒(méi)有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;
/
五、其他問(wèn)題
本文只討論了Oracle8i和9i中的EXP/IMP的一些情況,對(duì)于之前的版本,在8.0.X中,除了QUERY參數(shù)不能用外,其它差別不大。針對(duì)沒(méi)有QUERY的情況,我們可以先在數(shù)據(jù)庫(kù)中使用查詢條件建立臨時(shí)中間表,然后使用EXP導(dǎo)出這個(gè)中間表即可。至于Oracle7因?yàn)槟壳笆褂玫娜溯^少,gototop不打算在此做詳細(xì)解釋了,如果讀者朋友有需求,你可以參考Metalink文檔:“Overview of Export and Import in Oracle7”(文檔號(hào):61949.1)。關(guān)于EXP/IMP的詳細(xì)參數(shù)信息你可以通過(guò)EXP/IMP HELP=Y來(lái)獲得。
另外關(guān)于傳輸表空間的更多信息可以參考下面的Metelink文檔,本文不再詳述。
[NOTE:77523.1] Transportable Tablespaces -- An Example to setup and use.
[NOTE:100698.1] Perform tablespace point-in-time recovery using Transportable Tablespace.
在進(jìn)行并行EXP/IMP的時(shí)候,如果IMP過(guò)程建索引的話不建議同時(shí)運(yùn)行5個(gè)以上的IMP,如果你想加快速度