




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle RAC技術原理與運維概述技術創新,變革未來智慧IT0103目 錄Contents02Oracle 12C RAC的性特性案例講解RAC及高可用架構討論01RAC高可用架構討論01RAC架構介紹01RAC基礎知識介紹RAC 全局資源目錄RAC ONE NODE介紹高可用場景架構討論RAC高可用最佳實踐雙活高可用最佳實踐123RAC架構介紹45601Oracle RAC EvolutionOracle 6 to Oracle8i OPS(199x)Oracle Database 10g RAC (2004)Grid Computing, Oracle ClusterwareOracl
2、e Database 11g Rel. 1 with RAC (2007)Engineered SystemsOracle9i RAC (2001)RACdebutsOracle Database 11g Rel. 2 with RAC (2009)OneRACAOracleNodeRAC One NodeOracle Database 12c Rel. 1 with RAC (2013)MultitenantRAC高可用架構討論01學習RAC的幾點建議具備操作系統的相關知識安裝、升級,且反復安裝、升級閱讀官方文檔,可以知道“有什么”,“怎么做”可以再查其他 文檔在實驗環境中操作,尤其需要操作
3、以下內容:CRS的資源管理ASM磁盤、磁盤組的添加刪除操作OCR/VOTING DISK的備份、恢復、鏡像、刪除操作VIP/PUBLIC IP/HAIP/PRIVATE IP更改操作學會查看日志文件了解業務特性,尤其需要知道哪張表在哪個節點訪問頻率最高RAC高可用架構討論01什么是Oracle RAC集群Oracle Real Application Server,簡稱Oracle RAC,位于 不同服務器系統的Oracle實例同時訪問同一個Oracle 數據庫,節點之間通過私有網絡進行通訊,所有的 控制文件、聯機日志文件和數據文件存放在共享的 設備上,能夠被集群重的所有節點同時讀寫。RAC高
4、可用架構討論01Oracle RAC提供的好處多節點負載均衡提供高可用:故障容錯和無縫切換功能,將硬件和軟件錯誤 造成的影響最小化。一臺機器宕機不影響應用訪問數據庫RAC高可用架構討論01Oracle Clusterware介紹Oracle Clusterware是一個集群軟件,使用它做集群的所有操 作系統必須相同。使用Oracle Clusterware將多個裝有相同操作系統的服務器捆綁在 一起,當對這些集群服務器進行訪問時,就像訪問一臺服務器一 樣。RAC高可用架構討論01Oracle Clusterware介紹Oracle Clusterware兩個集群組件voting disk (表決
5、磁盤):用于記錄集群節點信息。RAC用 它來確定哪些實例是集群實例。當網絡發生故障時,用它存儲的 信息進行健康檢查和沖裁。表決盤必須存放在共享磁盤上。Oracle Cluster Registry (OCR,集群注冊),用于記錄集群 配置信息。集群注冊也必須存放在共享磁盤上。RAC高可用架構討論01Oracle RAC體系架構RAC高可用架構討論DBWRLGWRDatabase Instance OneBuffer CacheShared PoolDBWRLGWRDatabase Instance TwoBuffer CacheShared PoolNode Manager (NM Level
6、)LMDLMSLMONLCKDIAGNode Manager (NM Level)LMDLMSLMONLCKDIAGCluster Manager (CM Level)ohasd. binocssd. bincrsd.bi ngipcd. binevmd. binCluster Manager (CM Level)ohasd. binocssd. bincrsd.bi ngipcd. binevmd. bin數據庫層Cluster層01RAC高可用架構討論Cluster Manager Level一、兩大部分1、OHASD棧(Oracle Hight Availability Service
7、Daemon) 2、CRSD棧(Cluster Ready Service Daemon)3、OCR中的信息也分成了兩部分 OHASD : OLR(Oracle Local Registry) CRSD : OCR(Oracle Cluster Registry)二、啟動:bash-3.2# cat /etc/inittabh1:3:respawn:/etc/init.d/init.ohasd run /dev/null 2&1 /dev/null 2&1 /dev/null”啟動腳本:/export/home/oragrid/app/grid/bin/ohasdoraagentoraroot
8、agentcssdagentcssdmonitorCRSDCTSSDDiskmonACFSASM EVMDMDNSDGIPCD.bin GPnPDOcssd.binGRID:oraagentorarootagentNetwork ResoureSCAN IPCluster VIP ACFS Registry GNS VIPASMDiskgroupSCAN ListenerListenerONS & eONSGSDGNS管理DB管理ServiceOracle:oraagentOhasd棧的日志:oraagent和orarootagentNOTE:以上資源和進程,以grid運行的,被稱為oraag
9、ent進程,由進程oraagent.bin 啟動。以root運行的,被稱為orarootagent進程,由進程orarootagent.bin啟動。這兩個進程的日志有兩套,分別在$GRID_HOME/log/hostname/agent/ohasd和$GRID_HOME/log/hostname/agent/crsd目錄中。 oraagent.bin的日志是:$GRID_HOME/log/hostname/agent/ohasd/oraagent_grid/oraagent_grid.log$GRID_HOME/log/hostname/agent/crsd/oraagent_grid/ora
10、agent_grid.log orarootagent.bin的日志有:$GRID_HOME/log/hostname/agent/ohasd/orarootagent_root/orarootagent_root.log$GRID_HOME/log/hostname/agent/crsd/orarootagent_root/orarootagent_root.log資源進程用戶作用日志位置ora.evmdevmloggergrid生成、發布集群環境中的事 件?/log/hostname/evmdOra.mdnsdmdnsd.binGridOracle自己的域名解析服務?/log/hostna
11、me/mdnsdOra.gpnpdgpnpd.bingrid非ASM的LCR信息維護?/log/hostname/gpnpdOra.asmGridOra.crsdcrsd.binrootCRSD?/log/hostname/crsdOra.ctssdoctssd.binroot處理時間同步?/log/hostname/ctssdOra.diskmonroot在exadata中監控磁盤?/log/hostname/diskmonora.drivers.acfsroot/var/log/message01RAC高可用架構討論Ohasd的cssdagent、cssdmonitor與CSSD資源進程用
12、戶作用日志位置cssdagentrootCssd的啟動、關閉、檢查?/log/hostname/agent/ ohasd/oracssdagent_roo tora.cssdmonito rcssdmonitorroot監控cssdagent?/log/hostname/agent/ ohasd/oracssdmonitor_r ootora.cssdocssd.bingrid節點成員管理。網絡心跳、 磁盤心跳由此進程產生。?/log/hostname/cssd01RAC高可用架構討論排故的入口這么多的日志,出現問題如何排故:出現問題(比如節點被踢),先從集群的alert log入手,根據al
13、ert log中的信息進一步查 看相關進程的日志:RAC的alert log:$GRID_HOME/log/hostname/alertlvrac1.log提高日志級別:有時需要提高日志級別,以進一步確定問題(Oracle的support很多時候也會要求我們提 供更高日志級別的信息),比如:crsctl debug log crs CRSRTI:1,CRSCOMM:2,OCRSRV:4或者debug某個資源:crsctl debug log res ora.node1.vip:101RAC高可用架構討論排故的入口這是一個節點被踢時,存活節點的alert log:2015-01-05 09:48
14、:39.077:cssd(1419)CRS-1612:Network communication with node lvrac1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.976 seconds2015-01-05 09:48:47.083:cssd(1419)CRS-1611:Network communication with node lvrac1 (1) missing for 75% of timeout interval. Removal of this nod
15、e from cluster in 6.971 seconds2015-01-05 09:48:51.086:cssd(1419)CRS-1610:Network communication with node lvrac1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.968 seconds01RAC高可用架構討論排故的入口這是一個節點被踢時,存活節點的alert log:2015-01-05 09:48:39.077:cssd(1419)CRS-1612:Network com
16、munication with node lvrac1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.976 seconds2015-01-05 09:48:47.083:cssd(1419)CRS-1611:Network communication with node lvrac1 (1) missing for 75% of timeout interval. Removal of this node from cluster in 6.971 seconds2015-01
17、-05 09:48:51.086:cssd(1419)CRS-1610:Network communication with node lvrac1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.968 secondsCSSD:相關資源名1419:相關進程號bash-3.2# ps -ef|grep 1419 grid 141910Dec 26 ?71:31 /export/home/oragrid/app/grid/bin/ocssd.bin錯誤信息01RAC高可用架構討論排故的
18、入口這是一個節點被踢時,存活節點的alert log: 2015-01-05 09:48:39.077:cssd(1419)CRS-1612:Network communication with node lvrac1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.976 seconds2015-01-05 09:48:47.083:cssd(1419)CRS-1611:Network communication with node lvrac1 (1) missing for
19、75% of timeout interval. Removal of this node from cluster in 6.971 seconds2015-01-05 09:48:51.086:cssd(1419)CRS-1610:Network communication with node lvrac1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.968 secondsCSSD:相關資源名1419:相關進程號錯誤信息bash-3.2# ps -ef|grep 1419gr
20、id 141910Dec 26 ?71:31 /export/home/oragrid/app/grid/bin/ocssd.bin節點被踢原因:和對端cssd進程心跳延遲超過預設值。為什么心跳超時,可進一步 查看所有節點的cssd日志。被踢節點的ocssd日志:2015-01-05 09:47:58.027: 2015-01-05 09:47:58.027: 2015-01-05 09:48:02.031: 2015-01-05 09:48:02.032: 2015-01-05 09:48:06.036: 2015-01-05 09:48:06.036: 2015-01-05 09:48:1
21、0.039: 2015-01-05 09:48:10.039: 2015-01-05 09:48:14.043: 2015-01-05 09:48:14.043: 2015-01-05 09:48:18.046: 2015-01-05 09:48:18.046: 2015-01-05 09:48:22.050: 2015-01-05 09:48:22.050: 2015-01-05 09:49:57.350: 2015-01-05 09:49:57.350: CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24cls
22、snmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSe
23、ndingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSending
24、Thread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD1clsu_load_ENV_levels: Module = CSSD, LogLevel = 2, TraceLevel = 0 CSSD1clsu_load_ENV_levels: Module = GIPCNM, LogLevel = 2, TraceLevel =
25、0排故的入口CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodesCSSD23clssnmPollingThread: node lvrac1 (1) at 50% heartbeat fatal, removal in 14.976 seconds CSSD23clssnmPollingThread: node lvrac1 (1) is impending reconfig, flag 2229260, miss
26、time 15024CSSD23clssnmPollingThread: local diskTimeout set to 27000 ms, remote disk timeout set to 27000, impending reconfig status(1) CSSD19clssnmvDHBValidateNcopy: node 1, lvrac1, has a disk HB, but no network HB, DHB has rcfg 315082348, wrtcnt, 916735,2015-01-05 09:48:36.212: 2015-01-05 09:48:36.
27、212: 2015-01-05 09:48:39.078: 2015-01-05 09:48:39.078: 2015-01-05 09:48:39.078: 2015-01-05 09:48:39.078: LATS 835022572, lastSeqNo 499191, uniqueness 1419587531, timestamp 1420422503/8349886342015-01-05 09:48:39.948: CSSD17clssnmvDiskPing: Writing with status 0 x3, timestamp 1420422519/835023442在09:
28、48:22后,沒有了心跳信息,ocssd.bin進程在此時刻后被Hang住。 Lvrac1節點被踢的原因:在09:48:22后,ocssd.bin進程被Hang住,未能及 時響應心跳。另一節點的ocssd日志:01RAC高可用架構討論監聽對應的資源SERVERSTATE_DETAILS一、監聽運行在Grid用戶下:bash-3.2# ./crsctl status res tNAMETARGET STATELocal ResourcesVIP對應的監聽lvrac1 lvrac2 ora.LISTENER.lsnrONLINE ONLINE ONLINE ONLINECluster Resour
29、ceslvrac1只在一部分主機上,如果lvrac1當掉,將會漂 移到另外的節點ora.LISTENER_SCAN1.lsnr1ONLINE ONLINE監聽的配置文件一、監聽運行在Grid用戶下:bash-3.2# ps -ef|grep tnsgrid 22551?/export/home/oragrid/app/grid/bin/tnslsnr LISTENER -inheritgrid 22471? /export/home/oragrid/app/grid/bin/tnslsnr LISTENER_SCAN1 -inherit監聽的配置文件在GRID中。二 、 兩 個 配 置 文 件
30、 : endpoints_listener.ora:向后兼容 listener.ora :監聽配置文件三、監聽的配置文件的變化:LISTENER= (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)# line added by AgentLISTENER_SCAN1= (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)# line added by AgentENABLE_GLOBAL_DYNAMIC_ENDPOINT_LIS
31、TENER_SCAN1=ON# line added by AgentENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON# line added by Agent01RAC高可用架構討論SCANIPbash-3.2# ./crsctl status res t ora.scan1.vip1ONLINE ONLINElvrac2bash-3.2# ifconfig a e1000g0:1:flags=1001040843 mtu1500 index 2inet 40 netmask ffffff00 broadcast 55-bash-3.2$ srvctl c
32、onfig scanSCAN name: lv-scan, Network: 1/e1000g0 SCAN VIP name: scan1, IP: /lv-scan/40-bash-3.2$-bash-3.2$ srvctl status scan SCAN VIP scan1 is enabledSCAN VIP scan1 is running on node lvrac201RAC高可用架構討論SCANIP的兩種方式一、基于/etc/hosts-bash-3.2$ cat /etc/hosts # Internet host table #:1localhostlocalhost 31
33、 lvrac1 0 lvrac1-priv 50 lvrac1-vip 32 lvrac2 1 lvrac2-priv 51 lvrac2-vip40 lv-scan二、基于DNS如果基于DNS,不必在/etc/hosts中配置,Cluster將生成三個SCAN IP01RAC高可用架構討論SCANIP的監聽SCAN IP有專門的監聽與之對應: bash-3.2# ps -ef|grep tnsgrid 22551?/export/home/oragrid/app/grid/bin/tnslsnr LISTENER -inheritgrid 22471? /export/home/oragri
34、d/app/grid/bin/tnslsnr LISTENER_SCAN1 -inheritYou can check its status in user grid:-bash-3.2$ lsnrctl status LISTENER_SCAN1LSNRCTL for Solaris: Version .0 - Production on 26-DEC-2014 14:48:23 Copyright (c) 1991, 2013, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KE
35、Y=LISTENER_SCAN1) STATUS of the LISTENERAliasLISTENER_SCAN1Listening Endpoints Summary. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=40)(PORT=1521)Services Summary.Service myrac has 1 instance(s).Instance myrac_2, status READY, has 1 handler(s) f
36、or this service. Service myractst has 1 instance(s).Instance myrac_2, status READY, has 1 handler(s) for this service. The command completed successfully01RAC高可用架構討論SCANIP的連接方式-bash-3.2$ cat tnsnames.ora# tnsnames.ora Network Configuration File:/export/home/oradb/product/10.2.0/network/admin/tnsname
37、s.ora # Generated by Oracle configuration tools.MYRAC = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = lv-scan)(PORT = 1521) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = myrac)01RAC高可用架構討論SCANIP在RACONE下的使用SCAN IP有專門的監聽與之對應:Node 1Node 2Lv-scanLISTENER_SCAN1RACONEDatabase InstanceVIP 2VIP 201
38、RAC高可用架構討論基于VIP的TNSNAMES.ora一、監聽運行在Grid用戶下:dbvip = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = lvrac1-vip)(PORT = 1521) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = myrac)基于的VIP的TNS仍然可以使用,但Oracle建議使用新的SCAN IP機制。 SQL conn system/Oracle1dbvipConnected.01RAC基礎知識介紹RAC 全局資源目錄RAC ONE NODE介紹高可用
39、場景架構討論RAC高可用最佳實踐雙活高可用最佳實踐123RAC架構介紹45601RAC架構介紹全局資源目錄RAC的目標為前端應用提供一個統一的數據庫,雖然應用連接的節點可能不同,但看到 的各種數據和其狀態,將是完全一樣的。為實現這一目標 ,需要為下列數據,實現跨 節點的一致性:大部分的高級隊列鎖(即V$LOCK中可以看到的鎖,如TM鎖等)。部分Library cache lock/pin(比如與DDL相關的、加在對象上的Lock和Pin)Row cache lockBuffer Cache其中,前三種被稱為Non-PCM資源,由 LMD進程負責保證一致性。最后一種稱為PCM資 源,由 LMS進
40、程保證一致性。用來實現資源一致性的基本結構,Oracle稱為全局資源目錄。(注意:這里的resource和Cluster的Resource不一樣。Cluster的resource指的是主機、實 例、數據庫、VIP等等。RAC的Resource指的就是需要在各個節點間同步的信息。)01RAC架構介紹存儲全 局 資 源 目 錄全局資源目錄全局資源目錄的目的:以最少的網絡帶寬消耗,實現資源跨節點的一致性,又要保證可 快速獲得資源狀態,重構時最快速、影響最小化。Server進程01RAC架構介紹A資源B資源C資源存儲全局資源目錄全局資源目錄主要記錄資源狀態,它本身是去中心化的。資源按照HASH算法分布
41、在RAC所有節點中。每 個節 點,是它其中所有資源的主節點,反過來說,每一個資源都有一個主節點,這主節點,就是資源所屬的節點。Server進程L資源M資源N資源O資源P資源Q資源01RAC架構介紹全局資源目錄A資源B資源C資源存儲Server進程L資源M資源N資源O資源P資源Q資源此進程要訪問B資源,第一步要 先計算出B資源的主節點。然后 到主節點上獲得B資源的狀態01RAC架構介紹全局資源目錄得到資源主節點后,請求節點會發消息,請求獲得資源上的某種類型的鎖,以便訪問資 源。主節點在收到請求后,要快速在自己的內存中獲得資源狀態,以判斷請求是否可以被滿 足。對于“快速獲得資源狀態”的算法,Ora
42、cle認為隊列鎖的機制很好,因此這里的機制和 隊列鎖完全一樣。01RAC架構介紹全局資源目錄注意,全局資源目錄并不是替代了單實例中原有的鎖機制,而是在原有鎖機制之前又加 了一層。以Buffer Cache中的Buffer為例,訪問Buffer需要有一個Buffer Pin Lock,在資源目 錄中,針對Buffer的資源鎖類型是BL鎖,它的完整名稱是BL-文件號-塊號。某個節點的Server進程要修改本節點Buffer Cache中某個Buffer。第一步要先獲得Buffer對 應的BL資源上的獨占鎖,然后還要獲得獨占的Buffer Pin Lock,才能開始修改Buffer。如果無 法得到B
43、L鎖,會產生gc buffer busy waits等待。如果無法得到Buffer Pin Lock,會 產生Buffer Busy Waits等待。01RAC架構介紹節點1節點2節點3凍結標志:4Server進程凍結標志:4凍結標志:4全局資源目錄重構節點的加入、退出會導致全局資源目錄重構。在開始重構前,LMON進程會設置一個全局凍結標志,告訴其他進程,全局資 源目錄被鎖定。每個Server進程在訪問在訪問全局資源目錄時,首先都會先檢查凍結標志是否被設置,如果被設置,進程將 等待gcs resource directory to be unfrozen事件和ges enter server
44、mode事件,直到重構完成。01RAC架構介紹本來主節點是2號節點。假設2號節點離開RAC集群,存活節點的LMON會首先修改自己SGA中的X$KJDRPCMHV,如下面的PPT。X$KJDRPCMHVIndex節點號11223240516012711280HASH 值:2全局資源目錄重構資源重構由LMON進程完成,重構算法,以節點離開為例,主要描述PCM資源(Non-PCM資源類似)。第一步修改資 源主節點,這一步 主要通過修改X$KJDRPCMHV視圖實現。比如A資源的HASH值為2,它對應X$KJDRPCMHV中第三行,01RAC架構介紹第二、三行節點號本來為2,現在改為了0。HASH值為
45、2的資源,本來主節點為2,現在 主節點為0。Index節點號11203040516012711280全局資源目錄重構2號節點離開集群:X$KJDRPCMHVHASH 值:201RAC架構介紹全局資源目錄重構修改完X$KJDRPCMHV,每個存活節點的LMON將執行以下兩步,以完成資源重構:1、掃描自己為 主節點的所有資源結構,如果鎖結構中有2號節點,將鎖結構刪除。如 果某個資源的鎖結構只對應2號節點,沒有其他節點持有資源的鎖,資源結構連同鎖結 構一起刪除。此步驟是處理2號節點所持有、主節點不是2號節點的資源。2、掃描所有Shadow鎖結構,如果Shadow鎖結構的主節點是 2號節點,LMON根
46、據 X$KJDRPCMHV中的新的節點號,得到資源新的主節點號,通知對應節點,重建資源結構, 然后修改Shadow鎖結構的主節點為 新值。這一步是處理主節點為2號節點的資源。全局資源目錄重構所耗時間,主要由這兩步決定。步1中需要修改的鎖結構越多,步2中 需要修改的Shadow鎖結構越多、需要在其他節點重建的資源結構越多,所耗時間就越 長。簡而言之,內存越大,所耗時間越長。在重構其間,所有資源目錄的訪問全部被阻塞,在重構其間,每個節點不能有新的物理 讀、不能產生CR塊,不能讀其他節 點中的Buffer,這些操作都要訪問全局資源目錄。 除非是不 訪問全局資源目錄的操作,比如在本節點Buffer C
47、ache中讀一個已經存在的、 鎖狀態是Scur的Buffer。01RAC架構介紹如果是節點離開,主節點是存活節點中的資源,如果其下的鎖結構沒有二號結點的,不 受 影響。節點的加入,與離開類似。 假設集群中只有1、3號節點, X$KJDRPCMHV中會有64行屬 于1點,另64行屬于3號節點?,F在2號節點加入,LMON會從1、3號節點中,各抽出一半 的行給節點2,Oracle會一直保持X$KJDRPCMHV中各節點所占行相等。全局資源目錄重構01RAC架構介紹全局資源目錄重構有可能會出現這樣的情況,突然發生節點當機,所有存活節點收到節點離開消息, LMON馬上設置凍結標志,但還是有進程已經檢查過
48、凍結標志,得到狀態是沒有凍結。 進程繼續訪問資源,發現主節點已經改變,這時進程將會等待資源重構完畢后重新按正 常方式訪問資源,這時進程的等待事件是gc cr fail或gc current fail。01RAC基礎知識介紹RAC 全局資源目錄RAC ONE NODE介紹高可用場景架構討論RAC高可用最佳實踐雙活高可用最佳實踐123RAC架構介紹45601RAC高可用架構討論創建RACONE數據庫安裝Database軟件時,有專門的RACONE安裝選項:01RAC高可用架構討論創建RACONE數據庫如果在此頁中,選擇“僅安裝軟件”,上頁中選擇RACONE安裝項或是RAC安裝項,結 果都是一樣的0
49、1RAC高可用架構討論創建RACONE數據庫安裝完軟件后,使用asmca創建ASM Diskgroup:01RAC高可用架構討論創建RACONE數據庫使用DBCA建庫:01RAC高可用架構討論創建RACONE數據庫選擇“Admin-Managed”模式?!癙ollcy-Managed”是11G新的方式,用于實現數據庫 虛擬化功能。其本質是由DBA設置數據庫的等級、重要度等權重,由Cluster自己決定 將數據庫運行在哪些節點上。01RAC高可用架構討論創建RACONE數據庫雖然是RACONE,但Oracle仍會創建Thread 2的redoo file。另一個實例的UNDO表空間也 會被創建:
50、01RAC高可用架構討論創建RACONE數據庫手動1.準備參數文件*.cluster_database=false 暫時設置為false*.compatible=.0*.control_files=+DATA01/DBTST/control01.ctl*.db_block_size=8192*.db_domain=*.db_name=dbtst*.diagnostic_dest=/export/home/oradb*.java_pool_size=0*.large_pool_size=0*.open_cursors=300*.pga_aggregate_target=104857600*.pr
51、ocesses=150*.remote_listener=lv-scan:1521*.remote_login_passwordfile=exclusive*.shared_pool_size=200m*.db_cache_size=125829120Oracle建議將spfile放置在共享的ASM Diskgroup中,在本地initSID.ora中指向spfile:-bash-3.2$ cat initdbtst_1.ora SPFILE=+DATA01/dbtst/spfiledbtst.ora01RAC高可用架構討論創建RACONE數據庫手動啟動實例后,發布建庫命令,和普通的建庫命令沒
52、有區別。必須運行的初始化腳本 ?/rdbms/admin/catalog.sql ?/rdbms/admin/catproc.sql ?/rdbms/admin/catblock.sql ?/rdbms/admin/catclust.sql ?/rdbms/admin/utlrp.sql sqlplus system/Oracle1 ?/sqlplus/admin/pupbld.sql為另一個實例添加Undo表空間:create UNDO TABLESPACE UNDOTBS2 DATAFILE +DATA01/DBTST/undotbs02.dbf SIZE 50M REUSE AUTOEX
53、TEND ON MAXSIZE UNLIMITED;為另一個實例添加Redo Thread:alter database add logfile thread 2 group 3 (+DATA01/DBTST/redo03.log) size 80M reuse; alter database add logfile thread 2 group 4 (+DATA01/DBTST/redo04.log) size 80M reuse;修改RAC相關參數:alter system set undo_tablespace=undotbs2 sid=dbtst_1 ; alter system se
54、t thread=1 sid=dbtst_1 scope=spfile;alter system set thread=2 sid=dbtst_2 scope=spfile; alter system set cluster_database=true scope=spfile;01RAC高可用架構討論創建RACONE數據庫手動向OCR中添加信息: 在Oracle用戶下執行:srvctl add database -d dbtst -o /export/home/oradb/product/10.2.0 -c RACONENODE -e lvrac2 -w 10srvctl add servi
55、ce -d dbtst -s dbtstsvc srvctl start database -d dbtst激活另一個Thread: Su oracleSqlplus / as sysdbaAlter database enable thread 2;01RAC高可用架構討論RACONE是什么如何確認數據庫是RACONE:-bash-3.2$ srvctl config database -d myrac Database unique name: myracDatabase name: myracType: RACOneNode 資源類型是RACONE-bash-3.2$ srvctl st
56、atus database -d myracInstance myrac_2 is running on node lvrac1 show parameter clusterNAMETYPEVALUEbooleanTRUEinteger2cluster_database cluster_database_instances Note:數據庫并不知道自己是RACONE,Cluster(具體是CRSD)知道某個庫是RACONE。01RAC高可用架構討論RACONE是什么3.能同時啟動兩個節點嗎?-bash-3.2$ srvctl start database -d myrac PRCC-1014
57、: myrac was already runningPRCR-1004 : Resource ora.myrac.db is already running PRCR-1079 : Failed to start resource ora.myrac.dbCRS-5702: Resource ora.myrac.db is already running on lvrac1-bash-3.2$ srvctl start instance -d myrac -i myrac_1PRKO-2136 : srvctl start/stop/enable/disable/modify/status/
58、setenv/getenv/unsetenv instance commands are not supported with RAC One Node databases但可以手動啟動:-bash-3.2$ export ORACLE_SID=myrac_1-bash-3.2$ sqlplus / as sysdba SQL startupORACLE instance started.Total System Global Area 371654656 bytesFixed Size Variable Size Database Buffers Redo Buffers2250928 by
59、tes239077200 bytes125829120 bytes4497408 bytesDatabase mounted. Database opened.01RAC高可用架構討論RACONE是什么4.手動啟動第二個節點可以連接嗎: 答案:可以。SQL conn system/Oracle1MYRACSQL select instance_number from v$instance; INSTANCE_NUMBER1SQL conn system/Oracle1MYRAC Connected.SQL select instance_number from v$instance; INST
60、ANCE_NUMBER2SQL conn system/Oracle1MYRACSQL select instance_number from v$instance; INSTANCE_NUMBER2SQL conn system/Oracle1MYRACSQL select instance_number from v$instance; INSTANCE_NUMBER1MYRAC = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = lv-scan)(PORT = 1521)(CONNECT_DATA = (SERVER = DEDICATE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025近距離沙石運輸合同樣本
- 網絡安全設備配置與防護題庫 (信息安全領域實戰項目)
- 幼兒園課件-認識蔬菜
- 肺癌放療飲食護理
- 人教版小學一年級數學下冊期中試題
- 眩暈護理方案及護理常規
- 三角形全等的判定(復習)教學任務分析
- 視網膜毛細血管前小動脈阻塞的臨床護理
- 山東省濟寧市2025年高考模擬考試地理試題及答案(濟寧三模)
- 浙江省寧波市鎮海中學2025年5月第二次模擬考試語文試卷+答案
- 餡料間管理制度
- 2025年消防知識培訓
- 上海健康醫學院《SpringSpringMVCMyBais》2023-2024學年第二學期期末試卷
- 馬爾代夫旅游介紹
- 保險行業檔案管理培訓
- 無廢城市知識培訓課件
- 2025煤炭礦區水土保持監測技術服務合同書
- 五金產品購銷合同清單
- 2024年全國高中數學聯賽(四川預賽)試題含答案
- 東北三省精準教學聯盟2024-2025學年高三下學期3月聯考地理試題(含答案)
- 2024北京西城區初一(下)期末道法試題和答案
評論
0/150
提交評論