oracle
提供兩個工具
imp.exe
和exp.exe
分別用於匯入和匯出資料。這兩個工具位於
oracle_home/bin
目錄下。
匯入資料
exp
1 將資料庫
atstestdb
完全匯出
,使用者名稱
system
密碼123456
匯出到c:/export.dmp
中exp system/123456@atstestdb file=c:/export.dmp full=y
其中atstestdb
為資料庫名稱,
system
為該資料庫裡的賬戶,
123456
為其密碼。
2 將資料庫中
system
使用者與sys
使用者的所有相關資源匯出(表,儲存過程,方法,檢視等等)
exp system/123456@atstestdb file= c:/export.dmp owner=(system,sys)
3 將資料庫中的表
sys.table1
、owbsys.table2
匯出exp system/123456@atstestdb file= c:/export.dmp tables=( sys.table1, owbsys.table2)
注意,需要加上表的
schema
名稱,如果沒有加的話預設是導當前
connected
使用者的表,當然你連線上去的賬戶要對相應的表有許可權。
4 將資料庫中的表
table1
中的字段
title
以"gangge"
打頭的資料匯出
exp system/123456@atstestdb file= c:/export.dmp tables=(table1) query=/" where title like 'gangge%'/"
斜槓「/」
後面跟冒號是為了轉義字元冒號
」 「 「
用的,因為後面是一條條件查詢語句。
query
引數只能指定乙個,如果
query
要為多張表,所以同樣,
tables
裡面也只能有一張表,或者多張表,然後
query
裡面的條件在這些表上面都可以執行。否則只好多寫幾條
exp語句了。
匯出後,或許發現資料比較大,我們可以用一些壓縮工具對資料進行二次壓縮,例如用
winzip, winrar, 7zip
等第三方工具。同樣,
exp支援乙個引數使用者直接對資料進行壓縮:
compress = y,
這個引數直接加到命令的後面即可實現匯出的同時壓縮資料。
匯入資料
imp
我們知道怎麼提取資料,那麼還原的時候,就需要使用
imp命令把匯出的資料載入進去。1 向
atstestdb
裡面載入
c:/export.dmp
資料imp system/123456@atstestdb file=c:/export.dmp
好了,導資料得時候,有可能報錯了。為什麼?有兩種主要的原因:
a. 匯入的物件(表,檢視,方法等)原本不屬於當前連線的使用者的
b. 匯入的物件在該資料庫的指定使用者下已經存在
c. 匯入的物件的原本使用者不再這個資料庫裡
所有物件全部匯入到指定的賬戶下:
imp system/123456@atstestdb file=c:/export.dmp fromuser=sys touser=system
其中fromuser=sys
為.dmp
檔案裡的物件的原先的
owner, touser=system
為作為匯入的物件的新的
owner. 忽略/
插入資料
imp system/123456@atstestdb file=c:/export.dmp ignore=y
其中ignore=y
告訴imp.exe
把資料直接插入到相應物件(並且如果匯入的物件裡面有其他的物件,如約束,索引等,會在資料插入後被建立)。
2 載入其中的指定表
table1,table2
imp system/123456@atstestdb file=c:/export.dmp tables=(table1,table2)
3 忽略載入約束
有時候導資料進來的時候,我們不需要把它的約束,比如一些外來鍵約束等都導進來,可以加上引數
constraints=n
imp system/123456@atstestdb file=c:/export.dmp tables=(table1,table2) constraints=n
4 不載入索引(比如唯一性的索引)
imp system/123456@atstestdb file=c:/export.dmp tables=(table1,table2) indexs=n
5 只載入結構,不載入資料
如果只要表的結構等定義(約束,觸發器),那麼不要裡面的資料,可以加上引數
rows=n
imp system/123456@atstestdb file=c:/export.dmp tables=(table1,table2) rows=n
對於上述操作登陸操作的物件
system
是管理員,如果不是管理員,而是普通使用者,那麼這個使用者必須有建立刪除物件的權利,物件可能包括
表,檢視,方法,儲存過程等等常見的物件。為什麼「可能
」包括?因為這個視匯入匯出的時候是否涉及相關型別的物件而定。
oracle資料庫還原與備份
1.首先查詢目標使用者的當前程序,注意是serial 而不是serial,網上有的介紹漏掉了 select sid,serial from v session where username bjrl 對應資料庫的使用者名稱,注意大寫 使用此語句會返回乙個程序列表,每行有兩個數字,然後用數字替代下面的...
oracle資料庫的備份與還原
備份庫 1.先查詢該sql然後執行查詢出來的sql,不然空表導不出來 select alter table t.table name allocate extent from user tables t where t.num rows 0 2.匯出資料庫dmp檔案到指定位置 需在命令視窗執行,電腦...
oracle備份還原資料庫
1 備份資料庫 exp 使用者名稱 密碼 資料庫名 file e oracle date databack 2013 11 03 init dmp。2 還原資料庫 imp 使用者名稱 密碼 資料庫名 file e oracle date databack 2013 11 03 init dmp fu...