diff options
Diffstat (limited to 'web/attachments/56241-check_oracle.jjm')
-rw-r--r-- | web/attachments/56241-check_oracle.jjm | 590 |
1 files changed, 590 insertions, 0 deletions
diff --git a/web/attachments/56241-check_oracle.jjm b/web/attachments/56241-check_oracle.jjm new file mode 100644 index 0000000..3142511 --- /dev/null +++ b/web/attachments/56241-check_oracle.jjm | |||
@@ -0,0 +1,590 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # latigid010@yahoo.com | ||
4 | # 01/06/2000 | ||
5 | # | ||
6 | # This Nagios plugin was created to check Oracle status | ||
7 | # | ||
8 | |||
9 | PROGNAME=`basename $0` | ||
10 | PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'` | ||
11 | REVISION=`echo '$Revision: 1.6 $' | sed -e 's/[^0-9.]//g'` | ||
12 | |||
13 | . $PROGPATH/utils.sh | ||
14 | |||
15 | |||
16 | function init_var() { | ||
17 | RETURN_MSG="" | ||
18 | CHECK_CACHE=no | ||
19 | CHECK_DB=no | ||
20 | CHECK_EXTENTS=no | ||
21 | CHECK_LOGIN=no | ||
22 | CHECK_NAMES=no | ||
23 | CHECK_TS=no | ||
24 | CHECK_TNS=no | ||
25 | CRIT_LVL=-1 | ||
26 | WARN_LVL=-1 | ||
27 | ORACLE_SID=${ORACLE_SID} | ||
28 | ORA_USER="" | ||
29 | ORA_PASS="" | ||
30 | ORA_TS="" | ||
31 | ORA_HOST="" | ||
32 | ORA_NAMES="" | ||
33 | |||
34 | |||
35 | # Hunt down a reasonable ORACLE_HOME | ||
36 | if [ -z "$ORACLE_HOME" ] ; then | ||
37 | # Adjust to taste | ||
38 | for oratab in /var/opt/oracle/oratab /etc/oratab | ||
39 | do | ||
40 | [ ! -f $oratab ] && continue | ||
41 | ORACLE_HOME=`IFS=: | ||
42 | while read SID ORACLE_HOME junk; | ||
43 | do | ||
44 | if [ "$SID" = "$2" -o "$SID" = "*" ] ; then | ||
45 | echo $ORACLE_HOME; | ||
46 | exit; | ||
47 | fi; | ||
48 | done < $oratab` | ||
49 | [ -n "$ORACLE_HOME" ] && break | ||
50 | done | ||
51 | fi | ||
52 | # Last resort | ||
53 | [ -z "$ORACLE_HOME" -a -d $PROGPATH/oracle ] && ORACLE_HOME=$PROGPATH/oracle | ||
54 | |||
55 | if [ -z "$ORACLE_HOME" -o ! -d "$ORACLE_HOME" ] ; then | ||
56 | echo "Cannot determine ORACLE_HOME for sid ${ORACLE_SID}" | ||
57 | exit ${STATE_UNKNOWN} | ||
58 | fi | ||
59 | PATH=$PATH:$ORACLE_HOME/bin | ||
60 | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib | ||
61 | export ORACLE_HOME PATH LD_LIBRARY_PATH | ||
62 | } | ||
63 | |||
64 | |||
65 | print_usage() { | ||
66 | echo "This check_oracle provides a new argument handling scheme." | ||
67 | echo " To use the old scheme - add a "--" before any arguments" | ||
68 | echo "Old Usage:" | ||
69 | echo " $PROGNAME --tns <Oracle Sid or Hostname/IP address>" | ||
70 | echo " $PROGNAME --db <ORACLE_SID>" | ||
71 | echo " $PROGNAME --login <ORACLE_SID>" | ||
72 | echo " $PROGNAME --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>" | ||
73 | echo " $PROGNAME --extents <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>" | ||
74 | echo " $PROGNAME --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>" | ||
75 | echo " $PROGNAME --oranames <Hostname>" | ||
76 | echo " $PROGNAME --help" | ||
77 | echo " $PROGNAME --version" | ||
78 | echo "The new argument handling takes shorter args + allows chaining of checks" | ||
79 | echo "New Usage:" | ||
80 | echo " $PROGNAME [args...]" | ||
81 | echo " -c Cache Check -C <ARG> Critical level" | ||
82 | echo " -d DB Check -W <ARG> Warning level" | ||
83 | echo " -e Extent Check" | ||
84 | echo " -l Listener Check -u <ARG> User" | ||
85 | echo " -n Oranames check -p <ARG> Password" | ||
86 | echo " -t tns names check -s <ARG> oracle SID" | ||
87 | echo " -T Tablespace check -H <ARG> Host check" | ||
88 | echo " -h Help" | ||
89 | } | ||
90 | |||
91 | print_help() { | ||
92 | print_revision $PROGNAME $REVISION | ||
93 | echo "" | ||
94 | print_usage | ||
95 | echo "" | ||
96 | echo "Check Oracle status" | ||
97 | echo "" | ||
98 | echo "--tns SID/IP Address" | ||
99 | echo " Check remote TNS server" | ||
100 | echo "--db SID" | ||
101 | echo " Check local database (search /bin/ps for PMON process) and check" | ||
102 | echo " filesystem for sgadefORACLE_SID.dbf" | ||
103 | echo "--login SID" | ||
104 | echo " Attempt a dummy login and alert if not ORA-01017: invalid username/password" | ||
105 | echo "--cache" | ||
106 | echo " Check local database for library and buffer cache hit ratios" | ||
107 | echo " ---> Requires Oracle user/password and SID specified." | ||
108 | echo " ---> Requires select on v_$sysstat and v_$librarycache" | ||
109 | echo "--extents" | ||
110 | echo " Check to see if there are extents unable to be extended." | ||
111 | echo "--tablespace" | ||
112 | echo " Check local database for tablespace capacity in ORACLE_SID" | ||
113 | echo " ---> Requires Oracle user/password specified." | ||
114 | echo " ---> Requires select on dba_data_files and dba_free_space" | ||
115 | echo "--oranames Hostname" | ||
116 | echo " Check remote Oracle Names server" | ||
117 | echo "--help" | ||
118 | echo " Print this help screen" | ||
119 | echo "--version" | ||
120 | echo " Print version and license information" | ||
121 | echo "" | ||
122 | echo "If the plugin doesn't work, check that the ORACLE_HOME environment" | ||
123 | echo "variable is set, that ORACLE_HOME/bin is in your PATH, and the" | ||
124 | echo "tnsnames.ora file is locatable and is properly configured." | ||
125 | echo "" | ||
126 | echo "When checking local database status your ORACLE_SID is case sensitive." | ||
127 | echo "" | ||
128 | echo "If you want to use a default Oracle home, add in your oratab file:" | ||
129 | echo "*:/opt/app/oracle/product/7.3.4:N" | ||
130 | echo "" | ||
131 | support | ||
132 | } | ||
133 | |||
134 | |||
135 | check_cache() { | ||
136 | if [ ${CRIT_LVL} -gt ${WARN_LVL} ] ; then | ||
137 | RETURN_MSG="UNKNOWN - Warning level is less then Crit" | ||
138 | return ${STATE_UNKNOWN} | ||
139 | fi | ||
140 | result=`sqlplus -s ${ORA_USER}/${ORA_PASS}@${ORACLE_SID} << EOF | ||
141 | set pagesize 0 | ||
142 | select (1-(pr.value/(dbg.value+cg.value)))*100 | ||
143 | from v\\$sysstat pr, v\\$sysstat dbg, v\\$sysstat cg | ||
144 | where pr.name='physical reads' | ||
145 | and dbg.name='db block gets' | ||
146 | and cg.name='consistent gets'; | ||
147 | EOF` | ||
148 | |||
149 | if [ -n "`echo $result | grep ORA-`" ] ; then | ||
150 | error=` echo "$result" | grep "ORA-" | head -1` | ||
151 | echo "CRITICAL - $error" | ||
152 | exit $STATE_CRITICAL | ||
153 | fi | ||
154 | |||
155 | |||
156 | buf_hr=`echo $result | awk '{print int($1)}'` | ||
157 | result=`sqlplus -s ${ORA_USER}/${ORA_PASS}@${ORACLE_SID} << EOF | ||
158 | set pagesize 0 | ||
159 | select sum(lc.pins)/(sum(lc.pins)+sum(lc.reloads))*100 | ||
160 | from v\\$librarycache lc; | ||
161 | EOF` | ||
162 | |||
163 | if [ -n "`echo $result | grep ORA-`" ] ; then | ||
164 | error=` echo "$result" | grep "ORA-" | head -1` | ||
165 | echo "CRITICAL - $error" | ||
166 | exit $STATE_CRITICAL | ||
167 | fi | ||
168 | |||
169 | lib_hr=`echo $result | awk '{print int($1)}'` | ||
170 | |||
171 | if [ $buf_hr -le ${CRIT_LVL} -o $lib_hr -le ${CRIT_LVL} ] ; then | ||
172 | export RETURN_MSG="${ORACLE_SID} CRITICAL - Cache Hit Rates: $lib_hr% Lib -- $buf_hr% Buff" | ||
173 | exit $STATE_CRITICAL | ||
174 | fi | ||
175 | if [ $buf_hr -le ${WARN_LVL} -o $lib_hr -le ${WARN_LVL} ] ; then | ||
176 | export RETURN_MSG="${ORACLE_SID} WARNING - Cache Hit Rates: $lib_hr% Lib -- $buf_hr% Buff" | ||
177 | exit $STATE_WARNING | ||
178 | fi | ||
179 | export RETURN_MSG="${ORACLE_SID} OK - Cache Hit Rates: $lib_hr% Lib -- $buf_hr% Buff" | ||
180 | |||
181 | return ${STATE_OK} | ||
182 | |||
183 | |||
184 | } | ||
185 | |||
186 | check_extents() { | ||
187 | if [ ${CRIT_LVL} -lt ${WARN_LVL} ] ; then | ||
188 | RETURN_MSG="UNKNOWN - Warning level is higher then Crit" | ||
189 | return ${STATE_UNKNOWN} | ||
190 | fi | ||
191 | result=`sqlplus -s ${ORA_USER}/${ORA_PASS}@${ORACLE_SID} << EOF | ||
192 | set pagesize 200 | ||
193 | column Sname form a40 heading 'Object Name' | ||
194 | column Size form 99,999 heading 'Size' | ||
195 | column Next form 99,999 heading 'Next' | ||
196 | column Tname form a15 heading 'TsName' | ||
197 | |||
198 | select a.owner||'.'||a.segment_name "Sname", | ||
199 | a.bytes/1024/1024 "Size", | ||
200 | a.next_extent/1024/1024 "Next", | ||
201 | a.tablespace_name "TName" | ||
202 | from sys.dba_segments a | ||
203 | where a.tablespace_name not like 'T%MP' -- Exclude TEMP tablespaces | ||
204 | and a.tablespace_name like '%${ORA_TS}%' | ||
205 | and next_extent * 1 > ( -- Cannot extend 1x, can change to 2x... | ||
206 | select max(b.bytes) | ||
207 | from dba_free_space b | ||
208 | where a.tablespace_name = b.tablespace_name) | ||
209 | order by 3 desc; | ||
210 | EOF` | ||
211 | |||
212 | if [ -n "`echo $result | grep ORA-`" ] ; then | ||
213 | error=` echo "$result" | grep "ORA-" | head -1` | ||
214 | echo "CRITICAL - $error" | ||
215 | exit $STATE_CRITICAL | ||
216 | fi | ||
217 | |||
218 | if [ `echo $result | grep -c "no rows selected"` -eq 1 ] | ||
219 | then | ||
220 | export RETURN_MSG="${ORACLE_SID} : ${ORA_TS} OK - Extents. Extensible" | ||
221 | return ${STATE_OK} | ||
222 | else | ||
223 | nn=`expr \`echo "$result" | wc -l\` - 3` | ||
224 | export RETURN_MSG="CRIT: Result: $nn objects can't extend" | ||
225 | return $STATE_CRITICAL | ||
226 | fi | ||
227 | } | ||
228 | |||
229 | check_tablespace() { | ||
230 | if [ ${CRIT_LVL} -lt ${WARN_LVL} ] ; then | ||
231 | RETURN_MSG="UNKNOWN - Warning level is more then Crit" | ||
232 | return ${STATE_UNKNOWN} | ||
233 | fi | ||
234 | result=`sqlplus -s ${ORA_USER}/${ORA_PASS}@${ORACLE_SID} << EOF | ||
235 | set pagesize 0 | ||
236 | select b.free,a.total,100 - trunc(b.free/a.total * 1000) / 10 prc | ||
237 | from ( | ||
238 | select tablespace_name,sum(bytes)/1024/1024 total | ||
239 | from dba_data_files group by tablespace_name) A, | ||
240 | ( select tablespace_name,sum(bytes)/1024/1024 free | ||
241 | from dba_free_space group by tablespace_name) B | ||
242 | where a.tablespace_name=b.tablespace_name and a.tablespace_name='${ORA_TS}'; | ||
243 | EOF` | ||
244 | |||
245 | if [ -n "`echo $result | grep ORA-`" ] ; then | ||
246 | error=` echo "$result" | grep "ORA-" | head -1` | ||
247 | echo "CRITICAL - $error" | ||
248 | exit $STATE_CRITICAL | ||
249 | fi | ||
250 | |||
251 | |||
252 | ts_free=`echo $result | awk '{print int($1)}'` | ||
253 | ts_total=`echo $result | awk '{print int($2)}'` | ||
254 | ts_pct=`echo $result | awk '{print int($3)}'` | ||
255 | |||
256 | ce_ret=${STATE_OK} | ||
257 | ce_ret_msg="" | ||
258 | if [ ${CHECK_EXTENTS} == "yes" ] | ||
259 | then | ||
260 | check_extents | ||
261 | ce_ret=${?} | ||
262 | ce_ret_msg=${RETURN_MSG} | ||
263 | fi | ||
264 | if [ ${ts_pct} -ge ${CRIT_LVL} ] || [ ${ce_ret} -eq ${STATE_CRITICAL} ] | ||
265 | then | ||
266 | RETURN_MSG="${ORACLE_SID} : ${ORA_TS} CRITICAL - $ts_pct% used [ $ts_free / $ts_total MB available ] || ${ce_ret_msg}" | ||
267 | return ${STATE_CRITICAL} | ||
268 | fi | ||
269 | if [ ${ts_pct} -ge ${WARN_LVL} ] || [ ${ce_ret} -eq ${STATE_WARNING} ] | ||
270 | then | ||
271 | RETURN_MSG="${ORACLE_SID} : ${ORA_TS} WARNING - $ts_pct% used [ $ts_free / $ts_total MB available ] || ${ce_ret_msg}" | ||
272 | return ${STATE_WARNING} | ||
273 | fi | ||
274 | if [ $ts_free -eq 0 -a $ts_total -eq 0 -a $ts_pct -eq 0 ] || \ | ||
275 | [ ${ce_ret} -eq ${STATE_UNKNOWN} ] | ||
276 | then | ||
277 | RETURN_MSG="No data returned by Oracle - tablespace ${ORA_TS} not found? || ${ce_ret_msg}" | ||
278 | return ${STATE_UNKNOWN} | ||
279 | fi | ||
280 | RETURN_MSG="${ORACLE_SID} : ${ORA_TS} OK - $ts_pct% used [ $ts_free / $ts_total MB available ] || ${ce_ret_msg}" | ||
281 | return ${STATE_OK} | ||
282 | } | ||
283 | |||
284 | check_tns() { | ||
285 | tnstarg="" | ||
286 | if [ -n "${ORA_HOST}" -a "${ORA_HOST}" != "" ] | ||
287 | then | ||
288 | tnstarg=${ORA_HOST} | ||
289 | elif [ -n "${ORACLE_SID}" ] #-a "${ORACLE_SID}" != "" ] | ||
290 | then | ||
291 | tnstarg=${ORACLE_SID} | ||
292 | RETURN_MSG="set tnstarg = $tnstarg (ORACLE_SID = ${ORACLE_SID})" | ||
293 | else | ||
294 | RETURN_MSG="Could not determine destination" | ||
295 | return $STATE_WARNING | ||
296 | fi | ||
297 | |||
298 | tnschk=` tnsping ${tnstarg}` | ||
299 | tnschk2=` echo $tnschk | grep -c OK` | ||
300 | if [ ${tnschk2} -eq 1 ] ; then | ||
301 | tnschk3=` echo $tnschk | sed -e 's/.*(//' -e 's/).*//'` | ||
302 | export RETURN_MSG="OK - reply time ${tnschk3} from ${tnstarg}" | ||
303 | return ${STATE_OK} | ||
304 | else | ||
305 | export RETURN_MSG="No TNS Listener on ${tnstarg}" | ||
306 | return $STATE_CRITICAL | ||
307 | fi | ||
308 | } | ||
309 | |||
310 | |||
311 | check_oranames() { | ||
312 | namesctl status ${ORA_NAMES} | awk ' | ||
313 | /Server has been running for:/ { | ||
314 | msg = "OK: Up" | ||
315 | for (i = 6; i <= NF; i++) { | ||
316 | msg = msg " " $i | ||
317 | } | ||
318 | status = '${STATE_OK}' | ||
319 | } | ||
320 | /error/ { | ||
321 | msg = "CRITICAL: " $0 | ||
322 | status = '$STATE_CRITICAL' | ||
323 | } | ||
324 | END { | ||
325 | print msg | ||
326 | RETURN status | ||
327 | }' | ||
328 | } | ||
329 | |||
330 | check_db() { | ||
331 | pmonchk=`ps -ef | grep -v grep | grep ${ORACLE_SID} | grep -c pmon` | ||
332 | if [ ${pmonchk} -ge 1 ] ; then | ||
333 | export RETURN_MSG="${ORACLE_SID} OK - ${pmonchk} PMON process(es) running" | ||
334 | return ${STATE_OK} | ||
335 | else | ||
336 | export RETURN_MSG="${2} Database is DOWN" | ||
337 | return $STATE_CRITICAL | ||
338 | fi | ||
339 | } | ||
340 | |||
341 | check_login() { | ||
342 | loginchk=`sqlplus dummy/user@${ORACLE_SID} < /dev/null` | ||
343 | loginchk2=` echo ${loginchk} | grep -c ORA-01017` | ||
344 | if [ ${loginchk2} -eq 1 ] ; then | ||
345 | export RETURN_MSG="OK - dummy login connected" | ||
346 | return ${STATE_OK} | ||
347 | else | ||
348 | loginchk3=` echo "${loginchk}" | grep "ORA-" | head -1` | ||
349 | export RETURN_MSG="CRITICAL - ${loginchk3}" | ||
350 | return $STATE_CRITICAL | ||
351 | fi | ||
352 | } | ||
353 | #begin our "main" | ||
354 | # | ||
355 | |||
356 | init_var | ||
357 | |||
358 | |||
359 | while getopts ":cC:dehH:ln:p:s:tT:u:W:" arg ; do | ||
360 | case ${arg} in | ||
361 | |||
362 | c ) #echo "Cache Received" | ||
363 | CHECK_CACHE=yes | ||
364 | ;; | ||
365 | C ) #echo "Critical lvl = ${OPTARG}" | ||
366 | CRIT_LVL=${OPTARG} | ||
367 | ;; | ||
368 | d ) #echo "DB Received" | ||
369 | CHECK_DB=yes | ||
370 | ;; | ||
371 | e ) #echo "Extents Received" | ||
372 | CHECK_EXTENTS=yes | ||
373 | ;; | ||
374 | H ) #echo "Host Received = ${OPTARG}" | ||
375 | ORA_HOST=${OPTARG} | ||
376 | ;; | ||
377 | h ) #echo "Help Received" | ||
378 | print_help | ||
379 | exit ${STATE_UNKNOWN} | ||
380 | ;; | ||
381 | l ) #echo "Login Received" | ||
382 | CHECK_LOGIN=yes | ||
383 | ;; | ||
384 | n ) #echo "oranames Received = $OPTARG}" | ||
385 | CHECK_NAMES=yes | ||
386 | ORA_NAMES=${OPTARG} | ||
387 | ;; | ||
388 | p ) #echo "Passwd Received = ${OPTARG}" | ||
389 | ORA_PASS=${OPTARG} | ||
390 | ;; | ||
391 | s ) #echo "SID Received = ${OPTARG}" | ||
392 | ORACLE_SID=${OPTARG} | ||
393 | ;; | ||
394 | t ) #echo "tnsnames Received" | ||
395 | CHECK_TNS=yes | ||
396 | ;; | ||
397 | T ) #echo "Tablespace Received = ${OPTARG}" | ||
398 | ORA_TS=${OPTARG} | ||
399 | CHECK_TS=yes | ||
400 | ;; | ||
401 | u ) #echo "User Received = ${OPTARG}" | ||
402 | ORA_USER=${OPTARG} | ||
403 | ;; | ||
404 | W ) #echo "Warning lvl = ${OPTARG}" | ||
405 | WARN_LVL=${OPTARG} | ||
406 | ;; | ||
407 | \?) print_usage | ||
408 | exit ${STATE_UNKNOWN} | ||
409 | ;; | ||
410 | esac | ||
411 | done | ||
412 | |||
413 | |||
414 | shift $(($OPTIND - 1)) | ||
415 | |||
416 | if [ "$1" == "--help" ] | ||
417 | then | ||
418 | print_help | ||
419 | fi | ||
420 | |||
421 | # "This is where new options can be used - working on compat first | ||
422 | # "step through following:" | ||
423 | if [ -z $1 ] | ||
424 | then | ||
425 | |||
426 | if [ -n ${ORACLE_SID} ] && [ "${ORACLE_SID}" != "" ] | ||
427 | then | ||
428 | if [ -n ${ORA_PASS} -a "${ORA_PASS}" != "" ] || \ | ||
429 | [ -n ${ORA_USER} -a "${ORA_USER}" != "" ] || \ | ||
430 | [ -n ${CRIT_LVL} >= 0 ] || [ ${WARN_LVL} >= 0 ] | ||
431 | then | ||
432 | if [ ${CHECK_CACHE} == "yes" ] && [ ${CHECK_TS} == "no" ] | ||
433 | then | ||
434 | check_cache | ||
435 | ret=${?} | ||
436 | echo ${RETURN_MSG} | ||
437 | exit ${ret} | ||
438 | fi | ||
439 | if [ ${CHECK_EXTENTS} == "yes" ] && [ ${CHECK_TS} == "no" ] | ||
440 | then | ||
441 | echo "call check_Extents" | ||
442 | check_extents | ||
443 | ret=${?} | ||
444 | echo ${RETURN_MSG} | ||
445 | exit ${RET} | ||
446 | fi | ||
447 | else | ||
448 | echo "error - not proper args" | ||
449 | fi | ||
450 | if [ -n ${ORA_TS} ] && [ "${ORA_TS}" != "" ] | ||
451 | then | ||
452 | if [ ${CHECK_TS} == "yes" ] && [ ${CHECK_CACHE} == "no" ] | ||
453 | then | ||
454 | check_tablespace | ||
455 | ret=${?} | ||
456 | echo ${RETURN_MSG} | ||
457 | exit ${ret} | ||
458 | fi | ||
459 | if [ ${CHECK_TS} == "yes" ] && [ ${CHECK_CACHE} == "yes" ] | ||
460 | then | ||
461 | RETURN_MSG="INVALID: Currently Cache and tablespace checks don't mesh" | ||
462 | echo ${RETURN_MSG} | ||
463 | exit ${STATE_UNKNOWN} | ||
464 | fi | ||
465 | fi | ||
466 | if [ ${CHECK_LOGIN} == "yes" ] | ||
467 | then | ||
468 | check_login | ||
469 | ret=${?} | ||
470 | echo ${RETURN_MSG} | ||
471 | exit ${ret} | ||
472 | fi | ||
473 | if [ ${CHECK_DB} == "yes" ] | ||
474 | then | ||
475 | check_db | ||
476 | ret=${?} | ||
477 | echo ${RETURN_MSG} | ||
478 | exit ${ret} | ||
479 | fi | ||
480 | fi | ||
481 | else | ||
482 | echo "Using old Invocation Methods: \"$*\"" | ||
483 | fi | ||
484 | |||
485 | case "$1" in | ||
486 | 1) | ||
487 | cmd='--tns' | ||
488 | ;; | ||
489 | 2) | ||
490 | cmd='--db' | ||
491 | ;; | ||
492 | *) | ||
493 | cmd="$1" | ||
494 | ;; | ||
495 | esac | ||
496 | |||
497 | # Information options | ||
498 | case "$cmd" in | ||
499 | --help) | ||
500 | print_help | ||
501 | exit ${STATE_OK} | ||
502 | ;; | ||
503 | -h) | ||
504 | print_help | ||
505 | exit ${STATE_OK} | ||
506 | ;; | ||
507 | --db) | ||
508 | CHECK_DB=yes | ||
509 | ORACLE_SID=$2 | ||
510 | check_db | ||
511 | ret=${?} | ||
512 | echo ${RETURN_MSG} | ||
513 | exit $ret | ||
514 | ;; | ||
515 | --cache) | ||
516 | CHECK_CACHE=yes | ||
517 | ORACLE_SID=$2 | ||
518 | ORA_USER=$3 | ||
519 | ORA_PASS=$4 | ||
520 | CRIT_LVL=$5 | ||
521 | WARN_LVL=$6 | ||
522 | check_cache | ||
523 | ret=${?} | ||
524 | echo ${RETURN_MSG} | ||
525 | exit $ret | ||
526 | ;; | ||
527 | --extents) | ||
528 | CHECK_EXTENTS=yes | ||
529 | ORACLE_SID=$2 | ||
530 | ORA_USER=$3 | ||
531 | ORA_PASS=$4 | ||
532 | CRIT_LVL=$5 | ||
533 | WARN_LVL=$6 | ||
534 | check_extents | ||
535 | ret=${?} | ||
536 | echo ${RETURN_MSG} | ||
537 | exit $ret | ||
538 | ;; | ||
539 | --login) | ||
540 | CHECK_LOGIN=yes | ||
541 | ORACLE_SID=$2 | ||
542 | check_login | ||
543 | ret=${?} | ||
544 | echo ${RETURN_MSG} | ||
545 | exit $ret | ||
546 | ;; | ||
547 | --oranames) | ||
548 | CHECK_NAMES=yes | ||
549 | ORA_NAMES=$2 | ||
550 | check_oranames | ||
551 | exit ${?} | ||
552 | ;; | ||
553 | --tablespace) | ||
554 | CHECK_TS=yes | ||
555 | ORACLE_SID=$2 | ||
556 | ORA_USER=$3 | ||
557 | ORA_PASS=$4 | ||
558 | ORA_TS=$5 | ||
559 | CRIT_LVL=$6 | ||
560 | WARN_LVL=$7 | ||
561 | check_tablespace | ||
562 | ret=${?} | ||
563 | echo ${RETURN_MSG} | ||
564 | exit $ret | ||
565 | ;; | ||
566 | --tns) | ||
567 | CHECK_TNS=yes | ||
568 | export ORACLE_SID=$2 | ||
569 | echo "--tns ${ORACLE_SID} " | ||
570 | check_tns | ||
571 | ret=${?} | ||
572 | echo ${RETURN_MSG} | ||
573 | exit $ret | ||
574 | ;; | ||
575 | --version) | ||
576 | print_revision $PLUGIN $REVISION | ||
577 | exit ${STATE_OK} | ||
578 | ;; | ||
579 | -V) | ||
580 | print_revision $PLUGIN $REVISION | ||
581 | exit ${STATE_OK} | ||
582 | ;; | ||
583 | *) | ||
584 | print_usage | ||
585 | exit ${STATE_UNKNOWN} | ||
586 | ;; | ||
587 | esac | ||
588 | |||
589 | |||
590 | exit ${STATE_UNKNOWN} | ||