背景:一個團隊項目開發,不可能每個人都架設自己本地的數據庫,大多數情況下是統一用服務器上的數據庫,這時候就需要進行遠程數據庫的連接。而且有時候還需要進行數據庫搬遷 ,這時候就需要進行數據庫的備份和恢復了。
從最初創建一個數據庫實例開始:
一.創建數據庫實例
通過數據庫配置助手進行數據庫實例的創建即可,最後得到數據實例的配置信息
SID即為數據庫實例的名稱:ZHeOracle(並不區分大小寫),也可通過sql指令來查詢數據庫實例:
有數據庫實例後,得為數據庫實例配置監聽器,這樣實例才能接受客戶端發出的連接請求
二.服務器端的監聽器配置
進行監聽位置和數據庫服務的配置,最後點擊文件,保存配置即可。
客戶端要連接遠程的服務器就要配置服務命名:
三.客戶端服務命名配置
填寫需要連接的遠程網絡數據庫IP
下一步,進行連接測試。若不成功,可能是默認的用戶被鎖定了,可選更改登陸,使用system用戶測試即可。
補充:
以上服務器端的監聽器和客戶端的服務命名都是在可視化界面進行配置,下面介紹非可視化配置:
oracle安裝路徑:E:\oracle\product\10.2.0\client_1\network\ADMIN
找到以下文件:
tnsnames.ora—客戶端服務命名配置文件
listener.ora---服務器端監聽器配置文件
注意:全局數據庫名和數據庫實例名並非同一個概念!
四.客戶端登陸
目前服務器端數據庫和客戶端都是在本機(127.0.0.1),確認相關服務已經開起來:
使用SQL Plus登陸:
使用客戶端的服務命名名稱,這裡是ZHe_Test(並不區分大小寫)
使用plsqldev登陸:
紅色部分也是服務命名
五.數據庫實例的備份和恢復
以使用plsqldev工具進行數據庫備份為例,進行數據庫實例的導出和恢復:
1.導出用戶數據庫對象: Tools—export user objects
用戶ZHE下有這些用戶對象,選中Export導出.sql文件。
2.導出用戶數據庫數據(數據記錄之類的):Tools—export tables
導出的文件格式為.dmp
3.進行數據庫的恢復
准備工作(創建表空間和用戶的腳本.sql):
由於備份的數據庫表可能原來是存放在某個表空間(比如原來是存放在zhe_tbs表空間),那麼現在要被導入的數據庫如果沒有zhe_tbs表空間那麼執行導入操作時就會報錯,這裡code1就是創建zhe_tbs表空間(D:\ZHe_Oracle\ZHe_Orac為要被導入的數據庫實例所在的路徑,而且要確保你擁有足夠的權限)。Code創建用戶並且設置該用戶的表空間為zhe_tbs,code5、6給用戶zheuser授權以下角色:
Tools—import tables(注意:先導入用戶數據庫對象,然後再導入數據庫記錄,順序錯誤就會報錯!):
導入用戶數據庫對象:
導入數據庫對象數據:
至此數據庫恢復結束