国产传媒在线视频丨亚洲精品入口a级丨青草青草久热丨精品美女久久久久丨亚洲不卡影院丨欧美裸体xxxx丨久久全国免费视频丨亚洲好看站丨久久亚洲人成综合网丨hs网站在线观看丨国产做爰xxxⅹ高潮视频在线丨131美女爱做视频国产福利丨在线观看免费www丨香蕉视频久久久丨亚洲精品永久www嫩草丨亚洲aⅴ综合av国产八av丨国产高清无码在线com丨国产成人精品自在线拍丨毛片在线看片丨91丨九色丨丰满人妖丨免费看h网站丨毛片的视频丨瑟瑟av丨欧美激情在线播放丨一本一久本久a久久精品综合

您當前的位置:首頁 > 新聞資訊 > 產品動態 > 正文

【新東網技術大咖帶您走進ADG】Oracle Active Data Guard(ADG)實現數據層讀寫分離

發布時間: 2016-12-30 14:53:39  
分享到:

 

/ 華西研發

 

 

 

 
專欄介紹

新東網自2001年成立以來,掌握大數據、云計算、通信、物聯網及區塊鏈等信息技術,擁有一支逾16年經驗的強大IT團隊。為沉淀企業技術實力,繼續發揮行業優勢,《東網快訊》特邀新東網技術大咖帶您走進這些先進信息技術,揭秘新東網16年來的技術成果,每周五發布

 

環境準備
 

 

資源劃分:

 

虛擬機

劃分資源

IP_DB1192.168.1.10

12C/32G/1.2T硬盤

IP_DB2192.168.1.20

12C/32G/1.2T硬盤

 

系統結構

 

 

 

ADG介紹
 

 

容災系統主要包括數據保護和應用切換兩大方面,其中最為重要的是數據保護部分。除了要將這些數據存放在高可用的存儲設備上之外,最重要的是這些關鍵數據應該在異地之間保持一致,以使災難發生后,系統可以盡快恢復。下面是幾種主要的數據保護技術。 

 

實現數據的異地復制,有軟件方式和硬件方式兩種途徑。軟件方式,是通過主機端軟件來實現,如第三方軟件或者數據庫廠家提供的遠程數據容災工具來實現業務數據的遠程復制。硬件方式,是基于智能存儲系統的控制器的遠程拷貝,可以在主、備存儲系統之間通過硬件實現復制。 

 

在實際的容災系統中,由于系統的環境不同,安全性要求不同以及采用的軟硬件產品不同,數據復制過程中的工作機制也不盡相同。概括地講,數據復制工作機制主要包括同步和異步兩種。同步遠程鏡像(同步復制技術)是指通過遠程鏡像軟件,將本地數據以完全同步的方式復制到異地,每一本地的I/O事務均需等待遠程復制的完成確認信息,方予以釋放。異步遠程鏡像(異步復制技術)保證在更新遠程存儲視圖前完成向本地存儲系統的基本I/O操作,而由本地存儲系統提供給請求鏡像主機的I/O操作完成確認信息,遠程的數據復制以后臺同步的方式進行。因為帶寬等因素限制,本次容災方案僅包括了異步復制的方式的討論。

 

 ADG實現原理 

 

Oracle Active Data Guard 是當今保護企業核心資產(數據)的最有效解決方案,它能夠使數據在 24x7 的基礎上可用,而無論是否發生災難或其它中斷。 

 

Oracle Active Data Guard 是管理、監控和自動化軟件的基礎架構,它創建、維護和監控一個或多個備用數據庫,以保護企業數據結構不受故障、災難、錯誤和崩潰的影響。    

 

Oracle Active Data Guard 使備用數據庫保持為與生產數據庫在事務上一致的副本。這些備用數據庫可能位于距生產數據中心數千公里的遠程災難恢復站點,或者可能位于同一城市、同一校園乃至同一建筑物內。當生產數據庫由于計劃中斷或意外中斷而變得不可用時,Oracle Active Data Guard 可以將任意備用數據庫切換到生產角色,從而使與中斷相關的停機時間減到最少,并防止任何數據丟失。  

 

作為 Oracle 數據庫企業版的一個特性推出的 Oracle Active Data Guard 能夠與其它的 Oracle 高可用性 (HA) 解決方案(如真正應用集群 (RAC) 和恢復管理器 (RMAN))結合使用,以提供業內前所未有的高水平數據保護和數據可用性。

 

Oracle Active Data Guard 包括一個生產數據庫,也稱為主數據庫,以及一個或多個備用數據庫,這些備用數據庫是與主數據庫在事務上一致的副本。Data Guard 利用重做數據保持這種事務一致性。當主數據庫中發生事務時,則生成重做數據并將其寫入本地重做日志文件中。通過 Oracle Active Data Guard,還將重做數據傳輸到備用站點上,并應用到備用數據庫中,從而使備用數據庫與主數據庫保持同步。Oracle Active Data Guard 允許管理員選擇將重做數據同步還是異步地發送到備用站點上。

 

