- 相關(guān)推薦
2025最新Oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令總結(jié)
總結(jié)是對(duì)某一特定時(shí)間段內(nèi)的學(xué)習(xí)和工作生活等表現(xiàn)情況加以回顧和分析的一種書(shū)面材料,它可以幫助我們總結(jié)以往思想,發(fā)揚(yáng)成績(jī),讓我們好好寫(xiě)一份總結(jié)吧。我們?cè)撛趺磳?xiě)總結(jié)呢?下面是小編收集整理的2025最新Oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令總結(jié),歡迎閱讀與收藏。

2025最新Oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令
Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出imp/exp就相當(dāng)于oracle數(shù)據(jù)還原與備份。exp命令可以把數(shù)據(jù)從遠(yuǎn)程數(shù)據(jù)庫(kù)服務(wù)器導(dǎo)出到本地的dmp文件,imp命令可以把dmp文件從本地導(dǎo)入到遠(yuǎn)處的數(shù)據(jù)庫(kù)服務(wù)器中。利用這個(gè)功能我們可以從生產(chǎn)庫(kù)中導(dǎo)出數(shù)據(jù)庫(kù),再導(dǎo)入數(shù)據(jù)庫(kù)到測(cè)試庫(kù)中。
執(zhí)行環(huán)境:可以在SQLPLUS.EXE或者DOS(命令行)中執(zhí)行,DOS中可以執(zhí)行是由于在oracle中,安裝目錄\ora9i\bin被設(shè)置為全局路徑(也可直接在系統(tǒng)環(huán)境變量中設(shè)置),該目錄下有EXP.EXE與IMP.EXE文件被用來(lái)執(zhí)行導(dǎo)入導(dǎo)出。
下面是導(dǎo)入導(dǎo)出的實(shí)例。
數(shù)據(jù)導(dǎo)出:
1 將數(shù)據(jù)庫(kù)zxcc完全導(dǎo)出,用戶名kf 密碼zx 導(dǎo)出到D:\zxcc.dmp中
exp kf/zx@zxcc file=d:\zxcc.dmp full=y
full=y 表示全庫(kù)導(dǎo)出。full總共有2個(gè)可選項(xiàng)yes(y)/no(n),缺省情況下full=no,這時(shí)只會(huì)將該用戶下的對(duì)象導(dǎo)出。
2 將數(shù)據(jù)庫(kù)zxcc中kf用戶與cc用戶的表導(dǎo)出
exp kf/zx@zxcc file=d:\zxcc_ur.dmp owner=(kf,cc)
full方式可以備份所有用戶的數(shù)據(jù)庫(kù)對(duì)象,包括表空間、用戶信息等,owner=XX只能備份指定用戶的對(duì)象,其他用戶下的就不備份了,EXP中full=y和owner=XX是不能同時(shí)使用的。
3 將數(shù)據(jù)庫(kù)zxcc中的表kf_operator、kf_role導(dǎo)出
exp kf/zx@zxcc file= d:\zxcc_tb.dmp tables=(kf_operator,kf_role)
tables=xx 表示備份相關(guān)表,不能同時(shí)和owner、full使用。
4 將數(shù)據(jù)庫(kù)中的表kf_operator中的字段oper_id以"00"打頭的數(shù)據(jù)導(dǎo)出
exp kf/zx@zxcc file=d:\zxcc_t.dmp tables=(kf_operator) query=\" where oper_id like 00%\"
query主要是導(dǎo)出合適條件的數(shù)據(jù)。使用該參數(shù)時(shí),需要注意對(duì)所有操作系統(tǒng)保留字符都要使用轉(zhuǎn)義符號(hào)。若有括號(hào)()也需要轉(zhuǎn)義:
query=\"where dt=to_date\(\2007-09-22\,\yyyy-mm-dd\\)\" 。
如果遇到條件比較繁瑣的語(yǔ)句,頻繁的轉(zhuǎn)義操作不僅費(fèi)時(shí),還很容易出錯(cuò)。我們可以使用exp或expdp的PARFILE參數(shù)避免query內(nèi)容的繁瑣轉(zhuǎn)義問(wèn)題。
例:
oracle DBALNP01 > cat > zxcc.par
tables=kf_operator
file=zxcc.dmp
query="where dt_time=to_date(2010-06-25,yyyy-mm-dd)"
這時(shí)就可以盡情的再雙引號(hào)中寫(xiě)條件語(yǔ)句了。
上面是常用的導(dǎo)出,對(duì)于比較大的數(shù)據(jù)庫(kù),我們可以對(duì)導(dǎo)出文件進(jìn)行壓縮處理,可用winzip把dmp文件進(jìn)行壓縮。
也可以在上面命令后面加上 compress=y 來(lái)實(shí)現(xiàn)。
數(shù)據(jù)的導(dǎo)入:
1、將D:\zxcc.dmp 中的數(shù)據(jù)導(dǎo)入 zxcc數(shù)據(jù)庫(kù)中。
imp kf/zx@zxcc file=D:\zxcc.dmp
導(dǎo)數(shù)據(jù)得時(shí)候,有可能報(bào)錯(cuò)。為什么?有以下主要的原因:
A. 導(dǎo)入的對(duì)象(表,視圖,方法等)原本不屬于當(dāng)前連接的用戶的
B. 導(dǎo)入的對(duì)象在該數(shù)據(jù)庫(kù)的指定用戶下已經(jīng)存在
C. 導(dǎo)入的對(duì)象的原本用戶不在這個(gè)數(shù)據(jù)庫(kù)里
對(duì)于這三個(gè)問(wèn)題的處理方法如下:
a/c、所有對(duì)象全部導(dǎo)入到指定的賬戶下:
imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new
其中fromuser=kf為.dmp文件里的對(duì)象的原先的owner, touser=kf_new 為作為導(dǎo)入的對(duì)象的新的Owner.
b、忽略/插入數(shù)據(jù):
imp kf_new/zx@zxcc_new file= d:\zxcc.dmp ignore=y
其中ignore=y告訴imp.exe把數(shù)據(jù)直接插入到相應(yīng)對(duì)象(并且如果導(dǎo)入的對(duì)象里面有其他的對(duì)象,如約束,索引等,會(huì)在數(shù)據(jù)插入后被創(chuàng)建)。
2、將d:\zxcc_tb.dmp中的表tb_operator 導(dǎo)入
imp kf/zx@zxcc file=d:\zxcc_tb.dmp tables=(tb_operator)
忽略加載約束
有時(shí)候?qū)?shù)據(jù)進(jìn)來(lái)的時(shí)候,我們不需要把它的約束,比如一些外鍵約束等都導(dǎo)進(jìn)來(lái),可以加上參數(shù)constraints=N
不加載索引(比如唯一性的索引),可以加上參數(shù)indexs=N
只加載結(jié)構(gòu),不加載數(shù)據(jù),如果只要表的結(jié)構(gòu)等定義(約束,觸發(fā)器),而不要里面的數(shù)據(jù),可以加上參數(shù)rows=N
對(duì)于上述操作登陸操作的用戶需是管理員,如果不是管理員,而是普通用戶,那么這個(gè)用戶必須有創(chuàng)建刪除對(duì)象的權(quán)利,對(duì)象可能包括表,視圖,方法,存儲(chǔ)過(guò)程等等常見(jiàn)的對(duì)象。為什么“可能”包括?因?yàn)檫@個(gè)視導(dǎo)入導(dǎo)出的時(shí)候是否涉及相關(guān)類(lèi)型的對(duì)象而定。
Imp kf/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new ignore=y
基本上面的導(dǎo)入導(dǎo)出夠用了。不少情況要先是將表徹底刪除,然后導(dǎo)入。
注意:
(1)、操作者要有足夠的權(quán)限,權(quán)限不夠會(huì)有提示。
(2)、數(shù)據(jù)庫(kù)鏈接正常,可以用tnsping zxcc 來(lái)檢測(cè)數(shù)據(jù)庫(kù)zxcc能否連上。
(3)、導(dǎo)入/導(dǎo)出數(shù)據(jù)庫(kù)時(shí)注意字符集?赡軙(huì)出現(xiàn)導(dǎo)出/導(dǎo)入時(shí)數(shù)據(jù)庫(kù)字符集不一致而報(bào)錯(cuò)。
oracle數(shù)據(jù)庫(kù)其他常用命令:
1、給用戶增加導(dǎo)入數(shù)據(jù)權(quán)限的操作
第一,啟動(dòng)sqlpuls
第二,以管理員(DBA)用戶登陸
第三,create user 用戶名 IDENTIFIED BY 密碼 (如果已經(jīng)創(chuàng)建過(guò)用戶,這步可以省略)
第四,>grant create user , drop user , alter user , create any view , drop any view , exp_full_database , imp_full_database , dba , resource , create session to 用戶名字;
第五, 運(yùn)行cmd進(jìn)入dmp文件所在的目錄,
imp userid=管理員用戶名/密碼 full=y file= filename.dmp
或者 imp userid=管理員用戶名/密碼 full=y file=filename.dmp
2、Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達(dá)到這一目的
先建立.par文件()
然后,使用時(shí)命令如下:imp parfile=/filepath/import9.par
例 import9.par 內(nèi)容如下:
FROMUSER=user
TOUSER=user_new (注:把表的擁有者由FROMUSER改為T(mén)OUSER,F(xiàn)ROMUSER和TOUSER的用戶可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/filepath/xxxx.dmp
log==/filepath/import_log.log
oracle數(shù)據(jù)庫(kù)體系架構(gòu)
oracle數(shù)據(jù)庫(kù)由實(shí)例、數(shù)據(jù)庫(kù)組成:
數(shù)據(jù)庫(kù)由數(shù)據(jù)文件(包含oracle 數(shù)據(jù)、索引、表結(jié)構(gòu)等數(shù)據(jù))、控制文件(包括每個(gè)表的操作信息)、日志文件(數(shù)據(jù)操作sql語(yǔ)句)、參數(shù)文件、口令文件、日志歸檔文件(歸檔模式下)(服務(wù)器崩潰、硬盤(pán)損壞情況下,通過(guò)日志恢復(fù)時(shí)用)
實(shí)例由 內(nèi)存結(jié)構(gòu)(memory strutct) 和 后臺(tái)進(jìn)程(background processor)組成。
內(nèi)存結(jié)構(gòu)組成:
PGA: Processor Global Area 程序全局區(qū) ,每一個(gè)客戶端接入到oracle 服務(wù)器都有一個(gè)PGA,用于保存該客戶單的相關(guān)信息
SGA: System Global Area 系統(tǒng)全局區(qū),主要是給oracle實(shí)例使用,包括 shared pool 、 data buffer area , redo log buffer .
共享池(shared pool):
包括library cache 、data directory cache 組成,其中 library cache 主要保存最近的sql 檢查、編譯、執(zhí)行計(jì)劃, 下次有同樣語(yǔ)句過(guò)來(lái)的時(shí)候,可以重用這些,避免重復(fù)的檢查編譯執(zhí)行計(jì)劃。 data directory cache 主要保存數(shù)據(jù)庫(kù)數(shù)據(jù)表的字段定義、索引數(shù)據(jù)等, shared pool 的大小直接影響到數(shù)據(jù)庫(kù)的性能。
data buffer area : 主要保存用戶對(duì)數(shù)據(jù)的修改,查詢操作。該內(nèi)存區(qū)域的大小直接影響數(shù)據(jù)庫(kù)的性能。
redo log buffer area: 主要保存最近用戶對(duì)數(shù)據(jù)庫(kù)的操作記錄,該大小對(duì)數(shù)據(jù)庫(kù)性能沒(méi)有多大影響
oracle 必須要的后臺(tái)進(jìn)程包括:PMON 、 SMON 、 DBWR、 LOGWR、 CKPT、其他,每個(gè)作用如下:
PMON 監(jiān)控PGA的健康情況,釋放已經(jīng)死去的PGA,回收資源,管理PGA的生命周期
SMON 監(jiān)控SGA的健康情況,收集SGA碎片內(nèi)存,監(jiān)控實(shí)例健康情況
DBWR 維護(hù)data buffer area 和物理表數(shù)據(jù)的一致性
LGWR 維護(hù)redo log buffer area 內(nèi)存數(shù)據(jù)和日志文件的一致性
CKPT 設(shè)置檢查點(diǎn),在oracle 實(shí)例出現(xiàn)問(wèn)題的時(shí)候,可以恢復(fù)到實(shí)例失敗前的情況。
oracle 內(nèi)存結(jié)構(gòu)有 塊、區(qū)、段、表空間組成,塊是oracle 在內(nèi)存中的最小結(jié)構(gòu), 區(qū)、段、 表空間是oracle 依次向上的內(nèi)存結(jié)構(gòu)。快的太小數(shù)據(jù)管理麻煩,太大,數(shù)據(jù)碎片比較多。具體情況具體分析。
表空間是oracle最大的邏輯單位,一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)庫(kù)可以包含多個(gè)表空間,但默認(rèn)包含一個(gè)system的表空間。創(chuàng)建表空間的語(yǔ)法:
復(fù)制代碼 代碼如下:
CREATE TABLESPACE name
DATAFILE path [SIZE interger M|K]
LOGFILE path
[AUTOEXTEND ON | OFF]
【最新Oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令總結(jié)】相關(guān)文章:
MySQL導(dǎo)出導(dǎo)入SQL文件命令方法10-17
ORACLE數(shù)據(jù)庫(kù)基本命令08-26
oracle表空間啟動(dòng)數(shù)據(jù)庫(kù)命令05-07
oracle數(shù)據(jù)庫(kù)執(zhí)行腳本常用命令06-15
Adobe After Effects導(dǎo)入和導(dǎo)出操作06-17
Oracle數(shù)據(jù)庫(kù)SQLPLUS介紹10-09