6.Monitor Linux OS process and DB session
1.create table
SQL> create table mon_process
2 (ip_address varchar2(30),
3 hostname varchar2(20),
4 datetime varchar2(20),
5 all_process int,
6 running_process int,
7 sleeping_process int,
8 stopped_process int,
9 zmobie_process int,
10 all_session int,
11 act_session int
12 );
Table created.
2.shell script
如下指令碼的前提是在/etc/hosts配置的名字和db link上的名字是一樣的.這樣方便處理
[mon@oracle6 source]$ more mon_process
#!/bin/bash
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=wlcspdb
datetime=`date +"%Y/%m/%d %H:%M:%S"`
STRS="oracle topaz standby wlcspdb1 wlcspdb2"
for STR in $STRS
do
OUTPUT=`echo "top -b -n 1 | grep Tasks" | ssh -Tq mon@$STR`
ALL_PROCESS=`echo $OUTPUT | awk '{print $2}'`
RUNNING_PROCESS=`echo $OUTPUT | awk '{print $4}'`
SLEEPING_PROCESS=`echo $OUTPUT | awk '{print $6}'`
STOPPED_PROCESS=`echo $OUTPUT | awk '{print $8}'`
ZMOBIE_PROCESS=`echo $OUTPUT | awk '{print $10}'`
SESSION=`$ORACLE_HOME/bin/sqlplus -s /nolog << EOF
conn mon/mon
set heading off pagesize 0 feedback off verify off echo off;
select count(1),sum(decode(status,'ACTIVE',1,0)) from v\\$session@$STR;
exit
EOF`
ALL_SESSION=`echo $SESSION | awk '{print $1}'`
ACT_SESSION=`echo $SESSION | awk '{print $2}'`
IP_ADDRESS=`cat /etc/hosts | grep $STR | awk '{print $1}'`
$ORACLE_HOME/bin/sqlplus -s /nolog << EOF
conn mon/mon
insert into mon_process values('$IP_ADDRESS','$STR','$datetime','$ALL_PROCESS','$RUNNING_PROCESS','$SLEEPING_PROCESS','$STOPPED_PROCESS','$ZMOBIE_PROCESS','$ALL_SESSION','$ACT_SESSION');
commit;
exit;
EOF
done
3.job
###############mon os process and db session#####################
* * * * * /home/mon/source/mon_process >> /home/mon/log/mon_process.log
SQL> create table mon_process
2 (ip_address varchar2(30),
3 hostname varchar2(20),
4 datetime varchar2(20),
5 all_process int,
6 running_process int,
7 sleeping_process int,
8 stopped_process int,
9 zmobie_process int,
10 all_session int,
11 act_session int
12 );
Table created.
2.shell script
如下指令碼的前提是在/etc/hosts配置的名字和db link上的名字是一樣的.這樣方便處理
[mon@oracle6 source]$ more mon_process
#!/bin/bash
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=wlcspdb
datetime=`date +"%Y/%m/%d %H:%M:%S"`
STRS="oracle topaz standby wlcspdb1 wlcspdb2"
for STR in $STRS
do
OUTPUT=`echo "top -b -n 1 | grep Tasks" | ssh -Tq mon@$STR`
ALL_PROCESS=`echo $OUTPUT | awk '{print $2}'`
RUNNING_PROCESS=`echo $OUTPUT | awk '{print $4}'`
SLEEPING_PROCESS=`echo $OUTPUT | awk '{print $6}'`
STOPPED_PROCESS=`echo $OUTPUT | awk '{print $8}'`
ZMOBIE_PROCESS=`echo $OUTPUT | awk '{print $10}'`
SESSION=`$ORACLE_HOME/bin/sqlplus -s /nolog << EOF
conn mon/mon
set heading off pagesize 0 feedback off verify off echo off;
select count(1),sum(decode(status,'ACTIVE',1,0)) from v\\$session@$STR;
exit
EOF`
ALL_SESSION=`echo $SESSION | awk '{print $1}'`
ACT_SESSION=`echo $SESSION | awk '{print $2}'`
IP_ADDRESS=`cat /etc/hosts | grep $STR | awk '{print $1}'`
$ORACLE_HOME/bin/sqlplus -s /nolog << EOF
conn mon/mon
insert into mon_process values('$IP_ADDRESS','$STR','$datetime','$ALL_PROCESS','$RUNNING_PROCESS','$SLEEPING_PROCESS','$STOPPED_PROCESS','$ZMOBIE_PROCESS','$ALL_SESSION','$ACT_SESSION');
commit;
exit;
EOF
done
3.job
###############mon os process and db session#####################
* * * * * /home/mon/source/mon_process >> /home/mon/log/mon_process.log
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24237320/viewspace-2057851/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle GoldenGate 18.1 支援的DB和OS列表OracleGo
- LINUX inner-process communicationLinux
- Linux alarm signal (SIGALRM) to detach process isAliveLinux
- DB庫伺服器重灌OS的快速恢復配置伺服器
- 為什麼資料庫中大量的server process沒有對應的session?資料庫ServerSession
- DB2 Linux環境安裝DB2Linux
- Unix、Windows、Mac OS、Linux系統故事WindowsMacLinux
- move linux os from disk A to disk B with 0 lossLinux
- os - openwrt 通訊類產品常用linuxLinux
- 【node】process
- 分享兩部 Linux 紀錄片:The Code, Revolution OSLinux
- Hyperf 釋出 Session、極簡 DB、Zookeeper 配置中心元件和支援 Twig / Plates 檢視引擎支援Session元件
- Hyperf 釋出 Session、極簡 DB、zk 配置中心元件和支援 Twig/Plates 檢視引擎支援Session元件
- find process by port
- Linux下安裝DB2的包依賴LinuxDB2
- Chrome OS 將測試 Linux 應用的 GPU 支援ChromeLinuxGPU
- Linux “百變”秀:今天 Windows 95,明天 Mac OS 9LinuxWindowsMac
- 如何在Chrome OS上安裝Linux應用程式ChromeLinux
- OS + hongmeng / harmony os / ArkTS
- [Symfony Component Process Exception RuntimeException] The Process class relies on proc_open, whichException
- RuntimeError: An attempt has been made to start a new process before the current process hasError
- 詳解基於DB2 z/OS環境下的資料庫調優技術CCDB2資料庫
- db2 v9.7 linux 6.3安裝問題DB2Linux
- Zorin OS 15 Lite 釋出:好看的輕量級 LinuxLinux
- Windows、Linux、Unix、Mac OS X系統哪個更好用?WindowsLinuxMac
- os.walk、os.rename
- pipe stderr into another process
- Statistical Process Control in SAP
- SciTech-OS-Linux-Device Driver: 英文原版電子書“Linux Device Drivers, Third Edition”Linuxdev
- os
- session和v$session說明Session
- laravel session 與 php session配置LaravelSessionPHP
- 【Mongodb】db.stats() 與 db.serverStats() 與 db.collection.stats()MongoDBServer
- 配置簡單的linux 的幾個操作步驟(Cent OS)Linux
- G011-OS-INS-03 CentOS Linux V7.8 安裝CentOSLinux
- Linux或者國產OS下使用HHDESK進行檔案管理Linux
- [OS/Linux] Linux核心引數:net.core.somaxconn(高併發場景核心引數)Linux
- SessionSession
- Process object has no attribute '_popen'Object