自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle 一鍵巡檢自動生成 Word 報告

數(shù)據庫 Oracle
巡檢人員只需要執(zhí)行腳本,腳本會自動生成一個完整的 Word 報告(樣式格式都無需調整),只需要檢查報告中是否存在問題即可。本文演示一套 19C RAC 的集群數(shù)據庫自動巡檢。

前言

Oracle 數(shù)據庫巡檢通常需要消耗大量時間和精力,包括收集數(shù)據庫以及主機的相關信息。針對 Word 報告的樣式調整,也是重復和費事的,所以我針對 Oracle 巡檢所需檢查的信息以及報告模板,寫了一套自動巡檢并且生成報告的腳本。巡檢人員只需要執(zhí)行腳本,腳本會自動生成一個完整的 Word 報告(樣式格式都無需調整),只需要檢查報告中是否存在問題即可。

本文演示一套 19C RAC 的集群數(shù)據庫自動巡檢。

介紹

Oracle 一鍵巡檢腳本可將巡檢結果一鍵生成為 Word 報告!本腳本通過 python 將巡檢結果生成為 Word 報告,分為兩部分:

  • 第一部分通過 shell 和 sql 腳本生成巡檢壓縮包。
  • 第二部分通過 python 解析巡檢壓縮包生成 Word 巡檢報告。

