Linux下搭建Oracle物理Data guard
一、引言
近期利用手頭的空餘機器搭建了Oracle
物理Data guard用於學習,現將過程與大家分享.二、環境準備
u 硬體
兩台主機,當然如果只有一台主機也可以,就是在恢復資料庫時需要路徑轉換,正好手頭有兩台閑置的主機,所以就省去了許多麻煩.
另,實際環境中也應是不同的主機搭建Data guard環境,不然也就失去意義.
u 軟體環境
操作系統:Redhat4u8 x86_64
資料庫版本:Oracle
u 資料庫
主庫(Primary)
安裝資料庫軟體,並創建資料庫,並使之運行在歸檔模式下.
備庫(Standby)
僅安裝資料庫軟體,配置並啟動監聽.
三、具體配置過程
1. 確認主庫的歸檔模式,修改主庫Force logging
SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /oracle/archive_logs/testdb Oldest online log sequence 160 Next log sequence to archive 162 Current log sequence 162 |
SQL> alter database force logging; |
2. 主庫:使用RMAN全庫備份
|
3. 主庫創建備用controlfile
|
將創建的controlfile複製到備用資料庫.
4. 創建pfile,並修改其中備用資料庫參數
pfile中增加如下內容
*.standby_file_management=AUTO *.fal_server='DBPRIMARY' *.fal_client='DBSTANDBY' *.db_unique_name='testdbstd' |
並將其複製到備用庫的$ORACLE_HOME/dbs下.
5. 配置主庫和備用庫的tnsnames.ora,添加如下內容
|
6. 備用庫,恢復資料庫文件.
備用庫創建密碼文件,注意這裡的密碼必須和主庫一致.
在備用庫創建相應目錄(如
bdump等). 在備用庫上使用pfile啟動資料庫到mount狀態(注意步驟3創建的控制文件已經複製到備用資料庫的相應文件夾下)
將備份集複製到備用資料庫的同樣目錄下,如果沒有空間可以使用
link解決.
|
啟動資料庫
|
恢複數據文件
|
7. 主庫,修改歸檔參數
|
注意testdbstd是備庫的db_unique_name.
8. 備庫,應用日誌
|
注意:這裡一定要更改service_names,否則主庫將無法連接備庫.
|
觀察日誌
|
|
日誌正常傳輸、應用.
四、結語
配置過程中遇到了一些問題,如修改備用庫的db_unique_name
后,監聽程序中的Service 名變成和db_unique_name一樣,導致主庫通過tnsnames.ora的配置連接備用庫時無法連接,解決的方法是修改備用庫的service_names,使之和tnsnames.ora中的配置匹配(這裡的情況就是使其等於db_name).有一個驗證方法,就是在修改完
tnsnames.ora后,主、備庫都用sqlplus互相連接一下,以確保正常連接.就是不要忘記將備用庫的pfile換成spfile.(create spfile from pfile,and restart database).
[火星人 ] Linux下搭建Oracle物理Data guard已經有315次圍觀