Oracle 11gR2 Active DataGuard配置Step By Step(一)
Oracle作為目前最流行的商業資料庫,除了單獨資料庫DBMS之外,還針對實際運維繫統需求,提供了一系列高可用HA解決方案。這其中,RAC+Dataguard是我們最常見的HA策略方案,也是普遍認為成熟的策略。
Data Guard在11G中有了很大的發展,最典型的兩個特性就是Active Data Guard和Advanced Compression引入。傳統Data Guard的Physical Standby結點在進行Redo Apply過程中,是不能開啟資料庫讀取資料的。如果需要進行讀取,則必須先將其終止Apply過程,才能支援Redo Apply。Active Data Guard特性就是支援Standby結點在Apply的同時支援只讀資料庫。這也就是為什麼11G之後,很多企業選擇DG作為讀寫分離策略的技術手段。
Advanced Compression是一個綜合技術,在Data Guard中也有AC的過程。遠端災備使用Data Guard的一種重要瓶頸就是傳輸頻寬限制。所有的Redo Log資料都要透過Primary與Standby之間的連線進行傳遞,過量Redo Log會限制災備資料同步程度。Advanced Compression可以將Redo Log進行一定程度壓縮,提高同步率。
本篇主要介紹在11gR2版本中,使用RMAN的duplicate from active database的新方法進行搭建。注意:從10g開始,有其他手段搭建DG。
1、環境介紹
我們選擇作業系統為Red Hat 6.5版本,磁碟空間充足。
[root@SimpleLinux ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@SimpleLinux ~]# uname -r
2.6.32-431.el6.i686
[root@SimpleLinux ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 13G 33G 28% /
tmpfs 947M 0 947M 0% /dev/shm
當前資料庫名稱ora11g,環境變數如下:
[oracle@SimpleLinux ~]$ env | grep ORA
ORACLE_SID=ora11g
ORACLE_BASE=/u01/app
ORACLE_HOME=/u01/app/oracle
由於是實驗環境,筆者在同一臺機器上搭建Data Guard。不同伺服器上操作方法相同。資料庫版本為最新的11.2.0.4。
SQL> select * from v$version;
BANNER
------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
資料庫三大檔案:控制檔案、日誌檔案(Online)和資料檔案遵守OMF(Oracle Managed File)策略。
SQL> select name from v$controlfile;
NAME
---------------------------------------------
/u01/app/oradata/ORA11G/controlfile/o1_mf_9mnjwpko_.ctl
/u01/app/fast_recovery_area/ORA11G/controlfile/o1_mf_9mnjwpw2_.ctl
SQL> select group#, member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------------------------
3 /u01/app/oradata/ORA11G/onlinelog/o1_mf_3_9mnjx4n0_.log
3 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_3_9mnjx54c_.log
2 /u01/app/oradata/ORA11G/onlinelog/o1_mf_2_9mnjwzpq_.log
2 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_2_9mnjx15f_.log
1 /u01/app/oradata/ORA11G/onlinelog/o1_mf_1_9mnjwtj9_.log
1 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_1_9mnjwvdm_.log
6 rows selected
SQL> select file_name from dba_data_files;
FILE_NAME
-----------------------------------
/u01/app/oradata/ORA11G/datafile/o1_mf_users_9mnjs074_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_9mnjs068_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_9mnjs04h_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_system_9mnjrzty_.dbf
當前資料庫位於非歸檔模式。
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Current log sequence 6
注意:OMF是Oracle推薦的一種檔案管理策略。傳統的檔案管理是管理員直接指定檔案目錄和名稱,而OMF下是不需要指定檔案的。而且,如果配置了Recovery Area目錄,Oracle OMF會將兩大映象檔案,online redo log和control file映象存放在Recovery Area中。
當前配置了Recovery Area支援。
SQL> show parameter recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/fast_recovery_area
db_recovery_file_dest_size big integer 10000M
db_unrecoverable_scn_tracking boolean TRUE
recovery_parallelism integer 0
實驗目標是建立ora11g的physical standby資料庫,例項名稱ora11gsy。
2、資料庫Primary Database配置
Data Guard是要求在Primary Database端進行配置要求的。具體包括如下:
ü 歸檔模式切換。Data Guard執行的基礎是Redo Log傳輸,Primary Database要求進行歸檔模式配置;
ü Force Logging配置,確保Redo Log生成完整性;
ü Standby Log建立;
ü 主庫引數配置;
修改歸檔模式,切換到歸檔日誌方式。預設情況下,如果開啟recovery area,歸檔日誌是會放在recovery area中的。
SQL> alter database archivelog;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
Force logging是針對Oracle一些nologging操作而言的。Redo Log的責任是記錄所有資料塊的變化,還原重做redo log意味著資料同步。如果有nologging操作,生成redo log是不完全的,傳遞到physical standby中還原的也就不完全,難以做到同步。所以,Dataguard一定是將force logging進行配置。
SQL> alter database force logging;
Database altered
SQL> select force_logging from v$database;
FORCE_LOGGING
-------------
YES
下面構建standby log file在主庫中。一些文獻沒有這個步驟,而只關注physical standby端的standby log建立。Standby log file是作為Redo Transfer過程的一箇中轉。通常而言,當日志被傳遞到Standby端,就應該立即應用Apply。如果此時沒有開啟應用過程,是會把日誌暫存在這個地方的。對每一個standby,都需要建立一個或者多組standby log group。對於Primary Database,由於可能有role transition的情況,所以也需要進行配置。
注意:Primary Database中使用了OMF,我們可以很方便的進行建立standby log group。
SQL> alter database add standby logfile size 100m;
Database altered
SQL> alter database add standby logfile size 100m;
Database altered
SQL> alter database add standby logfile size 100m;
Database altered
也形成了配置映象結構。
SQL> select group#, member from v$logfile where type='STANDBY';
GROUP# MEMBER
---------- --------------------------------------------------------------------------------
4 /u01/app/oradata/ORA11G/onlinelog/o1_mf_4_9nn5ntsv_.log
4 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_4_9nn5o0jw_.log
5 /u01/app/oradata/ORA11G/onlinelog/o1_mf_5_9nn5oq6d_.log
5 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_5_9nn5owlv_.log
6 /u01/app/oradata/ORA11G/onlinelog/o1_mf_6_9nn5p82m_.log
6 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_6_9nn5pc70_.log
6 rows selected
檢視v$standby_log,可以檢視日誌使用情況。
SQL> select group#, dbid, bytes from v$standby_log;
GROUP# DBID BYTES
---------- ---------------------------------------- ----------
4 UNASSIGNED 104857600
5 UNASSIGNED 104857600
6 UNASSIGNED 104857600
最後進行主庫引數修改,具體來說需要修改六個引數。
引數log_archive_config用於指定環境中DG範圍。
SQL> show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string
SQL> alter system set log_archive_config='DG_CONFIG=(ora11g,ora11gsy)' scope=spfile;
System altered
要新增歸檔日誌傳輸位置,archive_dest引數包括兩種型別位置,location和service。Location參數列示本地目錄歸檔日誌存放,而service表示透過Oracle NET服務傳輸過去。要實現Dataguard元件,需要將日誌指定到service裡面。
SQL> alter system set log_archive_dest_2='SERVICE=ora11gsy valid_for=(online_logfiles,primary_role) db_unique_name=ora11gsy' scope=spfile;
System altered
SQL> alter system set log_archive_dest_state_2=enable;
System altered
注意:valid_for參數列示這個傳遞通道在什麼時候發揮作用。Online_logfiles和Primary_role表示當前例項為Primary角色的時候,才傳遞日誌。這樣的配置是最常用的方式。
Name convert引數配置,對日誌檔案和資料庫檔案而言,目錄是一個重要標識專案。Primary和Standby在轉換過程中,要確立變換替換規則,這個過程需要進行實際的研究。
SQL> alter system set db_file_name_convert='ORA11G','ORA11GSY' scope=spfile;
System altered
SQL> alter system set log_file_name_convert='ORA11G','ORA11GSY' scope=spfile;
System altered
注意:在一些資料中,介紹11g裡如果採用了OMF策略,這個引數是可以不設定的。
最後引數是standby_file_management策略,預設是manual。該引數用於控制Primary與Standby之間檔案建立的方式。標準的DG環境下,在Primary DB下新增資料檔案,會自動在Standby中增加檔案。
SQL> show parameter standby_file_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string MANUAL
SQL> alter system set standby_file_management=auto;
System altered
SQL> show parameter standby_file_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
下面需要配置的就是網路Oracle Net內容。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29440247/viewspace-1700331/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11gR2 Active DataGuard配置Step By Step(二)Oracle
- Oracle 11gR2 Active DataGuard配置Step By Step(三)Oracle
- Step By Step of Configuring Oracle 11gR2 (11.2.0.1) RAC to RAC DataguardOracle
- 使用RMAN備份集搭建Oracle Dataguard Step by Step(一)Oracle
- 使用RMAN備份集搭建Oracle Dataguard Step by Step(二)Oracle
- oracle10g simpe AQ step by step(一)Oracle
- Oracle高階複製Step by StepOracle
- linux中配置NFS服務step by stepLinuxNFS
- React Step by StepReact
- Step by Step TimesTen ----- 配置client-server連線clientServer
- oracle10g simpe AQ step by step(二)Oracle
- Step by Step Data Replication Using Oracle GoldenGateOracleGo
- Oracle 12c GI/RAC Step-by-Step安裝指南(一)Oracle
- Oracle 10g R2建立ASM例項Step By Step(一)Oracle 10gASM
- Step by Step Guide on Creating Physical Standby Using RMAN DUPLICATE...FROM ACTIVE DATABASE WithoutGUIIDEDatabase
- step by step install oracle 10g rac asm on windowsOracle 10gASMWindows
- Command 模式 Step by Step模式
- BAPI Step by step GuidanceAPIGUI
- Step by Step TimesTen --- ttIsqlSQL
- Linkerd 2.10(Step by Step)—設定服務配置檔案
- 使用RMAN備份集搭建Oracle Datagard Step by Step(三)Oracle
- Step By Step Install Oracle10g RAC On Hp-uxOracleUX
- Promise的實現(step by step)Promise
- Learn c++ step by step (轉)C++
- Step by Step TimesTen --- DataStore的雙向複製( 一)AST
- GoldenGate<一> step by step installation and configurationGo
- [Oracle] Installing Oracle 10g on RHEL AS 3 Step-by-StepOracle 10g
- Oracle 12c GI/RAC Step-by-Step安裝指南(二)Oracle
- Oracle 12c GI/RAC Step-by-Step安裝指南(三)Oracle
- Oracle 12c GI/RAC Step-by-Step安裝指南(四)Oracle
- Oracle 12c GI/RAC Step-by-Step安裝指南(五)Oracle
- Oracle 12c GI/RAC Step-by-Step安裝指南(六)Oracle
- step by step install oracle 10g rac asm操作文件Oracle 10gASM
- Linux Software RAID step by stepLinuxAI
- Git Step by Step (3):Git物件模型Git物件模型
- 安裝linux(step by step)(轉)Linux
- Learn C++ step by step(2) (轉)C++
- 單步除錯 step into/step out/step over 區別詳解除錯