1. 程式人生 > >如何用PL/SQL備份oracle資料庫

如何用PL/SQL備份oracle資料庫

Oracle中對資料物件和資料的管理,無疑都是使用PL/SQL Developer來進行管理,該工具也提供給我們很多方便、快捷的操作,使得我們不再為Oracle本身醜陋、難用的UI而抱怨。由於我們一般都是建建表、查查資料的操作居多,較少會考慮系統的整個Oracle的完整備份操作。但是在我們一些釋出操作中,我們必須考慮如何把Oracle的物件、表資料匯出到Sql指令碼中,並且把建立Oracle表空間、建立Oracle資料庫的操作也放到指令碼中,這樣我們就方便快速還原或者部署Oracle資料庫到新的機器上了。

本文主要介紹如何結合Sql指令碼和PL/SQL Developer工具來實現建立表空間、建立資料庫、備份資料庫、資料匯出等操作,然後實現Oracle物件建立、匯入資料等操作,方便我們快速瞭解、建立所需要的部署Sql指令碼和資料庫操作。

1、 準備資料庫建立指令碼

create tablespace whc_tbs datafile 'E:\oracle\oradata\whcdb\whc.dbf' size 100M;  
--DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
create user whc identified by whc default tablespace whc_tbs; 
grant connect,resource to whc;   
grant dba to whc;
--Revoke dba from whc;  


其中--的註釋語句是刪除名稱空間和移除DBA使用者的許可權的。

以上這些指令碼是為了我們在新建一個表空間和Oracle資料庫的時候使用的。

其中E:\oracle\oradata\whcdb\whc.dbf路徑是我們要存放資料庫資料的位置,因此要保證該路徑有足夠的空間和足夠的訪問許可權,否則會失敗的。

2、 匯出資料庫物件

在PL/SQL Developer的選單Tools=>Export User Objects中出來一個對話方塊介面,然後框選要到處的Oracle 資料庫物件,包括表,序列,儲存過程,檢視,函式等等,並指定匯出的檔名稱,如下操作。

3)匯出表資料

 匯出表結構和其他物件後,我們下一步就是把資料庫的表資料進行匯出,PL/SQL Developer工具支援匯出資料到PL/SQL資料庫指令碼中,如下所示。這樣匯出的指令碼,我們可以在PL/SQL Developer工具匯入或者自己通過Sql plus 工具進行匯入。

至此,我們就已經完成了三種指令碼了,包括建立資料庫空間和資料庫指令碼、建立Oracle資料庫物件(表、儲存過程、檢視、序列等)、建立匯入資料的指令碼,這樣三種合一,就是一個完整的資料庫了。最後一步就是我們如何匯入資料庫物件和資料的問題了。

4)匯入資料庫物件及資料

匯入資料庫物件和資料的操作一樣,都可以通過Import Tables操作實現,我們指定剛才上面兩步建立的資料庫指令碼,執行即可再新的環境中建立資料庫物件和資料庫資料了。如下所示。

執行的資料介面如下所示。

完成上面幾個步驟,我們在新的資料庫環境中,就具備了所有的東西了,順利完成整個Oracle資料庫物件及資料的遷移工作。

以上值得注意的是,我們匯出Oracle物件和資料的時候,預設還是原來Oracle資料庫的表空間和資料庫使用者名稱稱的,如果我們想要在新的資料庫伺服器中指定不同的表空間和資料庫使用者物件,那麼我們就需要替換生成的sql指令碼,並在第一步指定合理的表空間和資料庫使用者。

如果是Linux平臺下的資料庫伺服器,第一步操作也是差不多的,就是指定表空間的路徑名稍微不同,其他操作並無差異。