<b>資料庫備份管理</b><b></b>
<b>(一)資料裝載</b><b></b>
1)應用背景:
通過資料裝載可以将大量的按一定規則書寫的資料錄入到資料庫中,比如銀行各地的子行,定期向總部送出一份按一定規則書寫的資料文檔,總部可以将這些資料彙總,然後用資料裝載将文檔中的全部資料錄入到資料庫中。
2)裝載前的準備
A)資料庫中建立一個表用于接受裝載資料:此例中是建立一個testzhuangzai空表,表中
含有id integer , name varchar2(15) , age integer三個字段。在實際應用中,此表一般都
存在。
B)一個記錄所有需要錄入資料的文檔:此文檔可以用文本文檔TXT編寫,進行
資料裝載時,要将其字尾改成“.data”。文檔中的資料格式按裝載規則“XX.ctl”文檔中編寫的規則進行編寫,并跟資料庫中接受資料裝載表的字段相對應,文檔如圖1所示:
圖1
C)編寫裝載規則文檔:裝載時将其字尾改成“.ctl”,裡面的語句為:
load data
infile "D:\orawork\data_zyw.data" //資料文檔的目錄;
into table David.testzhuangzai append // David.testzhuangzai是:資料庫名.表名;
fields terminated by "," //規定資料文檔中字段資料間的間隔符;
(
id,
name,
age //描述格式;
)
文檔如圖2所示:
圖2
3)裝載操作:
指令格式:
sqlldr userid=使用者名@資料庫名/密碼 control=規則文檔路徑 log=日志文檔所需儲存的路徑
注:日志文檔自動生成,我們隻需給出其路徑,檔案名,字尾(.Log)即可;
本例中的指令是:
sqlldr userid=David@David/zyw123 control= D:\orawork\control_zyw.ctl log= D:\orawork\testrz_zyw.log
運作結果如圖3所示:
圖3
在sql*plus中的結果如圖4所示:
圖4
<b>(二)導出資料庫中的資料</b>
如圖5:
圖5
第一步:
點“開始”—>“運作”,打入指令“cmd”,進入DOS環境;
第二步:
1)打入指令:exp
2)登陸資料庫:
登陸格式:
1) 使用者名/密碼@資料庫名 (若隻有一個庫,可以不寫庫名)
2) 使用者名
密碼 (根據提示填寫)
3)根據提示進行填寫:(以導出一個表為例)
資料緩沖區大小:可以不改寫,直接按回車(介意使用);
導出檔案:填寫你需求導出的表名,字尾為.dmp,
導出選項:這裡可以選擇導出資料的類型,可以是使用者(U),或者表(T),如果
不填寫,直接按回車,則預設為導出為使用者,此例中我們用的“t”;
導出表資料:YES/NO,預設值為YES,介意使用預設值,直接按回車;
壓縮區:YES/NO,預設值為YES,介意使用預設值,直接按回車;<b></b>
<b> </b>導出表:在指令“要導出的表<T>或分區<T:P>:<RETURN以退出>>”的後面打
上要導出的表的表名,在這裡不用帶格式字尾;
操作至此,我們就成功的導出一個表,如果還要繼續導出别的表,可以在提示命
令行“要導出的表<T>或分區<T:P>:<RETURN以退出>>”的後面繼續填寫所需導出的
表名,如果不再導出,則直接按Enter鍵退出。
<b> </b>圖1中所示的是,導出David資料庫中David使用者下的testzhuangzai表。
<b>(三)向資料庫中導入資料</b><b></b>
具體操作如圖6所示:
圖6
1)在DOS環境下打入指令“imp”;
2)登陸資料庫,方法同導出操作中一樣;
3)導入資料庫,填寫你需求導入的檔案名,字尾為.dmp
4)在指令“導入整個導出檔案<yes/no>:no>”的後面打入指令符“yes”;
5) 其它選項選其預設值即可,直接按回車;
圖中所示的是,将導出檔案(備份檔案)導入David資料庫中David使用者下。