Oracle RDBMS tablespace free space monitoring.
(Solaris 8, Oracle 9.2)
CONFIGURING & STARTING ORACLE SNMP AGENT
1. Edit config files in $ORACLE_HOME/network/snmp/peer.
1.1. Add to CONFIG.master:
MANAGER ip-of-zabbix-server
SEND ALL TRAPS
1.2. Add to snmpd.conf:
trap ip-of-zabbix-server
managers ip-of-zabbix-server
1.3. Start snmpdx:
$ORACLE_HOME/network/snmp/peer/start_peer -a
1.4. Start Oracle SNMP agent:
# su - oracle
$ agentctl start
CONFIGURING ZABBIX
1.5. Try to get Oracle SNMP tree from zabbix server:
# snmpwalk -Os -v 1 -c public ip-of-oracle-server 1.3.6.1.4.1.111
You should get a lot of strings.
1.6. Get tablespace's names:
# snmpwalk -Os -v 1 -c public 172.17.11.6 1.3.6.1.4.1.111.4.1.2.1.2.2
enterprises.111.4.1.2.1.2.2.1 = STRING: "USER"
enterprises.111.4.1.2.1.2.2.2 = STRING: "SYSTEM"
enterprises.111.4.1.2.1.2.2.3 = STRING: "TBS01"
enterprises.111.4.1.2.1.2.2.4 = STRING: "UNDO01"
1.7. Create host (for example Oracle) in frontend.
1.8. Create items in frontend.
1.8.1. Tablespace USER allocated size.
Type: SNMPv1 agent
SNMP OID: 1.3.6.1.4.1.111.4.1.2.1.3.2.1 (last digit is last digit from
tablespaces list OIDs)
Key: USER.size
Type of information: Numeric (integer 64bit)
Units: b
Use multiplier: Custom
Custom multiplier: 1024 (Oracle SNMP agent returns tablespace size in Kb)
1.8.2. Tablespace USER used size.
Type: SNMPv1 agent
SNMP OID: 1.3.6.1.4.1.111.4.1.2.1.4.2.1 (last digit is last digit from
tablespaces list OIDs)
Key: USER.used
Type of information: Numeric (integer 64bit)
Units: b
Use multiplier: Custom
Custom multiplier: 1024
1.9. Create trigger in frontend.
Name: {HOSTNAME} tablespace USER low free space
Expression: {Oracle:USER.used.last(0)}/{Oracle:USER.size.last(0)} > 0.9
1.10. Repeat for all necessary tablespaces.
(Solaris 8, Oracle 9.2)
CONFIGURING & STARTING ORACLE SNMP AGENT
1. Edit config files in $ORACLE_HOME/network/snmp/peer.
1.1. Add to CONFIG.master:
MANAGER ip-of-zabbix-server
SEND ALL TRAPS
1.2. Add to snmpd.conf:
trap ip-of-zabbix-server
managers ip-of-zabbix-server
1.3. Start snmpdx:
$ORACLE_HOME/network/snmp/peer/start_peer -a
1.4. Start Oracle SNMP agent:
# su - oracle
$ agentctl start
CONFIGURING ZABBIX
1.5. Try to get Oracle SNMP tree from zabbix server:
# snmpwalk -Os -v 1 -c public ip-of-oracle-server 1.3.6.1.4.1.111
You should get a lot of strings.
1.6. Get tablespace's names:
# snmpwalk -Os -v 1 -c public 172.17.11.6 1.3.6.1.4.1.111.4.1.2.1.2.2
enterprises.111.4.1.2.1.2.2.1 = STRING: "USER"
enterprises.111.4.1.2.1.2.2.2 = STRING: "SYSTEM"
enterprises.111.4.1.2.1.2.2.3 = STRING: "TBS01"
enterprises.111.4.1.2.1.2.2.4 = STRING: "UNDO01"
1.7. Create host (for example Oracle) in frontend.
1.8. Create items in frontend.
1.8.1. Tablespace USER allocated size.
Type: SNMPv1 agent
SNMP OID: 1.3.6.1.4.1.111.4.1.2.1.3.2.1 (last digit is last digit from
tablespaces list OIDs)
Key: USER.size
Type of information: Numeric (integer 64bit)
Units: b
Use multiplier: Custom
Custom multiplier: 1024 (Oracle SNMP agent returns tablespace size in Kb)
1.8.2. Tablespace USER used size.
Type: SNMPv1 agent
SNMP OID: 1.3.6.1.4.1.111.4.1.2.1.4.2.1 (last digit is last digit from
tablespaces list OIDs)
Key: USER.used
Type of information: Numeric (integer 64bit)
Units: b
Use multiplier: Custom
Custom multiplier: 1024
1.9. Create trigger in frontend.
Name: {HOSTNAME} tablespace USER low free space
Expression: {Oracle:USER.used.last(0)}/{Oracle:USER.size.last(0)} > 0.9
1.10. Repeat for all necessary tablespaces.