大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。
前言
之前给大家演示了 Linux 平台上单机和 RAC 的巡检案例,可以参考:
后面很多朋友咨询能否支持巡检 Windows 平台的 Oracle 数据库,执行生成 Word,那必须是可以的。
本文演示一套 Windows 19C 单机数据库的自动巡检流程。
介绍
Oracle 数据库巡检通常需要消耗大量时间和精力,包括收集数据库以及主机的相关信息。针对 Word 报告的样式调整,也是重复和费事的,所以我针对 Oracle 巡检所需检查的信息以及报告模板,写了一套自动巡检并且生成报告的脚本。巡检人员只需要执行脚本,脚本会自动生成一个完整的 Word 报告(样式格式都无需调整),只需要检查报告中是否存在问题即可。
Oracle 一键巡检脚本可将巡检结果一键生成为 Word 报告!本脚本通过 python 将巡检结果生成为 Word 报告,分为两部分:
第一部分通过 shell 和 sql 脚本生成巡检压缩包 第二部分通过 python 解析巡检压缩包生成 Word 巡检报告
Word 报告内容主要包括:主机巡检,数据库巡检,DataGuard 同步检查,Rman 备份检查, rac 集群检查,数据库性能分析(awr 内部 sql 获取),抓取 alert日志,抓取 awr 报告等,内容极其丰富。如果是 rac,会抓取所有节点报告。
报告可选:周/月/季三种类型,生成的 Word 可直接交付客户 支持所有操作系统,所有版本 支持Oracle 10/11/12/18/19/21 等版本 支持 non-cdb/cdb 架构 如果一台主机有多个实例,支持一键巡检多个实例,生成一个巡检文件,方便快捷 支持一键生成多个数据库 Word 报告 Word 报告生成支持自定义客户名称,巡检公司名称,巡检人员名称,巡检公司 LOGO等,直接解放双手 Word 报告生成后根据数据库巡检结果,在 Word 中直接提供巡检建议,全程智能巡检 数据库主机无需安装任何第三方软件,只需要上传巡检脚本,一键执行生成巡检文件即可 脚本持续更新
脚本不是免费,订阅巡检脚本可扫码进微信群或者添加作者微信 Lucifer-0622:
Oracle 数据库主机无需安装任何软件,只需需要上传对应数据库版本的巡检脚本:
dbcheck*.sql:是用来巡检数据库相关信息,12c 包括 12c 以后的版本:18c,19c,21c,23ai。 oscheck.sh:是用来巡检主机相关信息以及配置检查。
上传完巡检脚本就可以开始巡检了,数据库主机巡检完之后只会生成一个巡检信息包,安全可靠。
演示
Oracle 数据库巡检
Oracle 数据库主机上传 dbcheck12c.sql 脚本(Windows 暂不支持 oscheck 巡检),上传后,连接 sqlplus 即可执行脚本一键巡检 Oracle 数据库:
c:\>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 星期四 11月 14 13:31:22 2024
Version 19.23.0.0.0
Copyright (c) 1982, 2023, Oracle. All rights reserved.
连接到:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.23.0.0.0
SQL> @dbcheck12c.sql
Note1: Information about Instance
INST_ID DBID NAME DATABASE_ROLE CREATED LOG_MODE OPEN_MODE VERSION
SESSIONID
---------- ---------- ---------- -------------------- -------------------- ------------- -------------------- ---------- --------------------
1 2522485981 SCIMSDB PRIMARY 2024-06-21 10:13:49 NOARCHIVELOG READ WRITE 19.0.0.0.0 250,1529,19952
Note2: Information about Recyclebin
CON_ID OWNER RECYB_SIZE_M RECYB_CNT
---------- --------------- ------------ ----------
0 SUM 0 38
0 ACMS 0 38
+------------------------------------------------------------------------------------------------------------+
| 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....
从 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.23.0.0.0 断开
c:\>
执行完之后会在当前目录生成一个 html 文件:
dbcheck_2522485981_SCIMSDB_19.0.0.0.0_20241114.html
接下来就是将 html 文件下载到本地电脑,进行 word 报告一键生成程序生成 Word 报告即可。
生成 Word 报告
生成 Word 报告的操作都是在自己电脑上执行,我的本地操作系统是 macOS,大家使用 Windows 系统操作也是一样的。
放入巡检文件
将生成的 html 文件放到脚本的 checkfiles 目录下:
进入到 main.py 所在的目录 src,运行脚本调用图形化程序:
╭─lucifer@Lucifer-2 /Volumes/DBA/Github/OracleHealthCheck/src ‹main●›
╰─$ python main.py
运行完之后会弹出一个图形化报告生成工具:
工具页面包含可编辑选项:
客户公司名称 服务公司名称 巡检人员 服务公司 logo 巡检类型:根据不同巡检类型生成不同的报告内容 周 月 季 Word 报告保存位置(默认建议不改动)
根据自己实际情况填写后,本文按照默认配置选择季度巡检,点击 生成报告
即可,运行完成后在 reports 目录下已自动生成 Word 报告:
至此,Word 报告已经生成完成。
Word 报告演示
完整 Word 报告可以查看:https://www.modb.pro/doc/138090
📢 注意:脚本支持读取 checkfiles 下的所有 dbcheck 开头的 html 文件,并根据一个数据库一个 word 报告的方式批量生成报告。
往期精彩文章
Oracle 数据库启动过程之 nomount 详解Oracle RAC 修改系统时区避坑指南(深挖篇)Ubuntu 22.04 一键安装 Oracle 11G RAC使用 dbops 快速部署 MySQL 数据库Oracle RAC 启动顺序,你真的了解吗?达梦数据库一键安装脚本(免费)一篇文章让你彻底掌握 Python 🔥
一篇文章让你彻底掌握 Python一篇文章让你彻底掌握 Shell 🔥
Oracle 监控 EMCC 13.5 安装部署超详细教程 🔥
Oracle 一键巡检自动生成 Word 报告 🔥
Oracle一键安装脚本的 21 个疑问与解答 🔥
Oracle一键巡检脚本的 21 个疑问与解答 🔥
全网首发:Oracle 23ai 一键安装脚本 🔥
Oracle 19C 最新 RU 补丁 19.24 ,一键安装! 🔥
Oracle Linux 6 一键安装 Oracle 11GR2 RAC
Oracle Linux 7.9 一键安装 Oracle 19C
Oracle Linux 8.9 一键安装 Oracle 19C RAC
Oracle Linux 9.4(aarch64) 一键安装 Oracle 19C 🔥
openEuler 20.03 LTS SP4 一键安装 Oracle 19C 🔥
openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC
RHEL 7.9 一键安装 Oracle 19C 19.23 RAC
Redhat 8.4 一键安装 Oracle 11GR2
RedHat 9.4(aarch64) 一键安装 Oracle 19C
龙蜥 Anolis 7.9 一键安装 Oracle 19C 19.23
龙蜥 Anolis OS 8.8 一键安装 Oracle 19C
SUSE 15 SP5 一键安装 Oracle 19C
统信 UOS V20 1070(a) 一键安装 Oracle 11GR2
Ubuntu 22.04 一键安装 Oracle 19C
Ubuntu 14.04 一键安装 Oracle 19C
银河麒麟 Kylin V10 SP3 一键安装 Oracle 19C 🔥
银河麒麟 Kylin V10 SP3 一键安装 Oracle 11GR2 RAC
Oracle DataGuard GAP 修复手册 🔥
优化 Oracle:最佳实践与开发规范
DBA 必备:Linux 软件源配置全攻略 🔥
Linux 一键配置时钟同步全攻略 🔥
Starwind 配置 ISCSI 共享存储
SUSE 15 SP3 安装 Oracle 19C RAC 数据库
达梦 8 数据库安装手册 🔥
Oracle 12CR2 RAC 安装避坑宝典
Linux7 安装 Oracle 19C RAC 详细图文教程 🔥
Oracle ADG 搭建 RAC to Single 详细教程
Oracle DataGuard GAP 修复手册 🔥
Oracle 分区表之在线重定义
AutoUpgrade 快速升级 Oracle 数据库
Oracle 数据库巡检命令手册 🔥
Oracle 数据坏块的 N 种修复方式 🔥
数据库 SQL 开发入门教程
超全 Linux 基础命令总结 🔥
VMware 虚拟机安装 Linux 系统
Linux 安装 MySQL 详细教程
教你玩转 SQLPLUS,工作效率提升 200%
感谢您的阅读,这里是 Lucifer三思而后行,欢迎点赞+关注,我会持续分享数据库知识、运维技巧。