亚洲欧洲自拍拍偷精品网314-新超碰97在线观人人澡-牛牛AV人人夜夜澡人人爽-亚洲国产剧情中文视频在线

您當(dāng)前的位置:首頁 > 新聞資訊 > 產(chǎn)品動(dòng)態(tài) > 正文

【新東網(wǎng)技術(shù)大咖帶您走進(jìn)ADG】Oracle Active Data Guard(ADG)實(shí)現(xiàn)數(shù)據(jù)層讀寫分離

發(fā)布時(shí)間: 2016-12-30 14:53:39  
分享到:

 

/ 華西研發(fā)

 

 

 

 
專欄介紹

新東網(wǎng)自2001年成立以來,掌握大數(shù)據(jù)、云計(jì)算、通信、物聯(lián)網(wǎng)及區(qū)塊鏈等信息技術(shù),擁有一支逾16年經(jīng)驗(yàn)的強(qiáng)大IT團(tuán)隊(duì)。為沉淀企業(yè)技術(shù)實(shí)力,繼續(xù)發(fā)揮行業(yè)優(yōu)勢,《東網(wǎng)快訊》特邀新東網(wǎng)技術(shù)大咖帶您走進(jìn)這些先進(jìn)信息技術(shù),揭秘新東網(wǎng)16年來的技術(shù)成果,每周五發(fā)布。

 

環(huán)境準(zhǔn)備
 

 

資源劃分:

 

虛擬機(jī)

劃分資源

IP_DB1192.168.1.10

12C/32G/1.2T硬盤

IP_DB2192.168.1.20

12C/32G/1.2T硬盤

 

系統(tǒng)結(jié)構(gòu)

 

 

 

ADG介紹
 

 

容災(zāi)系統(tǒng)主要包括數(shù)據(jù)保護(hù)和應(yīng)用切換兩大方面,其中最為重要的是數(shù)據(jù)保護(hù)部分。除了要將這些數(shù)據(jù)存放在高可用的存儲(chǔ)設(shè)備上之外,最重要的是這些關(guān)鍵數(shù)據(jù)應(yīng)該在異地之間保持一致,以使災(zāi)難發(fā)生后,系統(tǒng)可以盡快恢復(fù)。下面是幾種主要的數(shù)據(jù)保護(hù)技術(shù)。 

 

實(shí)現(xiàn)數(shù)據(jù)的異地復(fù)制,有軟件方式和硬件方式兩種途徑。軟件方式,是通過主機(jī)端軟件來實(shí)現(xiàn),如第三方軟件或者數(shù)據(jù)庫廠家提供的遠(yuǎn)程數(shù)據(jù)容災(zāi)工具來實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的遠(yuǎn)程復(fù)制。硬件方式,是基于智能存儲(chǔ)系統(tǒng)的控制器的遠(yuǎn)程拷貝,可以在主、備存儲(chǔ)系統(tǒng)之間通過硬件實(shí)現(xiàn)復(fù)制。 

 

在實(shí)際的容災(zāi)系統(tǒng)中,由于系統(tǒng)的環(huán)境不同,安全性要求不同以及采用的軟硬件產(chǎn)品不同,數(shù)據(jù)復(fù)制過程中的工作機(jī)制也不盡相同。概括地講,數(shù)據(jù)復(fù)制工作機(jī)制主要包括同步和異步兩種。同步遠(yuǎn)程鏡像(同步復(fù)制技術(shù))是指通過遠(yuǎn)程鏡像軟件,將本地?cái)?shù)據(jù)以完全同步的方式復(fù)制到異地,每一本地的I/O事務(wù)均需等待遠(yuǎn)程復(fù)制的完成確認(rèn)信息,方予以釋放。異步遠(yuǎn)程鏡像(異步復(fù)制技術(shù))保證在更新遠(yuǎn)程存儲(chǔ)視圖前完成向本地存儲(chǔ)系統(tǒng)的基本I/O操作,而由本地存儲(chǔ)系統(tǒng)提供給請求鏡像主機(jī)的I/O操作完成確認(rèn)信息,遠(yuǎn)程的數(shù)據(jù)復(fù)制以后臺(tái)同步的方式進(jìn)行。因?yàn)閹挼纫蛩叵拗?,本次容?zāi)方案僅包括了異步復(fù)制的方式的討論。

 

 ADG實(shí)現(xiàn)原理 

 

Oracle Active Data Guard 是當(dāng)今保護(hù)企業(yè)核心資產(chǎn)(數(shù)據(jù))的最有效解決方案,它能夠使數(shù)據(jù)在 24x7 的基礎(chǔ)上可用,而無論是否發(fā)生災(zāi)難或其它中斷。 

 

Oracle Active Data Guard 是管理、監(jiān)控和自動(dòng)化軟件的基礎(chǔ)架構(gòu),它創(chuàng)建、維護(hù)和監(jiān)控一個(gè)或多個(gè)備用數(shù)據(jù)庫,以保護(hù)企業(yè)數(shù)據(jù)結(jié)構(gòu)不受故障、災(zāi)難、錯(cuò)誤和崩潰的影響。    

 

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

 

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

 