Word 報告內容主要包括:主機巡檢,數(shù)據庫巡檢,DataGuard 同步檢查,Rman 備份檢查, rac 集群檢查,數(shù)據庫性能分析(awr 內部 sql 獲?。?,抓取 alert日志,抓取 awr 報告等,內容極其豐富。如果是 rac,會抓取所有節(jié)點報告。

  • 報告可選:周/月/季三種類型,生成的 Word 可直接交付客戶。
  • 支持所有操作系統(tǒng),所有版本。
  • 支持Oracle 10/11/12/18/19/21 等版本。
  • 支持 non-cdb/cdb 架構。
  • 如果一臺主機有多個實例,支持一鍵巡檢多個實例,生成一個巡檢文件,方便快捷。
  • 支持一鍵生成多個數(shù)據庫 Word 報告。
  • Word 報告生成支持自定義客戶名稱,巡檢公司名稱,巡檢人員名稱,巡檢公司 LOGO等,直接解放雙手。
  • Word 報告生成后根據數(shù)據庫巡檢結果,在 Word 中直接提供巡檢建議,全程智能巡檢。
  • 數(shù)據庫主機無需安裝任何第三方軟件,只需要上傳巡檢腳本,一鍵執(zhí)行生成巡檢文件即可。
  • 腳本持續(xù)更新。

Oracle 數(shù)據庫主機只需需要上傳對應 DB 的巡檢腳本:

[oracle@rac01:/home/oracle/check]$ ll
-rw-r--r-- 1 root root 202369 Mar 15 09:12 dbcheck10g.sql
-rw-r--r-- 1 root root 206342 Mar 15 09:12 dbcheck11g.sql
-rw-r--r-- 1 root root 207786 Mar 15 09:12 dbcheck12c.sql
-rw-r--r-- 1 root root  24819 Mar 15 09:13 oscheck.sh

oscheck.sh 是用來巡檢主機相關信息以及配置檢查。dbcheck*.sql 是用來巡檢數(shù)據庫相關信息,12c 包括 12c 以后的版本。

演示

Oracle 數(shù)據庫巡檢

Oracle 數(shù)據庫其中一個節(jié)點上傳巡檢腳本(本文選擇節(jié)點一):

[root@rac01:/root]$ chown -R oracle:oinstall /home/oracle/check/
[oracle@rac01:/home/oracle/check]$ chmod +x oscheck.sh 
[oracle@rac01:/home/oracle/check]$ ll
total 232
-rw-r--r-- 1 oracle oinstall 207786 Mar 15 09:12 dbcheck12c.sql
-rwxr-xr-x 1 oracle oinstall  24819 Mar 15 09:13 oscheck.sh

執(zhí)行腳本一鍵巡檢 Oracle 數(shù)據庫:

## 如果一臺主機上有多個實例,可以通過參數(shù) -o 來指定,例如:
sh oscheck.sh -o orcl,lucifer,test
## 確保 ORACLE_SID 正確后,執(zhí)行腳本
[oracle@rac01:/home/oracle/check]$ sh oscheck.sh

#==============================================================#                                                                                  
Oracle數(shù)據庫主機檢查                                                                                  
#==============================================================#                                                                                  

收集主機 OS 層信息 ...                                                                                  
收集數(shù)據庫補丁信息 ...                                                                                  
收集數(shù)據庫監(jiān)聽信息 ...                                                                                  

#==============================================================#                                                                                  
檢查數(shù)據庫實例:luciferdg1                                                                                  
#==============================================================#                                                                                  

收集數(shù)據庫ALERT日志 ...                                                                                  
收集數(shù)據庫AWR報告 ...                                                                                  

Note1: Information about Instance

   INST_ID       DBID NAME       DATABASE_ROLE        CREATED              LOG_MODE      OPEN_MODE            VERSION    SESSIONID
---------- ---------- ---------- -------------------- -------------------- ------------- -------------------- ---------- --------------------
         1 4019382963 LUCIFER    PRIMARY              2024-03-13 10:21:39  ARCHIVELOG    READ WRITE           19.0.0.0.0 392,13105,30182
         2 4019382963 LUCIFER    PRIMARY              2024-03-13 10:21:39  ARCHIVELOG    READ WRITE           19.0.0.0.0 392,13105,30182


Note2: Information abount Recyclebin

+------------------------------------------------------------------------------------------------------------+
|                                    Oracle Database health Check script                                     |
|------------------------------------------------------------------------------------------------------------+
|                              Copyright (c) 2022-2100 lpc. All rights reserved.                             |
+------------------------------------------------------------------------------------------------------------+

DBHealthCheck  Author: Lucifer

+----------------------------------------------------------------------------+
Now DBCheck staring, the time cost depending on size of database.
Begining ......500
+----------------------------------------------------------------------------+

-----Oracle Database  Check STRAT, Starting Collect Data Dictionary Information----
start...Set Environment Variables, Configure html headers.....
start collect...Database Informaion...
start collect......Overview of Instance Informaion...
start collect......Overview of Database Informaion...
start collect......Database Version Informaion...
start collect......Database Component and Patch Informaion...
start collect......Database Parameter Informaion...
start collect......Database Resource Informaion...
start collect......Database ControlFile Informaion...
start collect......Database LogFile Informaion...
start collect......Archive Log Size in last 10 Days...
start collect......Invalid Object Informaion...
start collect......Tablespace Usage Informaion...
start collect......Top10 Index Informaion...
start collect......Range Partition Extend Check Informaion...
start collect......Object in System TableSpace Informaion...
start collect......BitCoin Attack Check...
start collect......SYSAUX Objects Informaion...
start collect......Flashback Database Parameters...
start...OverView Database User Information...
start collect......System Manager Role Informaion...
start collect......Schema Informaion...
start collect......Profile Informaion...
start collect......Directory Informaion...
start collect......Job Informaion...
start collect......Database Link Informaion...
start collect......Autotask Informaion...
start...OverView Database of Backup and Recover Information...
start collect......Dataguard Parameter...
start collect......Dataguard Applied Status...
start collect......Dataguard Status...
start collect......RMAN Backup Info...
start collect......Orphaned DataPump Jobs...
start collect......Instacne Alert Log...
start...OverView Database of ASM Information...
start collect......ASM Instance Informaion...
start collect......ASM Diskgroup Attribute...
start collect......ASM Disk Group...
start...OverView Database Performace Information...
start collect......AWR Configure Informaion...
start collect......Awrrpt Snap Informaion...
start collect......Awrrpt Load Profile Informaion...
start collect......Instance Efficiency Percentages...
start collect......TOP 10 Wait Event...
start collect......System Time Model...
start collect......TOP 10 SQL Order by Elapsed Time...
start collect......Awrcrt Informaion...
Database script execution ends....

壓縮包位置: /home/oracle/check/dbcheck_rac01_20240315.tar.gz

執(zhí)行完之后會在當前目錄生成一個 tar 壓縮包:

[oracle@rac01:/home/oracle/check]$ ll
total 640
-rw-r--r-- 1 oracle oinstall 207786 Mar 15 09:12 dbcheck12c.sql
drwxr-xr-x 2 oracle oinstall    227 Mar 15 09:28 dbcheck_rac01_20240315
-rw-r--r-- 1 oracle oinstall 417254 Mar 15 09:28 dbcheck_rac01_20240315.tar.gz
-rwxr-xr-x 1 oracle oinstall  24819 Mar 15 09:13 oscheck.sh

這個就是腳本獲取到的所有信息集合,包含以下內容:

[oracle@rac01:/home/oracle/check]$ cd dbcheck_rac01_20240315/
[oracle@rac01:/home/oracle/check/dbcheck_rac01_20240315]$ ll
## 節(jié)點1的 alert 日志
-rw-r--r-- 1 oracle oinstall   54530 Mar 15 09:27 alert_luciferdg1.log
## 節(jié)點2的 alert 日志
-rw-r--r-- 1 oracle oinstall 3785318 Mar 15 09:27 alert_luciferdg2.log
## 節(jié)點1的 awrrpt 報告
-rw-r--r-- 1 oracle oinstall 1506483 Mar 15 09:27 awrrpt_luciferdg1_13_46.html
## 節(jié)點2的 awrrpt 報告
-rw-r--r-- 1 oracle oinstall 1455454 Mar 15 09:27 awrrpt_luciferdg2_13_46.html
## Oracle Database 巡檢報告 html 格式
-rw-r--r-- 1 oracle oinstall  121960 Mar 15 09:28 dbcheck_4019382963_LUCIFER_19.0.0.0.0_20240315.html
## Oracle 主機巡檢報告 txt 格式
-rw-r--r-- 1 oracle oinstall   12823 Mar 15 09:27 oscheck_rac01_20240315.txt

接下來就是將 tar 文件獲取到本地,進行 word 報告一鍵生成程序即可。

生成 Word 報告

放入巡檢文件

通過 sftp 等工具獲取到 tar 報告,放到 checkfiles 目錄下:

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck/checkfiles ?main●?
╰─$ ll
total 816
-rw-r--r--  1 lucifer  staff   407K  3 15 09:38 dbcheck_rac01_20240315.tar.gz
-rw-r--r--@ 1 lucifer  staff     0B  1 22 10:19 請將巡檢文件移動到此目錄下.txt

配置 Python 環(huán)境

前置工作(必須滿足):

  • 建議下載安裝 Python 3 最新版本,并且配置好 Python 環(huán)境。
  • 下載安裝 chrome 瀏覽器以及 chromedriver。
  • 需要安裝以下 Python 模塊,在根目錄下執(zhí)行:pip install -r requirements.txt 即可。

Word 報告一鍵生成程序是通過 Python 來寫的,完整程序目錄如下:

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck ?main●?
╰─$ tree -N
.
├── README.md
├── checkfiles
│   └── 請將巡檢文件移動到此目錄下.txt
├── example
│   └── example.md
├── reports
│   └── word 巡檢報告將在此目錄下生成.txt
├── requirements.txt
├── resources
│   ├── chromedriver
│   ├── config.ini
│   ├── images
│   │   └── Oracle.png
│   ├── js
│   │   └── crt21.js
│   └── templates
│       ├── Oracle數(shù)據庫巡檢報告模板_周.docx
│       ├── Oracle數(shù)據庫巡檢報告模板_季.docx
│       └── Oracle數(shù)據庫巡檢報告模板_月.docx
├── scripts
│   ├── db
│   │   ├── dbcheck10g.sql
│   │   ├── dbcheck11g.sql
│   │   └── dbcheck12c.sql
│   └── os
│       └── oscheck.sh
└── src
    ├── awrcrt.py
    ├── create_config.py
    ├── create_desc.py
    ├── create_report.py
    ├── main.py
    └── parse_file.py

運行 Python 腳本需要安裝 Python 運行環(huán)境,去官方下載最新的安裝包即可:

https://www.python.org/downloads/

注意:在安裝 Python 時勾選 "Add Python to PATH" 復選框,安裝程序會自動添加環(huán)境變量,否則需要手動配置。

安裝好 Python 之后,運行命令安裝依賴包:

## 命令行窗口進入到 requirements.txt 所在目錄運行
╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck ?main●?
╰─$ pip install -r requirements.txt

等待安裝完成即可。

接下來還需要下載 chromedriver 以及 Google Chrome 瀏覽器:

https://googlechromelabs.github.io/chrome-for-testing/#stable。

Stable
Version: 122.0.6261.128 (r1250580)

Binary Platform URL HTTP status
chrome mac-arm64 https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/mac-arm64/chrome-mac-arm64.zip
chrome mac-x64 https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/mac-x64/chrome-mac-x64.zip
chrome win64 https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/win64/chrome-win64.zip

chromedriver mac-arm64 https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/mac-arm64/chromedriver-mac-arm64.zip
chromedriver mac-x64 https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/mac-x64/chromedriver-mac-x64.zip
chromedriver win64 https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.128/win64/chromedriver-win64.zip

下載穩(wěn)定版本后進行安裝即可,chromedriver 下載解壓后放到 resources 目錄下(Windows的是有后綴的):

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck/resources ?main●?
╰─$ ll
-rwxr-xr-x@ 1 lucifer  staff    15M  3 12 07:17 chromedriver
-rw-r--r--@ 1 lucifer  staff   2.0K  2 29 14:00 config.ini
drwxr-xr-x@ 4 lucifer  staff   128B  1 22 12:28 images
drwxr-xr-x@ 3 lucifer  staff    96B  1 22 10:19 js
drwxr-xr-x@ 5 lucifer  staff   160B  1 22 10:19 templates

至此,腳本所需 Python 環(huán)境就配置好了。

生成 Word 報告

進入到 main.py 所在的目錄 src:

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck/src ?main●?
╰─$ ll
-rw-r--r--@ 1 lucifer  staff   3.2K  1 22 10:19 awrcrt.py
-rw-r--r--@ 1 lucifer  staff   3.0K  1 22 10:19 create_config.py
-rw-r--r--@ 1 lucifer  staff    14K  1 22 10:19 create_desc.py
-rw-r--r--@ 1 lucifer  staff   5.1K  1 22 10:19 create_report.py
-rwxr-xr-x@ 1 lucifer  staff   8.2K  1 22 10:19 main.py
-rw-r--r--@ 1 lucifer  staff   5.3K  1 22 10:19 parse_file.py

運行腳本調用圖形化程序:

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck/src ?main●?
╰─$ python main.py

運行完之后會彈出一個圖形化報告生成工具:

工具頁面包含可編輯選項:

  • 客戶公司名稱
  • 服務公司名稱
  • 巡檢人員
  • 服務公司 logo
  • 巡檢類型:根據不同巡檢類型生成不同的報告內容
  • Word 報告保存位置(默認建議不改動)

根據自己實際情況填寫后,本文按照默認配置選擇季度巡檢,點擊 生成報告 即可,查看運行過程:

解壓 /Volumes/DBA/Github/OracleHealthCheck/checkfiles/dbcheck_rac01_20240315.tar.gz 到臨時目錄
復制 crt21.js 到臨時目錄 $_tmp
啟動谷歌游覽器并設置寬度
訪問 html 文件 file:///Volumes/DBA/Github/OracleHealthCheck/src/$_tmp/dbcheck_4019382963_LUCIFER_19.0.0.0.0_20240315.html
正在截取 awrcrt 性能分析圖,請稍等...
截圖已完成
關閉游覽器
保存到 /Volumes/DBA/Github/OracleHealthCheck/reports/Lucifer 有限公司-Oracle數(shù)據庫4019382963_LUCIFER巡檢報告_20240315.docx
刪除圖片臨時目錄
刪除臨時目錄
執(zhí)行完成!

運行完成后在 reports 目錄下已自動生成 Word 報告:

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck/reports ?main●?
╰─$ ll
total 1192
-rw-r--r--@ 1 lucifer  staff   594K  3 15 09:59 Lucifer 有限公司-Oracle數(shù)據庫4019382963_LUCIFER巡檢報告_20240315.docx
-rw-r--r--@ 1 lucifer  staff     0B  1 22 10:19 word 巡檢報告將在此目錄下生成.txt

至此,Word 報告已經生成完成。

責任編輯:姜華 來源: Lucifer三思而后行
相關推薦

2023-12-19 15:45:07

Linux工具

2025-03-19 09:47:08

Shell服務器腳本

2025-03-28 11:14:24

Linux巡檢服務器

2025-04-02 09:10:00

LinuxShell腳本

2022-08-02 14:27:01

HDF驅動框架驅動開發(fā)

2019-10-11 11:00:53

Nginx神器前端

2015-02-09 15:25:52

換膚

2023-03-31 09:30:21

ChatGPT論文

2020-05-11 09:40:47

IDEA代碼神器

2025-03-03 03:35:00

DeepSeekXmind思維導圖

2012-07-03 16:03:07

2011-07-25 23:08:42

投影儀評測

2024-06-21 10:27:21

Service生成工具鴻蒙

2023-03-05 23:11:07

Go語言服務

2023-06-01 15:30:30

Service代碼生成工具

2021-05-06 07:56:22

電腦C盤系統(tǒng)垃圾軟件

2023-10-15 12:57:38

數(shù)據訓練

2024-06-21 10:07:06

鴻蒙service生成工具

2024-04-08 14:07:51

Animagine開源

2015-11-03 15:29:49

ONOS開放網絡操作系統(tǒng)SDN
點贊
收藏

51CTO技術棧公眾號