Testen ob eine Oracle DB "online" ist

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Testen ob eine Oracle DB "online" ist

Beitrag von roli » 11.07.2008 11:24:59

Hi,

ich stehe naechste Woche vor der Aufgabe eine Oracle DB auf Verfuegbarkeit zu ueberwachen, bislang habe ich dazu folgende Ideen:
1) mittels ps ermitteln ob der DB-Server laeuft, wobei ich dann halt nur sagen kann, "kein Oracle-Server - keine DB", wenn der Server selber laeuft heisst das aber wiederum nicht zwangslaeufig das die zu ueberwachende DB verfuegbar ist
2) ich setze eine Querry a-la "select * from alltables;" ab, dann weiss ich zwar das die DB laeuft, kann das ganze aber dank des jeweils faelligen login's schlecht automatisieren
3) ich nutze tnsping, wozu ich hier gelesen habe das damit "die Namensaufloesung un der Port" getestet wird. Sehe ich dann ueberhaupt ob die DB die mich interessiert online ist?
Hat jemand weitere Ideen?
Ausprobieren kann ich das alles jedoch erst naechste Woche, da ich dann erst meinen Account bekomme (wenn alles gut laeuft).

Danke
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

FitzeFatze
Beiträge: 834
Registriert: 06.07.2004 10:08:21

Re: Testen ob eine Oracle DB "online" ist

Beitrag von FitzeFatze » 11.07.2008 11:50:21

könnte man nicht via php (zB) einen Testconnect machen?
(so wie bei mysql üblich)


ciao

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Testen ob eine Oracle DB "online" ist

Beitrag von roli » 11.07.2008 11:59:44

Hi,

moeglich ist das sicher, nur wuerde ich erstmal nach einer Moeglichkeit suchen die ohne Software installation auskommt, also Oracle und Linux Bordmittel.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

FitzeFatze
Beiträge: 834
Registriert: 06.07.2004 10:08:21

Re: Testen ob eine Oracle DB "online" ist

Beitrag von FitzeFatze » 11.07.2008 12:05:28

via Shellscript von nem 2. Rechner?

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Testen ob eine Oracle DB "online" ist

Beitrag von Duff » 11.07.2008 12:10:48

Also ich kenne das unter HP-UX nur so, dass ich per sqlplus username/passwort@dbname micht mit der DB verbinden kann.

Dieses kann man auch in Skripte packen, um bestimmte Sachen aus der DB abzufragen.
Oh, yeah!

Benutzeravatar
whisper
Beiträge: 3388
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Testen ob eine Oracle DB "online" ist

Beitrag von whisper » 11.07.2008 12:14:13

Ich mache einen Connectiontest verbunden mit zählen der aktuellen Sessions, weil wir das mal beobachten wollten.
Code läuft auf einer sun, sollte aber leicht auch auf Linux laufen.
Braucht nur sqlplus

Code: Alles auswählen

#!/bin/bash
# myping.sh V 1.0
# nach bash portiert und an Produktion angepasst by bed
# Original von http://blogs.sun.com/glennf/entry/tnsping_response_time_can_be
source include/sql.sh

OLOGIN=$DBUSER/$DBPW
DBINST=$DBSID

sessioncnt()
{
sqlplus -s $OLOGIN@$DBINST <<!
select
  count(*)
from
  v\$session
/
!
}

png()
{
timex sqlplus $OLOGIN@$DBINST <<!
select
  count(*)
from
  v\$session
/
!
}



#
#  MAIN
#

if [ "X$2" == "X" ]
 then
  echo  "Usage:  $0  <intvl>  <count>\n"
  exit
fi

(( i = 1 ))
(( count = $2 ))
(( intvl = $1 ))
while (( i <= $count ))
do

if (( ((i % 25) == 0)||(i == 1) )) 
then
  echo  "Date_and_Timestamp     SessionCNT      Connect_Time(sec)"
fi

png  1>| /dev/null 2>| /tmp/my$$
ts=`date '+%m/%d/%y %H:%M:%S'`
ctime=`grep real /tmp/my$$ | nawk '{printf("%f",$2)}'`
sc=`sessioncnt | egrep '[0-9]'`
echo  "${ts}    ${sc}   ${ctime}"


sleep ${intvl}

(( i = i + 1 ))

done


Ergibt dann :

Code: Alles auswählen

myping.sh 2 10
Date_and_Timestamp      SessionCNT      Connect_Time(sec)
07/11/08 12:07:49              886      0.210000
07/11/08 12:07:51              886      0.200000
07/11/08 12:07:54              885      0.200000
07/11/08 12:07:56              893      0.210000
07/11/08 12:07:59              899      0.210000
07/11/08 12:08:01              904      0.190000
07/11/08 12:08:04              905      0.230000
07/11/08 12:08:06              896      0.230000
07/11/08 12:08:09              896      0.210000
07/11/08 12:08:11              895      0.190000
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Testen ob eine Oracle DB "online" ist

Beitrag von roli » 11.07.2008 13:02:46

Hi,

erstmal danke, das Script sieht vielversprechend aus.
Ich kann remote von einem WIndows Client versuchen zu checken ob die DB da ist, oder per ssh Login lokal auf dem DB-Server selber.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Testen ob eine Oracle DB "online" ist

Beitrag von Duff » 11.07.2008 14:44:44

Dann benötigst du aber trotzdem noch einen Client zum Verbinden (wie z.B. sqlplus unter UNIX).
Oh, yeah!

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Testen ob eine Oracle DB "online" ist

Beitrag von roli » 11.07.2008 15:09:54

Hi Duff,

das ich den Oracle Client brauche (und dann hoffentlich auch bekommen werde) ist mir bewust, das hat mich schon mal einiges an Zeit gekostet als ich vor 2 Jahren mal eine PHP Oberflaeche ueber ein Oracle gelegt habe.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
whisper
Beiträge: 3388
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Testen ob eine Oracle DB "online" ist

Beitrag von whisper » 14.07.2008 08:05:13

Es gibt auch ein OpenSource sqlplus derivat, (erweitert) leider noch nicht selber probiert, aber schon auf der ToDo Liste für mein Blog.
http://gqlplus.sourceforge.net/
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Testen ob eine Oracle DB "online" ist

Beitrag von roli » 14.07.2008 14:51:01

Hi,

ein freier sqlplus Client hoert sich interessant an, mal sehen ob ich damit hier auch mal spielen kann/darf/Zeit habe.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten