?

Oracle Restart在Oracle 19C中的應用

2022-11-09 10:43剛,程
關鍵詞:磁盤監聽實例

李 剛,程 家

(朝陽師范高等??茖W校 信息技術中心,遼寧 朝陽 122000)

0 引言

隨著信息技術的發展,X86架構服務器在制程工藝、CPU核心數量、運行穩定性等方面不斷提升,開始取代更多的小型機,而Oracle數據庫也從早期的以小型機為計算環境的RAC架構開始向以X86架構服務器為主的單實例架構過渡.但較早版本的Oracle數據庫無法實現單實例數據庫的高可用特性,尤其是數據中心出現意外故障時,如果不對單實例數據庫的各個組件(Database實例、Oracle監聽程序、Database服務、ASM實例、Oracle ASM磁盤組、對象名解析服務(ONS)等)進行人為干預,是無法正常啟動并對外提供服務的[1].本文以數據庫Oracle 19C版本為例,討論Oracle Restart的工作原理、部署方式以及給數據中心帶來的價值.

1 Oracle Restart工作原理

Oracle從11gr2版本開始向用戶提供了單實例數據庫高可用性解決方案——Oracle Restart.Oracle Restart會周期性檢查Oracle數據庫正常運行所需所有組件的健康狀態,一旦檢測到某個組件運行失敗,Oracle Restart將嘗試關閉并重啟這個組件,確保該組件的正常運行.同時,Oracle Restart借助Grid Infrastructure(GI)的核心組件Clusterware提供數據庫的高可用特性,所以用戶也可以通過Standalon Server環境使用ASM相關的特性[2].Oracle Restart工作原理如圖1所示.

Oracle Restart功能由OHASD進程來管理.OHASD進程能夠管理的組件包括CSSD、ASMInstance、ASM Disk Groups、Listeners、Database Instances、Database Services、ONS/EONS.OHASD進程會定期檢查和監控以上組件的運行健康狀況[3],如果某個組件的健康狀態出現問題,那么OHASD 進程會嘗試關閉并重啟這個組件,確保該組件正常、健康運行[4].

2 在數據庫Oracle 19C下部署Restart功能

2.1 Restart環境

數據庫服務器操作系統采用Oracle Linux 7.6,環境所需共享存儲采用Openfiler系統搭建,服務器采用ISCSI協議連接該共享存儲,拓撲結構如圖2所示[5].

2.2 存儲設計

數據庫存儲規劃如下:Restart功能下OCR磁盤組由3塊1 GB磁盤構成冗余磁盤組;data磁盤組由1塊20 GB磁盤構成,采用外部冗余;歸檔日志和閃回空間由1塊20 GB磁盤組成,采用外部冗余[6].

2.3 存儲掛載

Oracle Linux 7.6通過以太網使用ISCSI協議與Openfiler服務器進行連接,在Openfiler服務器上創建5個邏輯卷,每個邏輯卷都與ISCSI服務器的Iqn號進行Map映射.Oracle Linux服務器發現并掛載磁盤步驟如下:

(1)發現Openfiler服務器,代碼如下:

(2)登錄Openfiler服務器,代碼如下:

(3)檢查存儲發現情況,代碼如下:

(4)對各個磁盤進行分區,代碼如下:

(5)Udev綁定對應磁盤的分區,代碼如下:

(6)根據步驟(5)獲取的內容編寫對應Udev綁定所需文件,代碼如下:

經過以上7個步驟,完成Oracle Restart環境中存儲設備的準備工作.

2.4 GI和Restart安裝

(1)通過Grid用戶上傳GI安裝文件LINUX.X64_193000_grid_home.zip并解壓到用戶的$ORACLE_HOME下,代碼如下:

(2)利用Xmanager,通過GRID用戶登錄進入$ORACLE_HOME目錄,運行gridSetup.sh安裝文件,完成配置GI,代碼如下:

根據向導選擇“Configure Oracle Grid Infrastructure for a standlone Server(Oracle Restart)”進行安裝,直至安裝完畢.

2.5 數據庫軟件安裝

2.5.1 安裝Oracle軟件

