rac環境下standby資料庫的實現
生產環境:
作業系統:RedHat AS3.0
資料庫:Oracle 9.2.0.4 RAC
儲存:普通陣列[@more@]
一、資料庫首次同步
1.1資料檔案同步
因為生產庫的資料庫檔案是建立在裸裝置上,使用DD方式進行同步比較困難,這裡使用RMAN方式進行同步。
(以下操作在生產庫主機上)
a、在一個生產主機節點上,把生產庫啟動到MOUNT狀態,然後庫使用rman對全庫進行備份,產生的備份集piece放在/rman_bk目錄下。
b、改變/rman_bk的許可權
# chmod 777 /rman_bk
c、共享此目錄,編輯/etc/exports檔案,新增如下內容:
/rman_bk *(rw,async)
(然後重新啟動NFS服務)
#service nfs start
d、產生一個備份的控制檔案(用RMAN恢復的時候使用),產生一個STANDBY控制檔案。
SQL>ALTER DATABASE BACKUP CONTROLFILE TO '/rman_bk/control.bk';
SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/rman_bk/control.stdby';
e、產生一個pfile檔案
SQL>create pfile='/rman_bk/initcuug.ora' from spfile='/oracle/product/9.2.0.4/dbs/spfilecuug.ora';
(以下操作在standby主機上)
f、在standby主機上把遠端的共享掛接上,掛接點與生產主機一樣(否則rman恢復時找不到路徑):
#mount 192.168.8.91:/rman_bk /rman_bk
g、以oracle使用者身份,把生產資料庫的初始化引數檔案複製到$ORACLE_HOME/dbs目錄下,並改名為initstdby.ora,然後遮蔽裡面的幾個引數:
#*.cluster_database=true
#cuug2.local_listener='LISTENER_CUUG2'
#cuug1.local_listener='LISTENER_CUUG1'
#*.remote_listener='LISTENERS_CUUG'
h、新增如下幾個引數:
lock_name_space=stdby
remote_archive_enable=TRUE
standby_archive_dest='/oracle/stdby_arch'
db_file_name_convert=('/oracle/oradata/cuug','/oracle/oradata/cuug')
log_file_name_convert=('/oracle/oradata/cuug','/oracle/oradata/cuug')
standby_file_management=AUTO
i、把生產庫產生的控制檔案複製到制定的目錄下,啟動stdby例項,並且掛接資料庫。
j、恢復資料檔案到standby主機中:
$rman target /
RMAN> restore database;
k、關閉例項,把控制檔案刪除,複製standby控制檔案到制定位置,並把standby控制檔案改名,然後啟動例項:
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
(以下操作在生產庫主機上)
l、編輯生產庫的初始化引數檔案
$sqlplus '/as sysdba'
SQL>alter system set log_archive_dest_2='SERVICE=stdby';
m、重新啟動資料庫
$srvctl start database -d cuug
n、檢查各個節點上的歸檔是否正常,切換生產庫的日誌,檢視standby主機是否歸檔成功,並且是否正常recovery(透過監視警告日誌檔案來實現)
總結:如果大家以前做過單機上的standby資料庫,那麼做這個試驗就很簡單了,主要就是首次同步的方式比較重要。
作業系統:RedHat AS3.0
資料庫:Oracle 9.2.0.4 RAC
儲存:普通陣列[@more@]
一、資料庫首次同步
1.1資料檔案同步
因為生產庫的資料庫檔案是建立在裸裝置上,使用DD方式進行同步比較困難,這裡使用RMAN方式進行同步。
(以下操作在生產庫主機上)
a、在一個生產主機節點上,把生產庫啟動到MOUNT狀態,然後庫使用rman對全庫進行備份,產生的備份集piece放在/rman_bk目錄下。
b、改變/rman_bk的許可權
# chmod 777 /rman_bk
c、共享此目錄,編輯/etc/exports檔案,新增如下內容:
/rman_bk *(rw,async)
(然後重新啟動NFS服務)
#service nfs start
d、產生一個備份的控制檔案(用RMAN恢復的時候使用),產生一個STANDBY控制檔案。
SQL>ALTER DATABASE BACKUP CONTROLFILE TO '/rman_bk/control.bk';
SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/rman_bk/control.stdby';
e、產生一個pfile檔案
SQL>create pfile='/rman_bk/initcuug.ora' from spfile='/oracle/product/9.2.0.4/dbs/spfilecuug.ora';
(以下操作在standby主機上)
f、在standby主機上把遠端的共享掛接上,掛接點與生產主機一樣(否則rman恢復時找不到路徑):
#mount 192.168.8.91:/rman_bk /rman_bk
g、以oracle使用者身份,把生產資料庫的初始化引數檔案複製到$ORACLE_HOME/dbs目錄下,並改名為initstdby.ora,然後遮蔽裡面的幾個引數:
#*.cluster_database=true
#cuug2.local_listener='LISTENER_CUUG2'
#cuug1.local_listener='LISTENER_CUUG1'
#*.remote_listener='LISTENERS_CUUG'
h、新增如下幾個引數:
lock_name_space=stdby
remote_archive_enable=TRUE
standby_archive_dest='/oracle/stdby_arch'
db_file_name_convert=('/oracle/oradata/cuug','/oracle/oradata/cuug')
log_file_name_convert=('/oracle/oradata/cuug','/oracle/oradata/cuug')
standby_file_management=AUTO
i、把生產庫產生的控制檔案複製到制定的目錄下,啟動stdby例項,並且掛接資料庫。
j、恢復資料檔案到standby主機中:
$rman target /
RMAN> restore database;
k、關閉例項,把控制檔案刪除,複製standby控制檔案到制定位置,並把standby控制檔案改名,然後啟動例項:
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
(以下操作在生產庫主機上)
l、編輯生產庫的初始化引數檔案
$sqlplus '/as sysdba'
SQL>alter system set log_archive_dest_2='SERVICE=stdby';
m、重新啟動資料庫
$srvctl start database -d cuug
n、檢查各個節點上的歸檔是否正常,切換生產庫的日誌,檢視standby主機是否歸檔成功,並且是否正常recovery(透過監視警告日誌檔案來實現)
總結:如果大家以前做過單機上的standby資料庫,那麼做這個試驗就很簡單了,主要就是首次同步的方式比較重要。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14377/viewspace-891005/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC環境的STANDBY資料庫備份報錯資料庫
- 【RAC】rac環境下的資料庫備份與還原資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(四)單例資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(三)單例資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(二)單例資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(一)單例資料庫
- RAC環境STANDBY的SWITCHOVER切換
- RAC環境STANDBY的FAILOVER切換AI
- RAC資料庫建立STANDBY(六)資料庫
- RAC資料庫建立STANDBY(五)資料庫
- RAC資料庫建立STANDBY(四)資料庫
- RAC資料庫建立STANDBY(三)資料庫
- RAC資料庫建立STANDBY(二)資料庫
- RAC資料庫建立STANDBY(一)資料庫
- RAC環境的物理STANDBY的 SWITCHOVER切換
- rman 可否克隆rac資料庫到另外一個rac環境的資料庫中?資料庫
- ORACLE RAC資料庫配置Dataguard環境(3)Oracle資料庫
- ORACLE RAC資料庫配置Dataguard環境(2)Oracle資料庫
- ORACLE RAC資料庫配置Dataguard環境(1)Oracle資料庫
- RAC環境LOGICAL STANDBY的SWITCHOVER切換
- RAC環境利用備份恢復RAC資料庫(五)資料庫
- RAC環境利用備份恢復RAC資料庫(四)資料庫
- RAC環境利用備份恢復RAC資料庫(三)資料庫
- RAC環境利用備份恢復RAC資料庫(二)資料庫
- RAC環境利用備份恢復RAC資料庫(一)資料庫
- RMAN duplicate 建立standby RAC資料庫資料庫
- RAC環境中的資料庫部署技術——RAC部署和效能資料庫
- RAC環境LOGICAL STANDBY的FAILOVER切換AI
- 成功恢復無備份RAC環境資料庫資料庫
- RAC環境只啟動單例項資料庫單例資料庫
- rac環境下使用impdp匯入資料出錯
- RAC環境下dataguard的搭建
- 【RAC】資料庫的靜默狀態(QUIESCE RESTRICTED)對RAC環境的影響資料庫UIREST
- Mac環境下安裝MongoDB資料庫MacMongoDB資料庫
- centos環境下如何匯出資料庫CentOS資料庫
- 從單例項資料庫轉換到RAC環境——RAC的建立和配置單例資料庫
- RAC環境下修改系統引數後 重啟資料庫全過程資料庫
- RAC環境下單例項啟動Oracle資料庫重建控制檔案案例單例Oracle資料庫