欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

zabbix監(jiān)控oracle表空間的操作方法

 更新時(shí)間:2024年04月22日 11:07:59   作者:hunao384  
Zabbix是一款開(kāi)源的網(wǎng)絡(luò)監(jiān)控和管理系統(tǒng),可以用于監(jiān)控各種網(wǎng)絡(luò)設(shè)備、服務(wù)器和應(yīng)用程序等,本文給大家介紹了zabbix監(jiān)控oracle表空間的操作方法,并通過(guò)代碼示例和圖文講解的非常詳細(xì),需要的朋友可以參考下

1、在agent上面準(zhǔn)備腳本

查看oracle表空間的sql

set linesize 300
set tab off
set pagesize 1000
col TABLESPACENAME format a30
SELECT SUBSTR(a.TABLESPACE_NAME,1,30) TablespaceName,
round(SUM(a.bytes/1024/1024/1024),2) AS "Totle_size(G)",
round(SUM(NVL(b.free_space1/1024/1024/1024,0)),2) AS "Free_space(G)",
round(SUM(a.bytes/1024/1024/1024),2)-round(SUM(NVL(b.free_space1/1024/1024/1024,0)),2) AS "Used_space(G)",
ROUND((SUM(a.bytes/1024/1024/1024)-SUM(NVL(b.free_space1/1024/1024/1024,0))) *100/SUM(a.bytes/1024/1024/1024),2) AS "Used_percent%",
round(SUM((case when a.MAXBYTES = 0 then a.bytes else a.MAXBYTES end)/1024/1024/1024),2) AS "Max_size(G)",
ROUND((SUM(a.bytes/1024/1024/1024)-SUM(NVL(b.free_space1/1024/1024/1024,0)))*100/SUM((case when a.MAXBYTES = 0 then a.bytes else a.MAXBYTES end)/1024/1024/1024),2) AS "Max_percent%"
FROM dba_data_files a,
(SELECT SUM(NVL(bytes,0)) free_space1,
file_id
FROM dba_free_space
GROUP BY file_id
) b
WHERE a.file_id = b.file_id(+)
GROUP BY a.TABLESPACE_NAME
ORDER BY "Used_percent%" desc; 

(1)定義查表空間使用率的腳本 /home/oracle/get_tablespace_usage.sh

#!/bin/bash
# get tablespace usage
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1/
export PATH=$ORACLE_HOME/bin:$PATH
source /etc/profile
source ~/.oracle_profile
#source ~/.bash_profile
function check {
sqlplus -S "/ as sysdba" <<  EOF
set linesize 300
set tab off
set pagesize 1000
col TABLESPACENAME format a30
spool /tmp/tablespace.log
SELECT SUBSTR(a.TABLESPACE_NAME,1,30) TablespaceName,
round(SUM(a.bytes/1024/1024/1024),2) AS "Totle_size(G)",
round(SUM(NVL(b.free_space1/1024/1024/1024,0)),2) AS "Free_space(G)",
round(SUM(a.bytes/1024/1024/1024),2)-round(SUM(NVL(b.free_space1/1024/1024/1024,0)),2) AS "Used_space(G)",
ROUND((SUM(a.bytes/1024/1024/1024)-SUM(NVL(b.free_space1/1024/1024/1024,0))) *100/SUM(a.bytes/1024/1024/1024),2) AS "Used_percent%",
round(SUM((case when a.MAXBYTES = 0 then a.bytes else a.MAXBYTES end)/1024/1024/1024),2) AS "Max_size(G)",
ROUND((SUM(a.bytes/1024/1024/1024)-SUM(NVL(b.free_space1/1024/1024/1024,0)))*100/SUM((case when a.MAXBYTES = 0 then a.bytes else a.MAXBYTES end)/1024/1024/1024),2) AS "Max_percent%"
FROM dba_data_files a,
(SELECT SUM(NVL(bytes,0)) free_space1,
file_id
FROM dba_free_space
GROUP BY file_id
) b
WHERE a.file_id = b.file_id(+)
GROUP BY a.TABLESPACE_NAME
ORDER BY "Used_percent%" desc;
set feedback off heading off
spool off
quit
EOF
};
check &> /dev/null
errors=`grep ERROR /tmp/tablespace.log | wc -l`
if [ "$errors" -gt 0 ]; then
    echo "" > /tmp/tablespace.log
fi
chown oracle: get_tablespace_usage.sh
chmod 755 get_tablespace_usage.sh

可以用Oracle用戶手動(dòng)執(zhí)行一下腳本,查看/tmp/tablespace.log中有沒(méi)有內(nèi)容輸入, 必須要Oracle用戶。

(2)定義表空間自動(dòng)發(fā)現(xiàn)的腳本

/etc/zabbix/scripts/discovery_tablespace.sh

#!/bin/bash
# zabbix auto discovery oracle tablespace
tablespaces=(`cat /tmp/tablespace.log | awk '{print $1}' | grep -v "^$"`)
length=${#tablespaces[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
    printf "\n\t\t{"
    printf "\"{#TABLESPACE_NAME}\":\"${tablespaces[$i]}\"}"
    if [ $i -lt $[$length-1] ];then
        printf ","
    fi
done
    printf "\n\t]\n"
printf "}\n"
chmod 755 /etc/zabbix/scripts/discovery_tablespace.sh

(3)定義表空間監(jiān)控項(xiàng)腳本

/etc/zabbix/scripts/tablespace_check.sh

#!/bin/bash
# oracle tablespace check
TABLESPACE_NAME=$1
grep "\b$TABLESPACE_NAME\b" /tmp/tablespace.log | awk '{print $2}'
chmod 755 /etc/zabbix/scripts/tablespace_check.sh

2、將腳本a放入crontab里面

su - oracle
crontab -e
	*/5 * * * * /home/oracle/get_tablespace_usage.sh

計(jì)劃任務(wù)里的環(huán)境變量會(huì)與外面的不一致,導(dǎo)致腳本沒(méi)有執(zhí)行,因?yàn)?tmp/tablespace.log的修改時(shí)間沒(méi)有變化。