Oracle Active Data Guard 包括一個(gè)生產(chǎn)數(shù)據(jù)庫,也稱為主數(shù)據(jù)庫,以及一個(gè)或多個(gè)備用數(shù)據(jù)庫,這些備用數(shù)據(jù)庫是與主數(shù)據(jù)庫在事務(wù)上一致的副本。Data Guard 利用重做數(shù)據(jù)保持這種事務(wù)一致性。當(dāng)主數(shù)據(jù)庫中發(fā)生事務(wù)時(shí),則生成重做數(shù)據(jù)并將其寫入本地重做日志文件中。通過 Oracle Active Data Guard,還將重做數(shù)據(jù)傳輸?shù)絺溆谜军c(diǎn)上,并應(yīng)用到備用數(shù)據(jù)庫中,從而使備用數(shù)據(jù)庫與主數(shù)據(jù)庫保持同步。Oracle Active Data Guard 允許管理員選擇將重做數(shù)據(jù)同步還是異步地發(fā)送到備用站點(diǎn)上。

 

備用數(shù)據(jù)庫的底層技術(shù)是 Oracle Active Data Guard 重做應(yīng)用(物理備用數(shù)據(jù)庫)。物理備用數(shù)據(jù)庫在磁盤上擁有和主數(shù)據(jù)庫逐塊相同的數(shù)據(jù)庫結(jié)構(gòu),并且使用 Oracle 介質(zhì)恢復(fù)進(jìn)行更新。  

 

Oracle Active Data Guard 簡化了主數(shù)據(jù)庫和選定的備用數(shù)據(jù)庫之間的轉(zhuǎn)換和故障切換,從而減少了由計(jì)劃停機(jī)和計(jì)劃外故障所導(dǎo)致的總停機(jī)時(shí)間。

 

實(shí)現(xiàn)過程
 

 

實(shí)現(xiàn)前準(zhǔn)備工作

 

a. 參數(shù)文件/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

執(zhí)行sysctl -p應(yīng)用修改內(nèi)核參數(shù)。

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的環(huán)境變量,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

執(zhí)行:source .bash_profile應(yīng)用環(huán)境變量

d. 創(chuàng)建oracle用戶和組:

Groupadd oinstall

Groupadd dba

Useradd -g oinstall -G dba oracle

 

開始安裝數(shù)據(jù)庫

 

1) Grid安裝:

解壓grid安裝包,進(jìn)入解壓目錄執(zhí)行:./runInstaller,根據(jù)提示安裝好grid。

2) Database安裝:

解壓database安裝包,進(jìn)入解壓目錄執(zhí)行:./runInstaller,根據(jù)提示安裝好database并建好主庫。

 

開始配置dg

 

a. 配置前準(zhǔn)備:

主庫:192.168.1.10

備庫:192.168.1.20

主備在/etc/hosts添加:

192.168.1.10 primary.com primary

192.168.1.20 standby.com standby

主備的實(shí)例名:prim(環(huán)境變量里面的ORACLE_SID)

b. 主庫啟動(dòng)force logging

c. 主庫啟動(dòng)歸檔模式

d. 在主庫添加standby redo logfile

添加主庫redo個(gè)數(shù)+1個(gè)standby redo logfile

查看主庫redo個(gè)數(shù):

SQL>select member from v$logfile;

添加standby redo logfile

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

e. 分別在主備和備庫配置監(jiān)聽并啟動(dòng)

f. 在備庫創(chuàng)建必要目錄

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. 在主庫創(chuàng)建pfile文件并修改怕file內(nèi)容

*.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. 用新參數(shù)重啟數(shù)據(jù)庫

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

j. 將主庫的參數(shù)文件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將備庫啟動(dòng)到nomount狀態(tài)

l. 開始建立dg備庫

rman target sys/oracle auxiliary sys/oracle@stan

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

10、打開備庫并啟動(dòng)apply

m. 打開備庫并啟動(dòng)apply

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

SQL> alter database open;

SQL> alter pluggable database primpdb open;

備庫:--啟動(dòng)real-time apply:

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

 

 

應(yīng)用
 

 

主庫是事物庫,平時(shí)操作默認(rèn)都是使用主庫,當(dāng)需要查詢大量數(shù)據(jù)或則數(shù)據(jù)導(dǎo)出備份時(shí)可以切換到備庫(查詢庫)操作。(如:分查詢庫和事物庫,應(yīng)用通過spring攔截器攔截到查詢操作,使用查詢庫,默認(rèn)使用事物庫)。

 

分享到:
地址:福建省福州市銅盤路軟件大道89號(hào)軟件園A區(qū)26號(hào)樓 電話:0591-83519233 傳真:0591-87882335 E-mail:doone@doone.com.cn
版權(quán)所有 新東網(wǎng)科技有限公司 閩ICP備07052074號(hào)-1 閩公網(wǎng)安備 35010202001006號(hào)
亚洲欧洲自拍拍偷精品网314-新超碰97在线观人人澡-牛牛AV人人夜夜澡人人爽-亚洲国产剧情中文视频在线