Description
check_oracle_health is a plugin to check various parameters of an Oracle database.
Documentation
Warning
There seems to be a bug in DBD::Oracle 1.76 which hits at least with mode tablespace-usage/free. Stay away from this version and use 1.74
Command line parameters
- –connect
The database name - –user
The database user - –password
Password of the database user. - –connect
Alternativ to the parameters above. - –connect=sysdba@ Login with / as sysdba (if the user that executes the plugin is privileged to do this)
- –connect=/@token Login with help of the Password Store (assumes –method=sqlplus)
- –mode
With the mode-parameter you tell the plugin what it should do. See the list of possible values further down. - –tablespace
With this you can limit the check of a single tablespace. If this parameter is omitted all tablespaces are checked. - –datafile
With this you can limit the check of a single datafile. If this parameter is omitted all datafiles are checked. - –name
Here the check can be limited to a single object (Latch, Enqueue, Tablespace, Datafile). If this parameter is omitted all objects are checked. (Instead of –tablespace or –datafile this parameter can and should be used. It servers the purpose to standardize the CLI interface.) - –name2
If you use –mode=sql, then the SQL-Statement appears in the output and performance values. With the parameter name2 you’re able to specify a custom string for this. - –regexp Through this switch the value of the –name Parameters will be interpreted as regular expression.
- –warning
Determined values outside of this range trigger a WARNING. - –critical
Determined values outside of this range trigger a CRITICAL. - –absolute Without –absolute values that increase in the course of time will show the increase per second or with –absolute show the difference between the current and last run.
- –runas
With this parameter it is possible to run the script under a different user. (Calls sudo internally: sudo -u . - –environment
With this you can pass environment variables to the script. For example: –environment ORACLE_HOME=/u01/oracle. Multiple declarations are possible. - –method
With this parameter you tell the plugin how it should connect to the database. (dbi for using DBD::Oracle (default), sqlplus for using the sqlplus-Tool). - –units=<%|KB|MB|GB> The declaration from units servers the “beautification” of the output from mode=sql and simplification from threshold values when using mode=tablespace-free
- –dbthresholds With this parameter thresholds are read from the database table check_oracle_health_thresholds
- –statefilesdir This parameter tells the plugin not do use the default directory for temporary files, but a user-specified one. It can be important in a clustered environment with shared filesystems.
- –morphmessage This parameter allows subsequently changing the plugin output.
Use the option –mode with various keywords to tell the Plugin which values it should determine and check.
Keyword | Description | Range |
tnsping | Listener | |
connection-time | Determines how long connection establishment and login take | 0..n Seconds (1, 5) |
connected-users | The sum of logged in users at the database | 0..n (50, 100) |
session-usage | Percentage of max possible sessions | 0%..100% (80, 100) |
process-usage | Percentage of max possible processes | 0%..100% (80, 100) |
rman-backup-problems | Number of RMAN-errors during the last three days | 0..n (1, 2) |
sga-data-buffer-hit-ratio | Hitrate in the Data Buffer Cache | 0%..100% (98:, 95:) |
sga-library-cache-gethit-ratio | Hitrate in the Library Cache (Gets) | 0%..100% (98:, 95:) |
sga-library-cache-pinhit-ratio | Hitrate in the Library Cache (Pins) | 0%..100% (98:, 95:) |
sga-library-cache-reloads | Reload-Rate in the Library Cache | n/sec (10,10) |
sga-dictionary-cache-hit-ratio | Hitrate in the Dictionary Cache | 0%..100% (95:, 90:) |
sga-latches-hit-ratio | Hitrate of the Latches | 0%..100% (98:, 95:) |
sga-shared-pool-reloads | Reload-Rate in the Shared Pool | 0%..100% (1, 10) |
sga-shared-pool-free | Free Memory in the Shared Pool | 0%..100% (10:, 5:) |
pga-in-memory-sort-ratio | Percentage of sorts in the memory. | 0%..100% (99:, 90:) |
invalid-objects | Sum of faulty Objects, Indices, Partitions | |
stale-statistics | Sum of objects with obsolete optimizer statistics | n (10, 100) |
tablespace-usage | Used diskspace in the tablespace | 0%..100% (90, 98) |
tablespace-free | Free diskspace in the tablespace | 0%..100% (5:, 2:) |
tablespace-fragmentation | Free Space Fragmentation Index | 100..1 (30:, 20:) |
tablespace-io-balanc | IO-Distribution under the datafiles of a tablespace | n (1.0, 2.0) |
tablespace-remaining-time | Sum of remaining days until a tablespace is used by 100%. The rate of increase will be calculated with the values from the last 30 days. (With the parameter –lookback different periods can be specified) | Days (90:, 30:) |
tablespace-can-allocate-next | Checks if there is enough free tablespace for the next Extent. | |
flash-recovery-area-usage | Used diskspace in the flash recovery area | 0%..100% (90, 98) |
flash-recovery-area-free | Free diskspace in the flash recovery area | 0%..100% (5:, 2:) |
datafile-io-traffic | Sum of IO-Operationes from Datafiles per second | n/sec (1000, 5000) |
datafiles-existing | Percentage of max possible datafiles | 0%..100% (80, 90) |
soft-parse-ratio | Percentage of soft-parse-ratio | 0%..100% |
switch-interval | Interval between RedoLog File Switches | 0..n Seconds (600:, 60:) |
retry-ratio | Retry-Rate in the RedoLog Buffer | 0%..100% (1, 10) |
redo-io-traffic | Redolog IO in MB/sec | n/sec (199,200) |
roll-header-contention | Rollback Segment Header Contention | 0%..100% (1, 2) |
roll-block-contention | Rollback Segment Block Contention | 0%..100% (1, 2) |
roll-hit-ratio | Rollback Segment gets/waits Ratio | 0%..100% (99:, 98:) |
roll-extends | Rollback Segment Extends | n, n/sec (1, 100) |
roll-wraps | Rollback Segment Wraps | n, n/sec (1, 100) |
seg-top10-logical-reads | Sum of the userprocesses under the top 10 logical reads | n (1, 9) |
seg-top10-physical-reads | Sum of the userprocesses under the top 10 physical reads | n (1, 9) |
seg-top10-buffer-busy-waits | Sum of the userprocesses under the top 10 buffer busy waits | n (1, 9) |
seg-top10-row-lock-waits | Sum of the userprocesses under the top 10 row lock waits | n (1, 9) |
event-waits | Waits/sec from system events | n/sec (10,100) |
event-waiting | How many percent of the elapsed time has an event spend with waiting | 0%..100% (0.1,0.5) |
enqueue-contention | Enqueue wait/request-Ratio | 0%..100% (1, 10) |
enqueue-waiting | How many percent of the elapsed time since the last run has an Enqueue spend with waiting | 0%..100% (0.00033,0.0033) |
latch-contention | Latch misses/gets-ratio. With –name a Latchname or Latchnumber can be passed over. (See list-latches) | 0%..100% (1,2) |
latch-waiting | How many percent of the elapsed time since the last run has a Latch spend with waiting | 0%..100% (0.1,1) |
sysstat | Changes/sec for any value from v$sysstat | n/sec (10,10) |
sql | Result of any SQL-Statement that returns a number. The statement itself is passed over with the parameter –name. A Label for the performance data output can be passed over with the parameter –name2. | n (1,5) |
sql-runtime | The time an sql command needs to run | Seconds (1, 5) |
list-tablespaces | Prints a list of tablespaces | |
list-datafiles | Prints a list of datafiles | |
list-latches | Prints a list with latchnames and latchnumbers | |
list-enqueues | Prints a list with the Enqueue-Names | |
list-events | Prints a list with the events from (v$system_event). Besides event_number/event_id a shortened form of the eventname is printed out. This could be use as Nagios service descriptions. Example: lo_fi_sw_co = log file switch completion | |
list-background-events | Prints a list with the Background-Events | |
list-sysstats | Prints a list with system-wide statistics | |
Measurements that are dependent on a time interval can be execute differently. To calculate the end result the following is needed: start value, end value and the passed time between this two values. Without further options the inital value will be the value from the last plugin run. The passed time is normally the time of normal_check_interval of the according service.
If the increase per second shouldn’t be decisive for the check result, but the difference between two measured values, than use the option –absolute. This is useful for Rollback Segment Wraps which happen very rare so that their rate is nearly 0/sec. Nevertheless you want to be alarmed if the number od this events grows.
The threshold values should be choosen in a way that they can be reached during a retry_check_interval. If not the service will change into the OK-State after each SOFT;1.
Please note, that the thresholds must be specified according to the Nagios plug-in development Guidelines.
- “10” means “Alarm, if > 10” and
- “90:” means “Alarm, if < 90”
Preparation of the database
In order to be able to collect the needed information from the database a database user with specific privileges is required:
create user nagios identified by oradbmon;
grant create session to nagios;
grant select any dictionary to nagios;
grant select on V_$SYSSTAT to nagios;
grant select on V_$INSTANCE to nagios;
grant select on V_$LOG to nagios;
grant select on SYS.DBA_DATA_FILES to nagios;
grant select on SYS.DBA_FREE_SPACE to nagios;
--
-- if somebody still uses Oracle 8.1.7...
grant select on sys.dba_tablespaces to nagios;
grant select on dba_temp_files to nagios;
grant select on sys.v_$Temp_extent_pool to nagios;
grant select on sys.v_$TEMP_SPACE_HEADER to nagios;
grant select on sys.v_$session to nagios;
Examples
nagios$ check_oracle_health --connect bba --mode tnsping
OK - connection established to bba.
nagios$ check_oracle_health --mode connection-time
OK - 0.17 seconds to connect |
connection_time=0.1740;1;5
nagios$ check_oracle_health --mode sga-data-buffer-hit-ratio
CRITICAL - SGA data buffer hit ratio 0.99% |
sga_data_buffer_hit_ratio=0.99%;98:;95:
nagios$ check_oracle_health --mode sga-library-cache-hit-ratio
OK - SGA library cache hit ratio 98.75% |
sga_library_cache_hit_ratio=98.75%;98:;95:
nagios$ check_oracle_health --mode sga-latches-hit-ratio
OK - SGA latches hit ratio 100.00% |
sga_latches_hit_ratio=100.00%;98:;95:
nagios$ check_oracle_health --mode sga-shared-pool-reloads
OK - SGA shared pool reloads 0.28% |
sga_shared_pool_reloads=0.28%;1;10
nagios$ check_oracle_health --mode sga-shared-pool-free
WARNING - SGA shared pool free 8.91% |
sga_shared_pool_free=8.91%;10:;5:
nagios$ check_oracle_health --mode pga-in-memory-sort-ratio
OK - PGA in-memory sort ratio 100.00% |
pga_in_memory_sort_ratio=100.00;99:;90:
nagios$ check_oracle_health --mode invalid-objects
OK - no invalid objects found |
invalid_ind_partitions=0 invalid_indexes=0
invalid_objects=0 unrecoverable_datafiles=0
nagios$ check_oracle_health --mode switch-interval
OK - Last redo log file switch interval was 18 minutes |
redo_log_file_switch_interval=1090s;600:;60:
nagios$ check_oracle_health --mode switch-interval --connect rac1
OK - Last redo log file switch interval was 32 minutes (thread 1)|
redo_log_file_switch_interval=1938s;600:;60:
nagios$ check_oracle_health --mode tablespace-usage
CRITICAL - tbs SYSTEM usage is 99.33%
tbs SYSAUX usage is 93.73%
tbs USERS usage is 8.75%
tbs UNDOTBS1 usage is 6.65% | 'tbs_users_usage_pct'=8%;90;98
'tbs_users_usage'=0MB;4;4;0;5
'tbs_undotbs1_usage_pct'=6%;90;98
'tbs_undotbs1_usage'=11MB;153;166;0;170
'tbs_system_usage_pct'=99%;90;98
'tbs_system_usage'=695MB;630;686;0;700
'tbs_sysaux_usage_pct'=93%;90;98
'tbs_sysaux_usage'=802MB;770;839;0;856
nagios$ check_oracle_health --mode tablespace-usage
--tablespace USERS
OK - tbs USERS usage is 8.75% |
'tbs_users_usage_pct'=8%;90;98
'tbs_users_usage'=0MB;4;4;0;5
nagios$ check_oracle_health --mode tablespace-usage
--name USERS
OK - tbs USERS usage is 8.75% |
'tbs_users_usage_pct'=8%;90;98
'tbs_users_usage'=0MB;4;4;0;5
nagios$ check_oracle_health --mode tablespace-free
--name TEST
OK - tbs TEST has 97.91% free space left |
'tbs_test_free_pct'=97.91%;5:;2:
'tbs_test_free'=32083MB;1638.40:;655.36:;0.00;32767.98
nagios$ check_oracle_health --mode tablespace-free
--name TEST --units MB --warning 100: --critical 50:
OK - tbs TEST has 32083.61MB free space left |
'tbs_test_free_pct'=97.91%;0.31:;0.15:
'tbs_test_free'=32083.61MB;100.00:;50.00:;0;32767.98
nagios$ check_oracle_health --mode tablespace-free
--name TEST --warning 10: --critical 5:
OK - tbs TEST has 97.91% free space left |
'tbs_test_free_pct'=97.91%;10:;5:
'tbs_test_free'=32083MB;3276.80:;1638.40:;0.00;32767.98
nagios$ check_oracle_health --mode tablespace-remaining-time
--tablespace ARUSERS --lookback 7
WARNING - tablespace ARUSERS will be full in 78 days |
'tbs_arusers_days_until_full'=78;90:;30:
nagios$ check_oracle_health --mode flash-recovery-area-free
OK - flra /u00/app/oracle/flash_recovery_area has 100.00% free space left |
'flra_free_pct'=100.00%;5:;2:
'flra_free'=2048MB;102.40:;40.96:;0;2048.00
nagios$ check_oracle_health --mode flash-recovery-area-free
--units KB --warning 1000: --critical 500:
OK - flra /u00/app/oracle/flash_recovery_area has 2097152.00KB free space left | 'flra_free_pct'=100.00%;0.05:;0.02:
'flra_free'=2097152.00KB;1000.00:;500.00:;0;2097152.00
nagios$ check_oracle_health --mode datafile-io-traffic
--datafile users01.dbf
WARNING - users01.dbf: 1049.83 IO Operations per Second |
'dbf_users01.dbf_io_total_per_sec'=1049.83;1000;5000
nagios$ check_oracle_health --mode latch-contention
--name 214
OK - SGA latch library cache (214) contention 0.08% |
'latch_214_contention'=0.08%;1;2
'latch_214_sleep_share'=0.00% 'latch_214_gets'=49995
nagios$ check_oracle_health --mode latch-contention
--name 'library cache'
OK - SGA latch library cache (214) contention 0.08% |
'latch_214_contention'=0.08%;1;2
'latch_214_sleep_share'=0.00% 'latch_214_gets'=49937
nagios$ check_oracle_health --mode enqueue-contention --name TC
CRITICAL - enqueue TC: 19.90% of the requests must wait |
'TC_contention'=19.90%;1;10
'TC_requests'=2015 'TC_waits'=401
nagios$ check_oracle_health --mode latch-contention
--name 'messages'
OK - SGA latch messages (17) contention 0.02% |
'latch_17_contention'=0.02%;1;2 'latch_17_gets'=4867
nagios$ check_oracle_health --mode latch-waiting
--name 'user lock'
OK - SGA latch user lock (205) sleeping 0.000841% of the time |
'latch_205_sleep_share'=0.000841%
nagios$ check_oracle_health --mode event-waits
--name 'log file sync'
OK - log file sync : 1.839511 waits/sec |
'log file sync_waits_per_sec'=1.839511;10;100
nagios$ check_oracle_health --mode event-waiting
--name 'Log file parallel write'
OK - log file parallel write waits 0.045843% of the time |
rarr 'log file parallel write_percent_waited'=0.045843%;0.1;0.5
nagios$ check_oracle_health --mode sysstat
--name 'transaction rollbacks'
OK - 0.000003 transaction rollbacks/sec |
'transaction rollbacks_per_sec'=0.000003;10;100
'transaction rollbacks'=4
nagios$ check_oracle_health --mode sql
--name 'select count(*) from v$session' --name2 sessions
CRITICAL - sessions: 21 | 'sessions'=21;1;5
nagios$ check_oracle_health --mode sql
--name 'select 12 from dual' --name2 twelve --units MB
CRITICAL - twelfe: 12MB | 'twelfe'=12MB;1;5
nagios$ check_oracle_health --mode sql
--name 'select 200,300,1000 from dual'
--name2 'kaspar melchior balthasar'
--warning 180 --critical 500
WARNING - kaspar melchior balthasar: 200 300 1000 |
'kaspar'=200;180;500 'melchior'=300;; 'balthasar'=1000;;
nagios$ check_oracle_health --mode sql
--name "select 'abc123' from dual" --name2 \\d
--regexp
OK - output abc123 matches pattern \d
Authentication
Example with –runas and an “external user”
There are to users in the database:
- OPS$DBNAGIO IDENTIFIED EXTERNALLY
- NAGIOS IDENTIFIED BY ‘DBMONI’
There are two unix users:
- qqnagio with normal access.
- dbnagio with /bin/false as login shell.
qqnagio$ check_oracle_health --mode=connection-time
--connect=nagios/dbmoni@BBA
OK - 0.21 seconds to connect as NAGIOS
dbnagio$ check_oracle_health --mode=connection-time
--connect=BBA --runas=dbnagio
--environment ORACLE_HOME=$ORACLE_HOME
OK - 0.17 seconds to connect as OPS$DBNAGIO
The background for this example is the following scenario with a SAP-Server:
-
Only local connections to the database are allowed. The database isn’t reachable over the network. Logging in with username and password is not possible.
-
Only database-users that are authenticated through the operating system (OPS$-User) are allowed to connect.
-
These users are not allowed to connect via SSH. (Therefore /bin/false).
Because the Nagios user qqnagio is allowed to connect via SSH, he can’t be used as database user. But the NRPE which executes the plugin will run under the qqnagio-account.
Use of environment variables
It is possible to omit –connect (and if not needed –user and –password) completely, if you provide the corresponding values in environment variables. Since Version 3.x it is possible to extend service definitions in Nagios through own attributes (custom object variables). These will appear during the exectution of the check command in the environment.
The environment variables are:
- NAGIOS__SERVICEORACLE_SID (_oracle_sid in the service definition)
- NAGIOS__SERVICEORACLE_USER (_oracle_user in the service definition)
- NAGIOS__SERVICEORACLE_PASS (_oracle_pass in the service definition)
Installation
The installation of the perl-modules DBI and DBD::Oracle is required.
After unpacking the archive ./configure is called. With ./configure –help some options can be printed which show some default values for compiling the plugin.
- –prefix=BASEDIRECTORY Specify a directory in which check_oracle_health should be stored. (default: /usr/local/nagios)
- –with-nagios-user=SOMEUSER This User will be the owner of the check_oracle_health file. (default: nagios)
- –with-nagios-group=SOMEGROUP The group of the check_oracle_health plugin. (default: nagios)
- –with-perl=PATHTOPERL Specify the path to the perl interpreter you wish to use. (default: perl in PATH)
Download
check_oracle_health-3.3.3.2.tar.gz
Changelog
- 3.3.3.2 - 2024-01-08
bugfix in uptime - 3.3.3.1 - 2024-01-08
server->instance in mode uptime - 3.3.3 - 2024-01-05
add mode uptime - 3.3.2.1 - 2023-02-07
bugfix in flash-recovery-area-*
negate based on regexp - 3.3.2 - 2023-02-06
check if flashback is enabled - 3.3.1 - 2023-01-12
runtime of tablespace-can-allocate-next was drastically reduced, thanks to
Peter from eckel-edv.de - 3.3.0.3 - 2022-11-30
make max blocking time configurable (–mode blocking-sessions –warning …) - 3.3.0.2 - 2022-11-29
bugfix in mode blocking-sessions - 3.3.0.1 - 2022-10-18
remove a leftover print statement - 3.3 - 2022-10-18
add parameter –morphmessage - 3.2.1.9 - 2022-06.22
bugfix in invalid-objects - 3.2.1.8 - 2021-09-27
bugfix in password-expiration andlocked accounts - 3.2.1.7 - 2021-09-20
catch undocumented values of account_status in mode password-expiration - 3.2.1.6 - 2021-07-05
remove crap from a pull request. (and refuse pull requests from now on) - 3.2.1.5 - 2021-03-16
fix a bug in asm diskgroups (division by zero when dismounted) - 3.2.1.4 - 2020-12-07
fix a bug in asm diskgroups (dismounted is no failure) - 3.2.1.3 - 2020-10-03
disable optimizer_adaptive_features in tablespace-usage for 12.2 and higher - 3.2.1.2 - 2020-03-05
remove the most idiotic “improvement” ever. - 3.2.1.1 - 2019-11-15
remove stupid eyecandy. (no, don’t ask. NO!) - 3.2.1 - 2019-10-10
add mode blocking-sessions (Thanks dbmasters.at for the sql) - 3.2.0.3 - 2019-10-07
bugfix in database-lag - 3.2.0.2 - 2019-10-07
bugfix in failed-jobs - 3.2.0.1 - 2019-10-07
improve tablespace-usage - 3.2 - 2019-06-24
add mode num-scheduled-jobs - 3.1.2.2 - 2018-06-25
fix handling of historic data for remaining-time - 3.1.2.1 - 2018-04-05
fix the “missing” file - 3.1.2 - 2017-12-12
optimize tablespace-free - 3.1.0.3 - 2017-07-26
sync with lidl - 3.1.0.1 - 2017-07-20
output date of failed jobs - 3.1 - 2017-07-19
add modes datafiles-recovery and datafiles-offline
add mode failed-jobs - 3.0.2.1 - 2017-03-22
exit, not kill, on timeout - 3.0.2 - 2017-01-06
optimize corrupted-blocks sql - 3.0.1 - 2016-10-11
fix container-tablespace-free (Thanks Frank) - 3.0 - 2016-10-10
add mode container-tablespace-free - 2.1.3.5 - 2016-05-11
sysdba fix (Thanks c0xc). This patch was to satisfy a customer’s need. Think about a support contract. If you have one, we do everything you want. - 2.1.3.4 - 2016-03-30
bugfix in invalid-objects/registry (Thanks Horst Mund)
bugfix in dataguard last-appled-time (with sqlplus-method) - 2.1.3.3 - 2016-03-08
remove leftover errstr from dbi-login
protect sga-shared-pool-free - 2.1.3.2 - 2016-03-06
fix dbi-login as “sys” - 2.1.3.1 - 2015-12-17
another performance tweak for tablespace-free (Thanks to the “Vorprung durch Technik”-company) - 2.1.3 - 2015-10-19
perfdata for flash-usage respect advanced thresholds (Thanks Simon Meggle) - 2.1.2 - 2015-09-22
another boost for tablespace-free with –notemp (Thanks Dirk) - 2.1.1 - 2015-07-29
bugfix in password-expiration
bugfix in rfc-password-encoding and method sqlplus - 2.1 - 2015-07-25
optimized sql for tablespace-free with –notemp (Thanks Frank) - 2.0 - 2015-04-23
add rfc3986-encoded passwords - 1.9.4.9 - 2015-04-23
bugfix in asm-diskgroup-usage perfdata, add perfdata for disk group max size (Thanks Bernhard Keppel) - 1.9.4.8 - 2015-03-19
Convert ‘:/' to ‘_’ in –uniquelabels (Thanks Simon Meggle) - 1.9.4.7 - 2015-03-09
add –uniquelabels for datafiles with identical names (used in io-traffic) - 1.9.4.6 - 2015-02-20
bugfix in –ident - 1.9.4.5 - 2014-12-01
bugfix in method sqlplus for special characters in passwords - 1.9.4.4 - 2014-11-17
switch off -epn again (observed problems in even rarer cases) - 1.9.4.3 - 2014-11-13
make the plugin more epn-safe - 1.9.4.2 - 2014-11-11
bugfix in initial handshake, remove an undef split - 1.9.4.1 - 2014-10-27
switch off -epn again (observed problems in rare cases) - 1.9.4 - 2014-05-18
enable wallets for the dbi method (Thanks Tommi)
bugfix in initial handshake and 9.x
bugfix in invalid/dba_ind_subpartitions and 9.x
–noperfdata suppresses perfdata - 1.9.3.7 - 2014-04-06
switch on +epn - 1.9.3.6 - 2014-04-04
bugfix in method sqlplus. handle expired passwords - 1.9.3.5 - 2014-04-01
remove leftover sqlnet.log files
implement –negate old_level=new_level
output also ok-messages for my-modes - 1.9.3.4 - 2014-03-18
allow floating point numbers in thresholds - 1.9.3.3 - 2014-03-17
bugfix in diskgroups
bugfix in ora-error-handling - 1.9.3.2 - 2014-01-27
bugfix in a tmp-file-cleanup-routine (only –method sqlplus and many concurrent checks) - 1.9.3.1 - 2014-01-14
show ORA-errors in stderr (results in warning) coming from sqlplus - 1.9.3 - 2014-01-13
added subpartitions to invalid-objects - 1.9.2.1 - 2014-01-09
bugfix in sga-library-cache-pinhit-ratio (Thanks Michel van der Voort) - 1.9.2 - 2013-12-18
show detailed output for mode corrupted-blocks and report html
protect sga-data-buffer-hit-ratio against non-plausible values
add modes list-asm-diskgroups and asm-diskgroup-usage/free (Thanks Oliver Skibbe!) - 1.9.1.1 - 2013-12-17
bugfix in connection destructor - 1.9.1 - 2013-12-13
bugfix in tablespace-free (datafile in status recovery leads to undef error) - 1.9 - 2013-12-09
rewrite of the timeout handling
bugfix for the windows version - 1.8.4.3 - 2013-10-16
bugfix in sqlplus fetchrow_array, handles empty result set - 1.8.4.2 - 2013-10-16
bugfix in invalid objects for oracle < 10.x - 1.8.4.1 - 2013-10-09
show a subset of perfata with –name2 and invalid-objects - 1.8.4 - 2013-10-04
invalid-objects can be selected with –name/name2 - 1.8.3 - 2013-09-30
show detailed output for mode invalid-objects and report html - 1.8.2.1 - 2013-
bugfix in –name :… - 1.8.2 - 2013-08-20
enable easy connect syntax with –method sqlplus - 1.8.1.2 - 2013-07-26
–mode sql –name2 “:<label>” suppresses the output of the numerical result - 1.8.1.1 - 2013-07-04
invalid-objects takes refresh delay (default: 2 days) into account. Thanks @chtyo) - 1.8.1 - 2013-07-02
mode sqlplus can execute stored procedures - 1.8.0.1 - 2013-06-10
bugfix in sysdba-connect - 1.8 - 2013-06-04
Don Seiler implemented modes dataguard-lag and dataguard-mrp-status
A big thank to Don! Monitoring of Oracle Data Guard is now possible - 1.7.8.2 - 2013-04-26
fix a bug in the online help - 1.7.8.1 - 2013-04-09
cleanup leftover temp-files (written by method sqlplus) - 1.7.8 - 2013-03-27
added mode decode - 1.7.7.3 - 2013-02-21
bugfix in add_nagios, raising a deprecated-message in perl. (Thanks Philip Griesbacher) - 1.7.7.2 - 2013-01-22
optimized tablespace-can-allocate-next (Thanks Thomas Koerblein) - 1.7.7.1 - 2013-01-14
bugfix in sqlplus connect with a sys user - 1.7.7 - 2012-11-29
add parameter –mitigation and –notemp and –noreadonly - 1.7.6.1 - 2012-11-19
fix a bug with –extra-opts and –environ - 1.7.6 - 2012-11-10
implemented all sorts of thresholds (Thanks Simon Meggle) - 1.7.5.1
fix a bug in sga-library-cache-reloads (thresholds compared against pinhits) (Thanks claney)
fix a bug in calcmeth which only is visible with –environ (Thanks Pullistricker) - 1.7.5
restrict rman problems to backup-operations (not list, report..) (Thanks marekel) - 1.7.4 - 2012-03-15
bugfix in timeout-alarm handling under windows (Thanks Marian Jamrich)
bugfix in invalid-objects. No longer counts subpartitions (Thanks Teijo Lallukka)
bugfix in session-usage (Thanks Bauchi)
add mode sql-runtime - 1.7.3 - 2011 09-29
mode sql now correctly handles dml sql errors like missing tables etc.
single ticks around the –name argument under Windows CMD will be removed automatically - 1.7.2 - 2011-09-21
add mode sga-library-cache-pinhit-ratio
sga-library-cache-hit-ratio becomes sga-library-cache-gethit-ratio
add mode sga-library-cache-reloads - 1.7.1 - 2001-08-17
add option –commit (Thanks Ovidiu) - 1.7.0 - 2011-08-16
add error handling for unwritable status files
fix a bug with statefilesdir and capital letters
enhance stale statistics
enhance invalid objects (Thanks Yannick Charton)
fix a bug in open cmdcmd (only affects method sqlplus) - 1.6.9 - 2011-06-16
sites in an OMD (http://omdistro.org) environment have now private statefile directories
add mode session-usage, process-usage, rman-backup-problems, corrupted-blocks (Thanks Ovidiu Marcu)
-add mode datafiles-created (Thanks Ovidiu Marcu) - 1.6.8.1 - 2011-01-08
Workaround for the windows version which cleans up leftover spool files which cannot be deleted. - 1.6.8 - 2010-01.03
massive speedup in modes seg-top10-* (Thanks Michael Nieberg http://kenntwas.de)
bugfix in –mode sql (numeric vs. regexp result) (Thanks Michel Meelker) - 1.6.7 - 2010-12-18
mode sql can now have a non-numerical output which is compared to a string/regexp
new mode report can be used to output only the bad news (short,long,html) - 1.6.6.2 2010-11-11
better error message with method sqlplus when db is down - 1.6.6.1 2010-10-01
–dbthresholds can have an argument
workaround for an oracle-bug in shared-pool-free (Thanks Yannik) - 1.6.6 2010-08-12
new parameter –dbthresholds. thresholds can now also be deposited in the table check_oracle_health_thresholds
bugfix in connection-time. dbuser was uninitialized in rare cases - 1.6.5 2010-08-09
plugin can now run on windows
–with-mymodules-dyn-dir on the commandline overrides the configure-option of the same name
added mode flash-recovery-area-[usage|free] - 1.6.4
added checking of dba_registry to mode invalid-objects. Thanks Ovidiu Marcu
speedup of tablespace-remaining-time. Thanks Steffen Poulsen
switch-interval detects redo log timestamps in the future and reports critical- method sqlplus now works with “(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP”-like connectstrings
new parameter –ident to show instance and database names in the output
bugfix in tablespace-usage (temp tbs with multiple datafiles). Thanks Philipp Lemke - 1.6.3 2009-09-09
optimized tablespace-can-allocate-next
added more tracing.
fixed a bug which caused invalid statefile names. Thanks Franky van Liedekerke
fixed a bug in tablespace-usage for Oracle 8.1.x
switch-interval now tries to predict the next interval to avoid false alerts. Thanks Naquada.
passwords do no longer show up in error messages. Thanks Jens Seiffert.
fixed a bug in mode sql (numbers of the form .5 were rejected). Thanks Shane Jordan.
fixed a bug in sga-latches-hitratio (thresholds were ignored). Thanks Yannik Charton.
login parameter –user is now –username (–user still works) - 1.6.2 2009-04-04
fixed a bug in tablespace-usage and german localization
fixed a bug with –method sqlplus and tablespacenames. Thanks “contact_name”
fixed a bug in tablespace-usage/free with non-autoextensible TEMP-tablespaces. Thanks Daniel Graef. - 1.6.1 2009-03-27
NAGIOS__HOSTMYSQL_HOST is now possible
added detection for offline/damaged tablespaces to –mode=tablespace-usage|free. Thanks Daniel Graef. - 1.6 2009-03-12
support for DBD::SQLRelay (use it. it spares your database
the extra load caused by permanent logins)
added support for mode=sql and an array of results. Thanks Juergen Lesny from Matrix.
added support for login as “sys”. Thanks Joerg Horchler.
fixed a bug where warning/critical=0 was ignored. Thanks Danijel Tasov. - 1.5.1 2008-12-10
the plugin can be used with the embedded perl interpreter.
fixed some typos. Thanks Oliver Riesen. - 1.5.0.1 2008-10-16
fixed a bug with , instead of . in decimal numbers. Thanks Birk Bohne.
mode=sql numerical results are round up to two decimal places.
fixed a bug in sga-shared-pool-free. You’ll see more free space now. Thanks Birk Bohne. - 1.5.0 2008-10-15
added authentication with password store
added authentication as sysdba
new parameter –units for mode=sql
new parameter tablespace-free which allows thresholds in combination with –units
mode=switch-interval now separates redologs of rac nodes. Thanks Harald Zahn.
it is now possible to integrate self-written code - 1.4.2.1 2008-09-19
bugfix in tablespace-usage. resized datafiles caused usage 100% - 1.4.2 2008-09-16
new mode –regexp which extends –name
bugfix in datafile-io-balance and case sensitive tbs (Thanks Wiltmut Gerdes) - 1.4.1 2008-09-07
new mode tablespace-can-allocate-next
bugfix to handle locked accounts
rewrote seg-top10… sql to avoid overloading
bugfix in timeout
bugfix in mode sql and zero return value. (Thanks Viktor Kaefer)
new mode encode
undo tablespace usage takes into account expired extents - 1.4.0.1 2008-07-07
bugfix when –name=0
bugfix in –method=sqlplus
bugfix in thresholds of invalid-objects (Thanks Konrad Barck) - 1.4 2008-07-03
statesdir is now /var/tmp/check_oracle_health by default (autom. migration if it was /tmp)
bugfix in latch-contention
bugfix in sysstats (thresholds were ignored)
bugfix in roll-extends and roll-wraps
performance enhancements
tablespace-usage can be output as a bargraph (Thanks Allan Peda) - 1.3.1.2 2008-07-02
fixed a bug in disconnect. there were leftover sessions. - 1.3.1.1 2008-07-01
fixed a bug in method=sqlplus and os$user
objects in the recyclebin are no longer treated as invalid
better performance data for pga-in-memory-sort-ratio
fixed a bug in tablespace-usage and temp tbs (Thanks Franky van Liedekerke) - 1.3.1 2008-06-26
typos removed, code cleanup
fixed a bug in connected-users thresholds (Thanks Frank Brehm) - 1.3 2008-06-23
–method=sqlplus using sqlplus instead of DBD::Oracle is possible but NOT supported
!! NOT !! supported. If you use it and it don’t work, then don’t whine about it
tablespace-usage now takes autoextent into account (Thanks Wiltmut Gerdes)
data-buffer/library/dictionary-cache-hitratio is now more accurate
–method=sqlplus does not work for you? I’m not listening, lalalalala - 1.2.7.1 2008-06-20
fixed a bug in windows datafile handling - 1.2.7 2008-06-20
removed unrecoverable datafiles from invalid-objects
added mode sql
bugfixes in top10-x and pga-in-memory-sort-ratio - 1.2.6.1 2008-06-16
added sysstat-rate and list-sysstats - 1.2.6 2008-06-14
added event-waiting
added event-waits
added list-events - 1.2.5.1 2008-06-11
added an abstraction layer so that perl-dbi may be replaced - 1.2.5 2008-06-03
added latch-contention
added enqueue-contention
added enqueue-waiting
added connected-users
added roll-avgactivesize (forget it)
added –list-latches –list-enqueues - 1.2.4.2 2008-05-27
windows pathnames of datafiles are now handled correctly - 1.2.4.1 2008-05-27
added –list-tablespaces –list-datafiles - 1.2.4 2008-05-27
added datafile-io-traffic
added redo-io-traffic
better handling of temp tablespaces - 1.2.3.1 2008-05-25
stale-statistics now works for < 10.x - 1.2.3 2008-05-25
added roll-block-contention
added roll-hit-ratio
fixed a bug in switch-interval - 1.2.2.1 - 2008-05-23
disabled modes which require minimum 10.x - 1.2.2 - 2008-05-21
fixed a bug in –environment - 1.2.1 - 2008-05-19
support for externally authenticated users
new parameters –runas and –environment
sga-buffer-cache-hit-ratio now shows percent (Thanks Maik Ihde)
fixed a bug in tablespace-remaining-time - 1.2 - 2008-05-06
stale-statistics
connection timeout handling - 1.1 - 2008-05-02
tablespace-remaining-time predicts when a tablespace will be full
tablespace-io-balance uses standard deviation - 1.0 - 2008-04-16
Initial release
Copyright
2008-3000 Gerhard Laußer
Check_oracle_health is published under the GNU General Public License. GPL
Author
Gerhard Laußer (mailto:gerhard.lausser@consol.de) gladly answers questions to this plugin.
Translation
Thanks to Christian Lauf there is finally an english translation of this page :-)