注意:?。?! 需要在腳本中添加兩行 或者在腳本中添加ORACLE_HOME的完整路徑,例如第三行。

一般路徑及文件是/home/oracle/.bash_profile

source的路徑需要看Oracle的環(huán)境變量寫在哪個(gè)文件里

另一臺(tái)服務(wù)器我也是這樣寫的腳本,把Oracle的環(huán)境變量和環(huán)境變量文件都寫上了,但是計(jì)劃任務(wù)執(zhí)行了,/tmp/tablespace.log文件的修改時(shí)間還是沒(méi)有變化。

把第一個(gè)框框里的兩句話刪除就好了?。。?,可能是自己寫的Oracle路徑,和環(huán)境變量中的有沖突

修改時(shí)間已是最新時(shí)間(計(jì)劃任務(wù)執(zhí)行的時(shí)間)

3、編輯agent參數(shù)

vim /etc/zabbix/zabbix_agent.d/oracle.conf
# tablespace usage
UserParameter=discovery.tablespace,/etc/zabbix/scripts/discovery_tablespace.sh
UserParameter=tablespace.check.[*],/etc/zabbix/scripts/tablespace_check.sh $1 

我用這個(gè)方法zabbix報(bào)錯(cuò)找不到監(jiān)控項(xiàng)

我只能用笨的方法,把表空間一個(gè)一個(gè)從/tmp/tablespace.log中取出來(lái)。

然后在zabbix頁(yè)面中找到相應(yīng)的主機(jī)一個(gè)一個(gè)添加監(jiān)控項(xiàng)。

配置觸發(fā)器,表空間大于90%觸發(fā),最后加入動(dòng)作。

以上就是zabbix監(jiān)控oracle表空間的操作方法的詳細(xì)內(nèi)容,更多關(guān)于zabbix監(jiān)控oracle表空間的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Oracle9i在Win2k環(huán)境下的完全卸載

    Oracle9i在Win2k環(huán)境下的完全卸載

    Oracle9i在Win2k環(huán)境下的完全卸載...
    2007-03-03
  • oracle 觸發(fā)器 實(shí)現(xiàn)出入庫(kù)

    oracle 觸發(fā)器 實(shí)現(xiàn)出入庫(kù)

    出庫(kù)入庫(kù)這樣的功能在許多系統(tǒng)中都有??赡芙蟹ú灰?。有的可能是數(shù)量,有的可能是金額。我這里以金額為例 實(shí)現(xiàn)出庫(kù)入庫(kù)也有許多方法,一種是用語(yǔ)言實(shí)現(xiàn),一種是用觸發(fā)器實(shí)現(xiàn)。它們各有千秋。
    2009-07-07
  • Oracle 計(jì)算時(shí)間格式平均值的sql 語(yǔ)句

    Oracle 計(jì)算時(shí)間格式平均值的sql 語(yǔ)句

    這篇文章主要介紹了Oracle 計(jì)算時(shí)間格式平均值的sql 語(yǔ)句,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 運(yùn)行在容器中的Oracle XE-11g

    運(yùn)行在容器中的Oracle XE-11g

    今天小編就為大家分享一篇關(guān)于運(yùn)行在容器中的Oracle XE-11g,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝過(guò)程

    Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝過(guò)程

    這篇文章主要介紹了Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝,安裝步驟是以管理員模式運(yùn)行Oracle setup.exe文件,根據(jù)提示安裝Oracle,創(chuàng)建數(shù)據(jù)庫(kù),注意修改連接數(shù),本文給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • oracle查詢字段類型長(zhǎng)度等字段信息簡(jiǎn)單代碼示例

    oracle查詢字段類型長(zhǎng)度等字段信息簡(jiǎn)單代碼示例

    這篇文章主要給大家介紹了關(guān)于oracle查詢字段類型長(zhǎng)度等字段信息的相關(guān)資料,文中介紹了如何查詢Oracle數(shù)據(jù)庫(kù)中表的字符集和字段長(zhǎng)度類型,包括VARCHAR2字段的兩種表示方式及其區(qū)別,需要的朋友可以參考下
    2024-12-12
  • Oracle的約束介紹與約束維護(hù)

    Oracle的約束介紹與約束維護(hù)

    這篇文章介紹了Oracle的約束與約束維護(hù),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 自動(dòng)備份Oracle數(shù)據(jù)庫(kù)

    自動(dòng)備份Oracle數(shù)據(jù)庫(kù)

    自動(dòng)備份Oracle數(shù)據(jù)庫(kù)...
    2007-03-03
  • oracle去除空格的三種方式舉例總結(jié)

    oracle去除空格的三種方式舉例總結(jié)

    這篇文章主要介紹了oracle去除空格的三種方式,分別是使用TRIM()函數(shù)去除字符串兩端空格,使用REPLACE()函數(shù)替換掉所有空格,以及利用REPLACE()結(jié)合CHR()函數(shù)去除制表符、換行符、回車符和空格符,這些方法幫助優(yōu)化字符串處理,需要的朋友可以參考下
    2024-11-11
  • Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法

    Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法

    這篇文章主要介紹了Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法,RBO即基于規(guī)則的優(yōu)化方式(Rule-Based Optimization),CBO即基于代價(jià)的優(yōu)化方式(Cost-Based Optimization),需要的朋友可以參考下
    2014-07-07

最新評(píng)論