標籤:
1
安裝環境
在Primary庫上安裝資料庫軟體,並建監聽和執行個體,在Standby庫上安裝資料庫軟體,並建監聽,但不建執行個體。
|
Primary庫 |
Standby庫 |
作業系統 |
CentOS release 6.4 64位 |
CentOS release 6.4 64位 |
IP/主機名稱 |
192.183.3.17/nn |
192.183.3.145/kk |
資料庫軟體版本 |
oracle 11.2.0.1.0 |
oracle 11.2.0.1.0 |
ORACLE_HOME |
/home/oracle/product |
/home/oracle/product |
ORACLE_SID |
orcl |
orcl |
db_unique_name |
primary |
standby |
Net Service Name |
ser_pri |
ser_std |
2
Primary庫配置2.1
設定資料庫強制歸檔與歸檔模式
SQL>alter database force logging;
查看歸檔模式:
SQL>archive log list;
設定歸檔模式:
2.2
重建密碼檔案
同一個Dataguard中所有資料庫必須擁有獨立的密碼檔案,並且保證sys使用者擁有相同密碼來保證redo的傳輸。預設Oracle自建的密碼檔案儲存在$ORACLE_HOME/dbs/orapw$ORACLE_SID中,可以直接copy到standby庫對應目錄中(本案例採用該方法),如果沒有該檔案也可以通過如下方式重建。
[[email protected]~]$ orapwd file='$ORACLE_HOME/dbs/orapw$ORACLE_SID' password=123456 force=y ignorecase=y
2.3
STANDBY記錄檔與控制檔案建立
SQL>alter database add standby logfile group 4('/home/oracle/oradata/orcl/stdby01.log')size 50M; SQL>alter database add standby logfile group 5('/home/oracle/oradata/orcl/stdby02.log')size 50M; SQL>alter database add standby logfile group 6('/home/oracle/oradata/orcl/std03.log')size 50M; SQL>select group#,member from v$logfile order by 1;
SQL> alter database create standby controlfile as 'home/oracle/oradata/orcl/standby01.ctl'; [[email protected] ~]$ cp /home/oracle/oradata/orcl/standby01.ctl /home/oracle/flash_recovery_area/orcl/ standby02.ctl
2.4
修改primary庫pfile2.4.1
產生pfile
SQL>create pfile from spfile; SQL>shutdown immediate;
2.42
修改pfile
[[email protected]~]$vi $ORACLE_HOME/dbs/initorcl.ora
在最後添加如下紅色框內內容:
2.4.3
產生spfile
SQL>startup pfile='/home/oracle/product/dbs/initorcl.ora' SQL>create spfile from pfile='/home/oracle/product/dbs/initorcl.ora';
2.5
修改監聽設定檔
監聽檔案目錄$ORACLE_HOME/network/admin,配置完成後重啟監聽。
[[email protected] admin]$vi listener.ora
2.6
修改TNS設定檔
TNS檔案目錄$ORACLE_HOME/network/admin。
[[email protected] admin]$vi tnsnames.ora
2.7
備份資料庫
[[email protected] backupset]$rman target/ RMAN>sql ''alter system archive log current''; RMAN>backup database include current controlfile for standby plus archivelog;
備份完成後會在閃回區生產備份檔案。
3
standby庫配置3.1
建立相應的檔案目錄
包括dump檔案目錄,閃回區,資料檔案目錄,可以通過show parameter dest命令查看
[[email protected]~]$mkdir -p /home/oracle/admin/orcl/adump [[email protected]~]$mkdir -p /home/oracle/admin/orcl/dpdump [[email protected]~]$mkdir -p /home/oracle/admin/orcl/pfile [[email protected]~]$mkdir -p /home/oracle/diag/rdbms [[email protected]~]$mkdir -p /home/oracle/flash_recovery_area [[email protected]~]$mkdir -p /home/oracle/oradata/orcl
3.2
從primary程式庫伺服器上拷貝檔案3.2.1
拷貝閃回區的備份內容
[[email protected] ORCL]$scp -r /home/oracle/flash_recovery_area/ORCL/backupset 192.183.3.145:/home/oracle/flash_recovery_area/ORCL/
3.2.2
拷貝參數檔案與密碼檔案
[[email protected] ORCL]$scp -r /home/oracle/product/dbs 192.183.3.145:/home/oracle/product/dbs
3.2.3
拷貝監聽檔案
[[email protected]~]$scp -r /home/oracle/product/network/admin/*.ora 192.183.3.145:/home/oracle/product/network/admin/
3.3
修改監聽設定檔
3.4
TNS設定檔
3.5
修改參數檔案
[[email protected] ~]$ vi $ORACLE_HOME/dbs/initorcl.ora
修改如下內容:
3.6
啟動standby庫nomount狀態
SQL> STARTUP nomount pfile='/home/oracle/product/dbs/initorcl.ora'; SQL> create spfile from pfile='/home/oracle/product/dbs/initorcl.ora';
3.7
恢複資料庫
[[email protected]~]$rman target sys/[email protected]_pri auxiliary/ RMAN> duplicate target database for standby nofilenamecheck dorecover;
或者執行如下的指令碼也可以進行standby庫的恢複。
3.8
啟動STANDBY庫
Duplicate 完成後standby庫已經處於正常的mount狀態,應開啟recover。
SQL> alter database recover managed standby database disconnect from session;
查看資料庫角色、角色切換、保護模式
SQL> select database_role,switchover_status,protection_mode,protection_level from v$database;
3.9
驗證配置是否成功
歸檔日誌Current log sequence相同,說明配置成功,如下:
ORACLE 11G 之DATAGUARD搭建物理standby