利用Oracle用戶登錄服務器,上傳Oracle 19C數據庫軟件到$ORACLE_HOME,并解壓db包,步驟如下:

根據安裝向導,選擇“Set Up Software Only”來安裝Oracle軟件,直至安裝完畢.

2.5.2 利用ASMCA創建OCR、DATA和ARCH磁盤組

Oracle ASM Cluster File System(ACFS)是一個通用的且與POSIX、X/OPEN和Windows都兼容的文件系統,并且專為單節點和單集群Oracle數據庫配置而設計的.這種方式簡化了數據庫管理工作,是Oracle強烈推薦使用的存儲管理機制.這里,利用ASMCA命令完成了OCR、DATA和ARCH磁盤組的創建.

2.5.3 創建數據庫

Oracle用戶登錄服務器,通過dbca命令圖形創建數據庫,根據向導選擇正確的字符集和asm磁盤組,直至創建完畢.

2.6 查看資源

2.6.1 查看OHASD進程

(1)查看OHASD進程狀態,代碼如下:

(2)檢查OHASD版本,代碼如下:

(3)檢查OHASD進程配置狀態,代碼如下:

2.6.2 查看OHASD服務資源狀態

在Grid用戶環境下,通過命令“crsctl stat res-init-t”查看OHASD服務資源狀態(見圖3).

3 Oracle Restart功能測試

Oracle Restart的主要功能是通過OHASD進程檢測各個關鍵組件的運行狀態,當各個關鍵組件出現問題時不需要人為干預即可重啟并進入最佳工作狀態.本文重點測試Oracle數據庫日常出現問題概率較大的兩個組件,即監聽程序和數據庫實例.

3.1 監聽Restart測試

(1)確保Oracle數據庫監聽程序工作正常,可以通過如下命令查看監聽程序是否正常工作:

或者

(2)Kill掉監聽程序進程后,短時間內查看監聽程序能否重新啟動,過程如下:

3.2 重啟服務器測試

模擬意外掉電或意外宕機故障,步驟如下:

(1)直接Poweroff系統電源;

(2)重啟系統后,檢查Oracle數據庫各個進程是否正常啟動,例如:數據庫實例和監聽程序等,如圖4所示.

經過重新檢查發現,Oracle數據庫所有組件均已經正常啟動,進一步說明Oracle Restart通過OHASD進程管理和檢查了Oracle數據庫的各個組件是否正常運行.

4 Oracle Restart的應用效果

啟用Oracle Restart功能后,無論是企業用戶還是高校用戶都能獲得如下收益:

(1)在系統啟動引導時,Oracle數據庫能夠自動啟動所需要的資源,無需人為編寫Shell腳本或Oracle提供Dbstart和Dbshut腳本;

(2)操作系統能夠基于Olr(Oracle本地資源)中的依賴關系正確啟動Oracle數據庫的所有資源;

(3)OHASD進程會監控Oracle數據庫組件的可用性,如果組件失效則會重啟該組件;

(4)降低了數據庫管理人員的工作量;

(5)與Oracle集群一樣,使用Crsctl和Srvctl的命令行進行管理和維護可進一步簡化維護人員的工作程序.

5 結語

利用Oracle Restart功能檢測Oracle數據庫的運行狀態,不但減少了數據管理人員的工作量,同時也降低了企業或高校的數據庫管理人力成本,更是降低了數據庫故障發生率,進一步提升了數據庫的高可用性.因此,Oracle Restart值得在高校數據中心管理中廣泛推廣和使用.

猜你喜歡
磁盤監聽實例
英國風真無線監聽耳機新貴 Cambridge Audio(劍橋)Melomania Touch
它的好 它的壞 詳解動態磁盤
Predictors of irreversible intestinal resection in patients with acute mesenteric venous thrombosis
千元監聽風格Hi-Fi箱新選擇 Summer audio A-401
創建虛擬機磁盤方式的選擇
解決Windows磁盤簽名沖突
Windows系統下動態磁盤卷的分析與研究
完形填空Ⅱ
完形填空Ⅰ
監聽“有”道 ——杰夫(美國)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合