資料庫的備份操作是在整個項目運行中最重要的工作之一。
一、資料的匯出和匯入
資料的匯出和匯入是針對於一個使用者的備份操作,可以按照如下的方式完成:
1、 資料的匯出
- 在硬碟上建立一個檔案夾:c:\backup;
- 輸入exp指令;
- 輸入使用者名稱和密碼;
- 設定匯出檔案的名稱:匯出檔案: EXPDAT.DMP;
2、 資料的匯入
- 先將表刪除乾淨;
- 進入到匯出檔案所在的檔案夾之中:c:\backup;
- 輸入imp指令;
- 輸入使用者名稱和密碼;
- 匯入整個匯出檔案 (yes/no): no > yes
但是以上的操作只是做為一個示範,因為這種備份操作本身只適合資料量小的情況,如果資料量較大的話,這種操作是會損耗效能的,而且時間也會很長,要想解決大資料量的問題只能對資料分區操作。
二、資料表的冷備份
在資料操作之中,有可能有些使用者不會進行事務的提交,那麼在這種情況下很可能無法進行完整的備份操作,而所謂的冷備份指的就是在閉資料庫執行個體的情況下進行Database Backup操作的實現。
如果要進行冷備份,則需要備份出資料庫中的一些幾個核心內容:
- 控制檔案,指的是控制整個Oracle資料庫的執行個體服務的核心檔案,直接通過”v$controlfile”找到;
- 重做記錄檔,可以進行資料的災難恢複,直接通過”v$logfile”找到;
- 資料檔案,資料表空間檔案,通過”v$datafile”和”v$tablespace”找到;
- 核心操作的設定檔(pfile),通過”SHOW PARAMETER pfile”找到;
從實際的Oracle的部署來講,所有的檔案為了達到IO的平衡操作,要分別儲存在不同的硬碟上。
確定了要備份的檔案之後,下面按照如下的步驟尋找:
1、 使用超級管理員登入
CONN sys/change_on_install AS SYSDBA;
2、 尋找所有的控制檔案目錄
SELECT * FROM v$controlfile;
3、 備份重做記錄檔
SELECT * FROM v$logfile;
4、 尋找資料表空間檔案
SELECT * FROM v$tablespace;SELECT * FROM v$datafile;
5、 找到pfile檔案
SHOW PARAMETER pfile;
6、 關閉資料庫執行個體
SHUTDOWN IMMEDIATE;
7、 將所有尋找到的資料備份到磁碟上;
8、 啟動資料庫執行個體
STARTUP;
一般一個專業的DBA開發人員,必須熟練以上的步驟,這樣才可能在出現災難之後進行及時的恢複。