使用oracheck進行系統巡檢
日常資料庫巡檢,是運維人員經常需要完成的工作之一。對應複雜的軟硬體和系統環境,以及越來越多的系統數目,常規手段進行一次巡檢的成本壓力越來越大。綜合性的巡檢方面,自動化的執行和資訊收集,才是未來巡檢的一個發展方向。
Oracle Support內部的研發機構,會推出很多有用的小工具來輔助我們日常巡檢診斷工具,比如OSWatcher、RDA、oratop。這些工具都從一定程度上解決了我們在使用Oracle資料庫過程中遇到的管理和調優需求。本篇主要介紹oracheck,藉助orachk,我們可以快速的進行系統巡檢和故障排除。
1、從raccheck到oracheck
oracheck來源於Oracle為RAC環境準備的工具raccheck。最早的raccheck是用於自動化Oracle RAC環境巡檢而開發的,之後不斷推出新的版本和功能。這些新功能中,最有意義的要屬於Oracle MAA(Oracle最大可用性體系架構)的引入。Oracle會將MAA的最佳實踐策略,融入到raccheck檢查專案裡面,給使用者提供更加全面的巡檢專案。
目前,raccheck已經正式改名為oracheck,提供從單例項資料庫例項到RAC、OGG等多個產品系列的巡檢功能。
2、安裝配置
oracheck是需要單獨從MOS上下載的工具包。和其他Oracle產品不同,oracheck更新速度非常快,官方建議是90天就需要下載最新的oracheck版本。這樣做的目的就是讓使用者可以獲得最新的檢查專案和建議,及時下載安裝最新的安全補丁。
從MOS上下載的軟體包很簡單,就是一個zip包。上傳到伺服器上解壓就可以使用。注意:目前oracheck只支援64bit系統,在32bit下不能使用。
建立專門目錄,上傳zip檔案。
[root@CRSimpleLinux /]# mkdir /orachk
[root@CRSimpleLinux /]# cd /orachk/
[root@CRSimpleLinux orachk]# ls -l
total 5120
-rw-r--r-- 1 root root 5241976 May 20 08:44 orachk_224_beta2.zip
解壓安裝包。
[root@CRSimpleLinux orachk]# unzip orachk_224_beta2.zip
Archive: orachk_224_beta2.zip
inflating: orachk
creating: .cgrep/
inflating: .cgrep/lcgreps9
inflating: .cgrep/CollectionManager_App.sql
inflating: .cgrep/asrexacheck
inflating: .cgrep/utlusts.sql
(篇幅原因,有省略……)
檢查指令碼,是一系列的配置檔案和oracheck執行檔案。
[root@CRSimpleLinux orachk]# ls -l
total 28072
-rw-rw-r-- 1 root root 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 root root 1407669 Feb 14 03:23 orachk
-rwxr-xr-x 1 root root 1423197 Feb 11 03:50 raccheck
-rw-r--r-- 1 root root 2541 Feb 11 03:50 readme.txt
-rw-rw-r-- 1 root root 4700572 Feb 11 03:50 rules.dat
-rw-r--r-- 1 root root 296 Feb 11 03:50 UserGuide.txt
額外授權給oracle使用者,另外修改許可權755。
[root@CRSimpleLinux /]# chown -R oracle:oinstall orachk/
[root@CRSimpleLinux /]# chmod -R 755 /orachk/
[root@CRSimpleLinux /]# cd /orachk/
[root@CRSimpleLinux orachk]# ls -l
total 28072
-rwxr-xr-x 1 oracle oinstall 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 oracle oinstall 1407669 Feb 14 03:23 orachk
-rwxr-xr-x 1 oracle oinstall 1423197 Feb 11 03:50 raccheck
-rwxr-xr-x 1 oracle oinstall 2541 Feb 11 03:50 readme.txt
-rwxr-xr-x 1 oracle oinstall 4700572 Feb 11 03:50 rules.dat
-rwxr-xr-x 1 oracle oinstall 296 Feb 11 03:50 UserGuide.txt
注意:在執行oracheck使用者上,根據不同的情況可以選擇root或者oracle owner物件。在一些檢查專案中,是需要root許可權進行操作的。一種比較推薦的方式是使用owner使用者執行,在需要root許可權的時候按照提示輸入root密碼。
3、oracheck使用
oracheck指令碼有預設的行為方式,通過引數可以控制執行行為。例如-v可以顯示版本資訊。
[oracle@CRSimpleLinux orachk]$ ./orachk -v
ORACHK VERSION: 2.2.4(BETA)_20140210
通常情況下,使用預設的profile配置,就可以進行大部分檢查專案。
[oracle@CRSimpleLinux orachk]$ ./orachk -v
ORACHK VERSION: 2.2.4(BETA)_20140210
[oracle@CRSimpleLinux orachk]$ ./orachk
This computer is for [S]ingle instance database or part of a [C]luster to run RAC database [S|C] [C]:S
orachk did not find the RDBMS binaries on crsimplelinux from environment.
Please set RAT_ORACLE_HOME to ORACLE_HOME in current shell to override and re-run it.
eg export RAT_ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
預設配置環境變數中,要求RAT_ORACLE_HOME配置為ORACLE_HOME。
[oracle@CRSimpleLinux orachk]$ export RAT_ORACLE_HOME=$ORACLE_HOME
[oracle@CRSimpleLinux orachk]$ env | grep RAT_ORACLE_HOME
RAT_ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
[oracle@CRSimpleLinux orachk]$ ./orachk
This computer is for [S]ingle instance database or part of a [C]luster to run RAC database [S|C] [C]:S
(篇幅原因,有省略……)
Data collections completed. Checking best practices on crsimplelinux.
--------------------------------------------------------------------------------------
(發現問題列表……)
WARNING => net.core.wmem_max Is NOT Configured According to Recommendation
WARNING => net.core.rmem_max Is NOT Configured According to Recommendation
WARNING => The number of async IO descriptors is too low (/proc/sys/fs/aio-max-nr)
WARNING => kernel.shmmax parameter is NOT configured according to recommendation
WARNING => OSWatcher is not running as is recommended.
INFO => Consider increasing the COREDUMPSIZE size
Best Practice checking completed.Checking recommended patches on crsimplelinux.
---------------------------------------------------------------------------------
RDBMS homes patches summary report
---------------------------------------------------------------------------------
Total patches Applied on RDBMS Applied on ASM ORACLE_HOME
---------------------------------------------------------------------------------
Detailed report (html) - /orachk/orachk_crsimplelinux_052014_172942/orachk_crsimplelinux_052014_172942.html –結果報告檔案
UPLOAD(if required) - /orachk/orachk_crsimplelinux_052014_172942.zip
在目錄中,包括了一個zip檔案和資料夾,包括了巡檢結果報告。
[oracle@CRSimpleLinux orachk]$ ls -l
total 28228
-rwxr-xr-x 1 oracle oinstall 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 oracle oinstall 1407669 Feb 14 03:23 orachk
drwxr-xr-x 6 oracle oinstall 12288 May 20 17:30 orachk_crsimplelinux_052014_172942
-rw-r--r-- 1 oracle oinstall 145482 May 20 17:30 orachk_crsimplelinux_052014_172942.zip
-rwxr-xr-x 1 oracle oinstall 1423197 Feb 11 03:50 raccheck
-rwxr-xr-x 1 oracle oinstall 2541 Feb 11 03:50 readme.txt
-rwxr-xr-x 1 oracle oinstall 4700572 Feb 11 03:50 rules.dat
-rwxr-xr-x 1 oracle oinstall 296 Feb 11 03:50 UserGuide.txt
4、報告解析
開啟html檔案,可以看到報告。報告頭是oracheck對於系統情況的一個評分,下面顯示的是得到了87分。summary環節中包括了資料庫基本資訊情況。
首先是對於資料庫需要關注問題,oracheck都給與特別的顯示。在級別上,也有對應不同的型別。目前oracheck支援fail、warning、error和info幾個型別。
後面包括Passed的檢查專案。對於提醒的問題內容,我們點選Details,就可以跳轉到詳細資訊部分進行解釋檢查。
上面提示的內容比較清楚。這個錯誤是針對核心kernal.shmmax引數確定的。在Oracle DBMS中,配置這個引數的原則是按照實體記憶體一般大小進行配置就可以。檢查中發現實際大小:2147483648,建議大小是4088072192。並且提示了詳細解析的MOS文章編號。
oracheck報告內容是結合了Oracle最佳實踐內容而確定的,我們下面可以根據實際情況進行修改。
5、重新執行報告
按照提示資訊將問題修改之後(修改過程詳見後續文章),最好重新執行oracheck判斷問題是否解決。
[oracle@CRSimpleLinux ~]$ cd /orachk/
[oracle@CRSimpleLinux orachk]$ export RAT_ORACLE_HOME=$ORACLE_HOME
[oracle@CRSimpleLinux orachk]$ ./orachk
This computer is for [S]ingle instance database or part of a [C]luster to run RAC database [S|C] [C]:
Collecting - Patches for RDBMS Home
Collecting - number of semaphore operations per semop system call
Data collections completed. Checking best practices on crsimplelinux.
--------------------------------------------------------------------------------------
WARNING => OSWatcher is not running as is recommended.
INFO => Consider increasing the COREDUMPSIZE size
(篇幅原因,有省略……)
---------------------------------------------------------------------------------
Detailed report (html) - /orachk/orachk_crsimplelinux_052014_180024/orachk_crsimplelinux_052014_180024.html
UPLOAD(if required) - /orachk/orachk_crsimplelinux_052014_180024.zip
生成新的報告檔案。
[oracle@CRSimpleLinux orachk]$ ls -l
total 28380
-rwxr-xr-x 1 oracle oinstall 21200391 Feb 11 03:50 collections.dat
-rwxr-xr-x 1 oracle oinstall 1407669 Feb 14 03:23 orachk
drwxr-xr-x 6 oracle oinstall 12288 May 20 17:30 orachk_crsimplelinux_052014_172942
-rw-r--r-- 1 oracle oinstall 145482 May 20 17:30 orachk_crsimplelinux_052014_172942.zip
drwxr-xr-x 6 oracle oinstall 12288 May 20 18:01 orachk_crsimplelinux_052014_180024
-rw-r--r-- 1 oracle oinstall 143227 May 20 18:01 orachk_crsimplelinux_052014_180024.zip
-rwxr-xr-x 1 oracle oinstall 1423197 Feb 11 03:50 raccheck
-rwxr-xr-x 1 oracle oinstall 2541 Feb 11 03:50 readme.txt
開啟報告,可以看到檢驗得分已經提升。
6、報告對比功能
oracheck另一項重要功能是報告對比。一個報告可以提供和之前報告情況的對比,及時發現問題變化因素。
[oracle@CRSimpleLinux orachk]$ ./orachk -diff orachk_crsimplelinux_052014_172942 orachk_crsimplelinux_052014_180024
Summary
Total : 23
Missing : 0
New : 0
Changed : 4
Same : 19
File comparison is complete. The comparison report can be viewed in: /orachk/orachk_052014172942_052014180024_diff.html
報告檔案中,可以看到對比情況和變化提示。
7、結論
oracheck來源於raccheck,從使用方式和功能上沒有過多的變化。oracheck對於Oracle產品、作業系統的支援是比較廣泛的。如果配合自動執行功能,完全可以支援多資料庫伺服器的日常自動化巡檢工作。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27500440/viewspace-2111848/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 系統巡檢Python生成word報告🧫Python
- 運維管理系統PIGOSS BSM 如何實現IT巡檢運維Go
- 裝置巡檢管理系統,為企業降本增效
- 使用PowerShell執行的命令和示例,用於增強Windows系統的安全性巡檢專案:2024Windows
- 使用LVM對系統盤進行擴容LVM
- 開啟“網際網路+”模式打造智慧移動APP巡檢系統模式APP
- 變電站裝置狀態識別無人值守巡檢系統
- 行業分析| 影片監控——AI自動巡檢行業AI
- 使用流量分析系統進行資產梳理
- Megacli 批次磁碟巡檢
- dba巡檢指令碼指令碼
- mysql巡檢指令碼MySql指令碼
- 自動化運維-Python paramiko 實現無客戶端系統巡檢運維Python客戶端
- 使用MES製造執行系統進行流程最佳化
- 影像分析,使用Halcon進行缺陷檢測
- 使用scp在多個linux系統間進行copyLinux
- 【開源】自動化巡檢系統,基於 Testng + Playwright + SpringBoot + Vue + Ant-DesignSpring BootVue
- SQL事前巡檢外掛SQL
- oracle DBA 巡檢專案Oracle
- SQL SERVER巡檢指令碼SQLServer指令碼
- 使用Aidlux,輕鬆落地電力巡檢AI應用AIUX
- 使用 YOLO 進行實時目標檢測YOLO
- 使用 Rust 和 OpenCV 進行物體檢測RustOpenCV
- 如何進行系統思考? - skybrary
- 使用 AI 進行 - 視覺化 - 業務&系統邏輯AI視覺化
- 物體檢測實戰:使用 OpenCV 進行 YOLO 物件檢測OpenCVYOLO物件
- 基於RFID技術的易雲維®工廠園區智慧巡檢管理系統
- 使用Linux expect批次巡檢Linux Aix Solaris磁碟使用率指令碼LinuxAI指令碼
- 將ABAP On-Premises系統連線到中央檢查系統以進行自定義程式碼遷移REM
- MySQL資料庫健康檢查--MySQL巡檢MySql資料庫
- 生產裝置點巡檢的工作原理和使用流程
- SQL Server資料庫巡檢SQLServer資料庫
- shell指令碼企業巡檢指令碼
- 使用關鍵點進行小目標檢測
- 在Linux中,如何使用指令碼進行系統配置和部署?Linux指令碼
- 使用Prometheus和Grafana進行系統監控和預測 - flightawarePrometheusGrafana
- 巡檢昨天到現在asm 、系統、資料庫等錯誤日誌 shell指令碼ASM資料庫指令碼
- CRM系統如何進行銷售?
- Linux 系統檢視使用者組Linux