偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oracle 一鍵巡檢自動(dòng)生成 Word 報(bào)告

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

前言

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

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

介紹

Oracle 一鍵巡檢腳本可將巡檢結(jié)果一鍵生成為 Word 報(bào)告!本腳本通過 python 將巡檢結(jié)果生成為 Word 報(bào)告,分為兩部分:

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

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

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

Oracle 數(shù)據(jù)庫(kù)主機(jī)只需需要上傳對(duì)應(yīng) 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 是用來巡檢主機(jī)相關(guān)信息以及配置檢查。dbcheck*.sql 是用來巡檢數(shù)據(jù)庫(kù)相關(guān)信息,12c 包括 12c 以后的版本。

演示

Oracle 數(shù)據(jù)庫(kù)巡檢

Oracle 數(shù)據(jù)庫(kù)其中一個(gè)節(jié)點(diǎn)上傳巡檢腳本(本文選擇節(jié)點(diǎn)一):

[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ù)據(jù)庫(kù):

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

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

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

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

收集數(shù)據(jù)庫(kù)ALERT日志 ...                                                                                  
收集數(shù)據(jù)庫(kù)AWR報(bào)告 ...                                                                                  

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í)行完之后會(huì)在當(dāng)前目錄生成一個(gè) 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

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

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

接下來就是將 tar 文件獲取到本地,進(jìn)行 word 報(bào)告一鍵生成程序即可。

生成 Word 報(bào)告

放入巡檢文件

通過 sftp 等工具獲取到 tar 報(bào)告,放到 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 請(qǐng)將巡檢文件移動(dòng)到此目錄下.txt

配置 Python 環(huán)境

前置工作(必須滿足):

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

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

╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck ?main●?
╰─$ tree -N
.
├── README.md
├── checkfiles
│   └── 請(qǐng)將巡檢文件移動(dòng)到此目錄下.txt
├── example
│   └── example.md
├── reports
│   └── word 巡檢報(bào)告將在此目錄下生成.txt
├── requirements.txt
├── resources
│   ├── chromedriver
│   ├── config.ini
│   ├── images
│   │   └── Oracle.png
│   ├── js
│   │   └── crt21.js
│   └── templates
│       ├── Oracle數(shù)據(jù)庫(kù)巡檢報(bào)告模板_周.docx
│       ├── Oracle數(shù)據(jù)庫(kù)巡檢報(bào)告模板_季.docx
│       └── Oracle數(shù)據(jù)庫(kù)巡檢報(bào)告模板_月.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

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

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

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

安裝好 Python 之后,運(yùn)行命令安裝依賴包:

## 命令行窗口進(jìn)入到 requirements.txt 所在目錄運(yùn)行
╭─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)定版本后進(jì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 報(bào)告

進(jìn)入到 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

運(yùn)行腳本調(diào)用圖形化程序:

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

運(yùn)行完之后會(huì)彈出一個(gè)圖形化報(bào)告生成工具:

工具頁(yè)面包含可編輯選項(xiàng):

  • 客戶公司名稱
  • 服務(wù)公司名稱
  • 巡檢人員
  • 服務(wù)公司 logo
  • 巡檢類型:根據(jù)不同巡檢類型生成不同的報(bào)告內(nèi)容
  • Word 報(bào)告保存位置(默認(rèn)建議不改動(dòng))

根據(jù)自己實(shí)際情況填寫后,本文按照默認(rèn)配置選擇季度巡檢,點(diǎn)擊 生成報(bào)告 即可,查看運(yùn)行過程:

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

運(yùn)行完成后在 reports 目錄下已自動(dòng)生成 Word 報(bào)告:

╭─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ù)據(jù)庫(kù)4019382963_LUCIFER巡檢報(bào)告_20240315.docx
-rw-r--r--@ 1 lucifer  staff     0B  1 22 10:19 word 巡檢報(bào)告將在此目錄下生成.txt

至此,Word 報(bào)告已經(jīng)生成完成。

責(zé)任編輯:姜華 來源: Lucifer三思而后行
相關(guān)推薦

2023-12-19 15:45:07

Linux工具

2025-03-28 11:14:24

Linux巡檢服務(wù)器

2025-03-19 09:47:08

Shell服務(wù)器腳本

2025-04-02 09:10:00

LinuxShell腳本

2019-10-11 11:00:53

Nginx神器前端

2022-08-02 14:27:01

HDF驅(qū)動(dòng)框架驅(qū)動(dòng)開發(fā)

2023-03-31 09:30:21

ChatGPT論文

2015-02-09 15:25:52

換膚

2025-03-03 03:35:00

DeepSeekXmind思維導(dǎo)圖

2020-05-11 09:40:47

IDEA代碼神器

2012-07-03 16:03:07

2011-07-25 23:08:42

投影儀評(píng)測(cè)

2024-06-21 10:27:21

Service生成工具鴻蒙

2023-03-05 23:11:07

Go語言服務(wù)

2023-06-01 15:30:30

Service代碼生成工具

2021-05-06 07:56:22

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

2015-11-03 15:29:49

ONOS開放網(wǎng)絡(luò)操作系統(tǒng)SDN

2024-06-21 10:07:06

鴻蒙service生成工具

2024-04-08 14:07:51

Animagine開源

2023-10-15 12:57:38

數(shù)據(jù)訓(xùn)練
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)