備用數據庫的底層技術是 Oracle Active Data Guard 重做應用(物理備用數據庫)。物理備用數據庫在磁盤上擁有和主數據庫逐塊相同的數據庫結構,并且使用 Oracle 介質恢復進行更新。  

 

Oracle Active Data Guard 簡化了主數據庫和選定的備用數據庫之間的轉換和故障切換,從而減少了由計劃停機和計劃外故障所導致的總停機時間。

 

實現過程
 

 

實現前準備工作

 

a. 參數文件/etc/sysctl.conf中添加:

fs.file-max = 6815744

kernel.sem = 250 32000 100 128

kernel.shmmni = 4096

kernel.shmall = 1073741824

kernel.shmmax = 4398046511104

kernel.panic_on_oops = 1

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.ipv4.conf.all.rp_filter = 2

net.ipv4.conf.default.rp_filter = 2

fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 9000 65500

執行sysctl -p應用修改內核參數。

b. 在文件/etc/security/limits.conf末尾添加:

oracle   soft   nofile    1024

oracle   hard   nofile    65536

oracle   soft   nproc    16384

oracle   hard   nproc    16384

oracle   soft   stack    10240

oracle   hard   stack    32768

c. 修改oracle的環境變量,Oracle家目錄/.bash_profile下添加一下變量:

export ORACLE_BASE=/home/oracle/app/oracle

export ORACLE_HOME=/home/oracle/app/oracle/datadb

export ORACLE_SID=prim

export PATH=$ORACLE_HOME/bin:$PATH

執行:source .bash_profile應用環境變量

d. 創建oracle用戶和組:

Groupadd oinstall

Groupadd dba

Useradd -g oinstall -G dba oracle

 

開始安裝數據庫

 

1) Grid安裝:

解壓grid安裝包,進入解壓目錄執行:./runInstaller,根據提示安裝好grid

2) Database安裝:

解壓database安裝包,進入解壓目錄執行:./runInstaller,根據提示安裝好database并建好主庫。

 

開始配置dg

 

a. 配置前準備:

主庫:192.168.1.10

備庫:192.168.1.20

主備在/etc/hosts添加:

192.168.1.10 primary.com primary

192.168.1.20 standby.com standby

主備的實例名:prim(環境變量里面的ORACLE_SID)

b. 主庫啟動force logging

c. 主庫啟動歸檔模式

d. 在主庫添加standby redo logfile

添加主庫redo個數+1standby redo logfile

查看主庫redo個數:

SQL>select member from v$logfile;

添加standby redo logfile

SQL>Alter database add standby logfile '和主庫redo路徑一樣' size 50M;

e. 分別在主備和備庫配置監聽并啟動

f. 在備庫創建必要目錄

mkdir  -p  /home/oracle/app/oracle/oradata/

mkdir  -p  /home/oracle/app/oracle/fast_recovery_area/

mkdir  -p  /home/oracle/app/oracle/admin/prim/adump

g. 在主庫創建pfile文件并修改怕file內容

*.db_unique_name='prim'

*.log_archive_config='dg_config=(prim,stan)'

*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=prim'

*.log_archive_dest_2='service=stan valid_for=(online_logfiles,primary_role) lgwr sync affirm  db_unique_name=stan'

*.log_archive_dest_state_1=enable

*.log_archive_dest_state_2=enable

*.standby_file_management='auto'

*.fal_server='stan'

h. 用新參數重啟數據庫

i. 將主庫的口令文件copy到備庫

j. 將主庫的參數文件copy到備庫并修改

*.db_unique_name='stan'

*.log_archive_config='dg_config=(prim,stan)'

*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=stan'

*.log_archive_dest_2='service=prim valid_for=(online_logfiles,primary_role) lgwr sync affirm  db_unique_name=prim'

*.log_archive_dest_state_1=enable

*.log_archive_dest_state_2=enable

*.standby_file_management='auto'

*.fal_server='stan'

k. spfile將備庫啟動到nomount狀態

l. 開始建立dg備庫

rman target sys/oracle auxiliary sys/oracle@stan

RMAN>duplicate target database for standby from active database nofilenamecheck dorecover;

10、打開備庫并啟動apply

m. 打開備庫并啟動apply

duplicate 完成之后,備庫是mount的。

SQL> alter database open;

SQL> alter pluggable database primpdb open;

備庫:--啟動real-time apply:

SQL> alter database recover managed standby database using current logfile disconnect from session;

 

 

應用
 

 

主庫是事物庫,平時操作默認都是使用主庫,當需要查詢大量數據或則數據導出備份時可以切換到備庫(查詢庫)操作。(如:分查詢庫和事物庫,應用通過spring攔截器攔截到查詢操作,使用查詢庫,默認使用事物庫)。

 

分享到:
地址:福建省福州市銅盤路軟件大道89號軟件園A區26號樓 電話:0591-83519233 傳真:0591-87882335 E-mail:doone@doone.com.cn
版權所有 新東網科技有限公司 閩ICP備07052074號-1 閩公網安備 35010202001006號