zabbix监控Oracle表空间使用率

news/2024/10/18 2:38:22/

一、获取Oracle数据库表空间信息的原始脚本和自动发现脚本

 Oracle表空间的信息需要SQL语句查询得到,因此,我们首先创建一个获取表空间信息的原始脚本/home/oracle/tablespace.sh,这个脚本由oracle用户去执行,脚本编写如下: 

确认环境变量:

[root@racdb1 tmp]# cat /home/oracle/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db
export ORACLE_HOSTNAME=p19c01
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=plm1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
alias sas='sqlplus / as sysdba'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
################OracleEnd#########################
[root@racdb1 ~]# cat /home/oracle/tablespace.sh
#!/bin/bash#export ORACLE_BASE=/u01/app/oracle
#export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
#export PATH=$ORACLE_HOME/bin:$PATH
#export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
source ~/.bash_profile  #执行此步可确保定时任务能执行成功,否则任务可能找不到变量sqlplus  -S / as sysdba <<EOF
set heading off
set pagesize 0
set feedback off
set linesize 200spool /tmp/ora_tablespace.txtSELECT aa.tablespace_name,round(aa.usd / bb.maxs * 100, 2) "USED%",round((bb.maxs - aa.usd) / 1024 / 1024 / 1024, 2) "FREE(G)",round(bb.maxs / 1024 / 1024 / 1024, 2) "MAX(G)",round(aa.usd / 1024 / 1024 / 1024, 2) "USED(G)"FROM (SELECT b.Tablespace_Name, (b.Bytes - NVL(a.Bytes, 0)) "USD"FROM (SELECT tablespace_name, SUM(bytes) bytesFROM Dba_Free_SpaceGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM(bytes) bytesFROM Dba_Data_FilesGROUP BY tablespace_name) bWHERE b.tablespace_name = a.tablespace_name(+)) aa,(SELECT tablespace_name,SUM(CASEWHEN maxbytes = 0 THENuser_bytesELSEmaxbytes

http://www.ppmy.cn/news/1469506.html

相关文章

[EFI]ASUS Vivobook 16x M1603QA 电脑 Hackintosh 黑苹果efi引导文件

黑果魏叔提供硬件型号驱动情况 主板ASUS Vivobook 16x M1603QA 处理器AMD Ryzen 5 5600H已驱动 内存8GB DDR4 on board 8GB DDR4 SO-DIMM已驱动 硬盘SSD INTEL 512GB 670P M.2 SSDPEKNU512GZX1 PCIe 3.0 x4 NVMe已驱动 显卡AMD Radeon RX Vega 7已驱动 声卡瑞昱 AMD Hi…

Java—读取properties配置文件

编写配置文件 usernameroot password123456 urljdbc:mysql://localhost:3306/myDatabase driverClassNamecom.mysql.cj.jdbc.Driver 编写测试类 import java.io.FileInputStream; import java.io.IOException; import java.util.Enumeration; import java.util.Properties;/*…

【React】React 的useDebugValue作用是什么,怎么使用

React的useDebugValue是一个Hook,它主要用于在开发过程中帮助开发者调试自定义Hook。它的主要作用是将自定义Hook中的某些值暴露给React开发工具(如React DevTools),以便于开发者在调试时能够更直观地查看和理解组件的状态。 useDebugValue的作用: 调试自定义Hook:useDe…

2024050802-重学 Java 设计模式《实战模板模式》

重学 Java 设计模式&#xff1a;实战模版模式「模拟爬虫各类电商商品&#xff0c;生成营销推广海报场景」 一、前言 黎明前的坚守&#xff0c;的住吗&#xff1f; 有人举过这样一个例子&#xff0c;先给你张北大的录取通知书&#xff0c;但要求你每天5点起床&#xff0c;12点…

Rust anyhow 简明教程

anyhow 是 Rust 中的一个库&#xff0c;旨在提供灵活的、具体的错误处理能力&#xff0c;建立在 std::error::Error 基础上。它主要用于那些需要简单错误处理的应用程序和原型开发中&#xff0c;尤其是在错误类型不需要被严格区分的场景下。 以下是 anyhow 的几个关键特性&…

A45 STM32_HAL库函数 之 SMARTCARD通用驱动 -- A -- 所有函数的介绍及使用

A45 STM32_HAL库函数 之 SMARTCARD通用驱动 -- A -- 所有函数的介绍及使用 1 该驱动函数预览1.1 HAL_SMARTCARD_Init1.2 HAL_SMARTCARD_DeInit1.3 HAL_SMARTCARD_MspInit1.4 HAL_SMARTCARD_MspDeInit1.5 HAL_SMARTCARD_ReInit1.6 HAL_SMARTCARD_Transmit1.7 HAL_SMARTCARD_Rece…

46-1 护网溯源 - 钓鱼邮件溯源

一、客户提供钓鱼邮件样本 二、行为分析 三、样本分析 对钓鱼邮件中的木马程序1111.exe文件进行了分析,提交了360安全大脑沙箱云和微步在线云沙箱。 360安全大脑沙箱云显示,该1111.exe文件存在危险 建议使用360压缩软件进行解压,同时注意系统安全,避免不必要的风险。 四…

ISO七层模型 tcp/ip

OSI七层模型&#xff08;重点例子&#xff09; OSI&#xff08;Open Systems Interconnection&#xff09;模型&#xff0c;也称为开放系统互连模型&#xff0c;是一个理论模型&#xff0c;由国际标准化组织&#xff08;ISO&#xff09;制定&#xff0c;用于描述和理解不同网络…