2016最新Oracle數據庫導入導出命令總結
Oracle數據導入導出imp/exp就相當於oracle數據還原與備份。exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中。利用這個功能我們可以從生產庫中導出數據庫,再導入數據庫到測試庫中。
執行環境:可以在或者DOS(命令行)中執行,DOS中可以執行是由於在oracle中,安裝目錄ora9ibin被設置為全局路徑(也可直接在系統環境變量中設置),該目錄下有與文件被用來執行導入導出。
下面是導入導出的實例。
數據導出:
1 將數據庫zxcc完全導出,用户名kf 密碼zx 導出到D:中
exp kf/zx@zxcc file=d: full=y
full=y 表示全庫導出。full總共有2個可選項yes(y)/no(n),缺省情況下full=no,這時只會將該用户下的對象導出。
2 將數據庫zxcc中kf用户與cc用户的表導出
exp kf/zx@zxcc file=d:zxcc_ owner=(kf,cc)
full方式可以備份所有用户的數據庫對象,包括表空間、用户信息等,owner=XX只能備份指定用户的對象,其他用户下的就不備份了,EXP中full=y和owner=XX是不能同時使用的。
3 將數據庫zxcc中的表kf_operator、kf_role導出
exp kf/zx@zxcc file= d:zxcc_ tables=(kf_operator,kf_role)
tables=xx 表示備份相關表,不能同時和owner、full使用。
4 將數據庫中的表kf_operator中的字段oper_id以"00"打頭的數據導出
exp kf/zx@zxcc file=d:zxcc_ tables=(kf_operator) query=" where oper_id like '00%'"
query主要是導出合適條件的數據。使用該參數時,需要注意對所有操作系統保留字符都要使用轉義符號。若有括號()也需要轉義:
query="where dt=to_date('2007-09-22','yyyy-mm-dd')" 。
如果遇到條件比較繁瑣的語句,頻繁的轉義操作不僅費時,還很容易出錯。我們可以使用exp或expdp的PARFILE參數避免query內容的繁瑣轉義問題。
例:
oracle DBALNP01 > cat >
tables=kf_operator
file=
query="where dt_time=to_date('2010-06-25','yyyy-mm-dd')"
這時就可以盡情的再雙引號中寫條件語句了。
上面是常用的導出,對於比較大的數據庫,我們可以對導出文件進行壓縮處理,可用winzip把dmp文件進行壓縮。
也可以在上面命令後面加上 compress=y 來實現。
數據的導入:
1、將D: 中的數據導入 zxcc數據庫中。
imp kf/zx@zxcc file=D:
導數據得時候,有可能報錯。為什麼?有以下主要的原因:
A. 導入的對象(表,視圖,方法等)原本不屬於當前連接的用户的
B. 導入的對象在該數據庫的指定用户下已經存在
C. 導入的.對象的原本用户不在這個數據庫裏
對於這三個問題的處理方法如下:
a/c、所有對象全部導入到指定的賬户下:
imp kf_new/zx@zxcc_new file=d: fromuser=kf touser=kf_new
其中fromuser=kf為文件裏的對象的原先的owner, touser=kf_new 為作為導入的對象的新的Owner.
b、忽略/插入數據:
imp kf_new/zx@zxcc_new file= d: ignore=y
其中ignore=y告訴把數據直接插入到相應對象(並且如果導入的對象裏面有其他的對象,如約束,索引等,會在數據插入後被創建)。
2、將d:zxcc_中的表tb_operator 導入
imp kf/zx@zxcc file=d:zxcc_ tables=(tb_operator)
忽略加載約束
有時候導數據進來的時候,我們不需要把它的約束,比如一些外鍵約束等都導進來,可以加上參數constraints=N
不加載索引(比如唯一性的索引),可以加上參數indexs=N
只加載結構,不加載數據,如果只要表的結構等定義(約束,觸發器),而不要裏面的數據,可以加上參數rows=N
對於上述操作登陸操作的用户需是管理員,如果不是管理員,而是普通用户,那麼這個用户必須有創建刪除對象的權利,對象可能包括表,視圖,方法,存儲過程等等常見的對象。為什麼“可能”包括?因為這個視導入導出的時候是否涉及相關類型的對象而定。
Imp kf/zx@zxcc_new file=d: fromuser=kf touser=kf_new ignore=y
基本上面的導入導出夠用了。不少情況要先是將表徹底刪除,然後導入。
注意:
(1)、操作者要有足夠的權限,權限不夠會有提示。
(2)、數據庫鏈接正常,可以用tnsping zxcc 來檢測數據庫zxcc能否連上。
(3)、導入/導出數據庫時注意字符集。可能會出現導出/導入時數據庫字符集不一致而報錯。
oracle數據庫其他常用命令:
1、給用户增加導入數據權限的操作
第一,啟動sql*puls
第二,以管理員(DBA)用户登陸
第三,create user 用户名 IDENTIFIED BY 密碼 (如果已經創建過用户,這步可以省略)
第四,>grant create user , drop user , alter user , create any view , drop any view , exp_full_database , imp_full_database , dba , resource , create session to 用户名字;
第五, 運行cmd進入dmp文件所在的目錄,
imp userid=管理員用户名/密碼 full=y file=
或者 imp userid=管理員用户名/密碼 full=y file=
2、Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.
先建立文件()
然後,使用時命令如下:imp parfile=/filepath/
例 內容如下:
FROMUSER=user
TOUSER=user_new (注:把表的擁有者由FROMUSER改為TOUSER,FROMUSER和TOUSER的用户可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/filepath/
log==/filepath/import_
-
Oracle OCP認證
甲骨文一向都有在第四財季末公佈樂觀財務數字的傳統,公司銷售部門在財年末的時候總是喜歡提供大幅折扣提高業績,以致很多客户會把其採購推遲到5月份以獲得很低的價格。下面是小編整理的關於OracleOCP認證,歡迎大家參考!現在欲獲得OracleOCP認證的學員,都採取如下兩...
-
Oracle考試認證疑問解答
Oracle公司(甲骨文)是全球最大的信息管理軟件及服務供應商,成立於1977年,總部位於美國加州Redwoodshore,面向全球開放oracle認證。以下是小編整理的Oracle考試認證疑問解答,希望大家認真閲讀!【大數據出來了,關係型數據庫還有前途嗎?】Oracle是目前僅有的幾家把大數...
-
oracle數據庫基本語句
甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟件系統有限公司),是全球最大的企業級軟件公司,總部位於美國加利福尼亞州的紅木灘。下面是小編整理的關於oracle數據庫基本語句,歡迎大家參考!1.登陸SPL*PLUS[username/password][@server]as[sysdba|sysoper]eg.system/p...
-
Oracle認證考試指南
小編為各位考生們整理了關於Oracle認證考試指南的專題彙總,希望對大家的複習備考有幫助,請大家抓緊時複習備考吧。報考須知Oracle認證考試介紹Oracle認證考試由Oracle公司授權國際考試認證中心對考生進行資格認證的。考生按考試標準要求參加幾門課程的考試(一般...