[hobbit] dbcheck for RAC connections refused

Francesco Duranti fduranti at q8.it
Fri Jul 31 12:55:24 CEST 2009


This is really strange.
Regarding the RAC test it cannot be done without the tnsnames.ora configuration.
What's the problem regarding the tnsnames.ora? does it exists?

The timeout problem seems also strange because it's like your client could not reach the database.
You should try to connect to the oracle client (sqlplus).

You can also try with this perl script

#/usr/bin/perl
use DBI;
$ENV{'ORACLE_HOME'}="/usr/local/oracle/10.2.0/client/";
$dbhost="hostname";
$port=1521;
$sid="SID";
$user="user";
$pw="password";
$data_source="DBI:Oracle:host=$dbhost;port=$port;sid=$sid";
$dbh = DBI->connect($data_source,$user,$pw ,{ RaiseError => 1, PrintError =>1});
$dbh->disconnect;
exit 0;

Let me know if there's any problem...

Francesco


-----Original Message-----
From: Martin Flemming [mailto:martin.flemming at desy.de]
Sent: venerdì 31 luglio 2009 0.28
To: hobbit at hswn.dk
Subject: RE: [hobbit] dbcheck for RAC connections refused


Hi !

Unfortunatley, i've got no luck till yet ...

I've cleaned up my dbcheck.ini like this, also without any spaces ...


# cat etc/dbcheck.ini|grep -v \#




[default]
warningout              = send
conn                    = conn
include                 =
defaultgroup            =
timeoutdbconn           = 20s
timeoudbtselect         = 1h
oraclehome              = /opt/products/oracle-client/10.2g/
fastcheck               = 30m
mediumcheck             = 2h
slowcheck               = 6h
bbdisplay               = localhost
bbsendtype              = multi
singlesendashost        = no
bbconncolumn            = ChkConn::fast
bbauditcolumn           = Audit::fast
bbtablespacecolumn      = TblSpace::fast
bbextentcolumn          = Extent::slow
bbhitcachecolumn        = HitCache::fast
bbmemreqcolumn          = MemReq::fast
bbrollbackcolumn        = RollBack::slow
bbinvobjcolumn          = InvObj::fast
bblockscolumn           = Locks::fast
bbsessioncolumn         = Session::fast
bbsessionuserlist       = yes
username                = XXXXXXXXXX
password                = XXXXXXXXXXXXXXxx
tblspcheck              = 90:95
tblspreportautoext      = 90:95
pinlibcheck             = 95:90
blbuffcheck             = 95:90
hitcachecheck           = 95:90
rowcachecheck           = 95:90
extentcheck             = 90:95
rollbackcheck           = 90:95
sessioncheck            = 90:95
processcheck            = 90:95
rb.SYSTEM               = 101:101
invobjwarn              = :::
invobjignore            =
dbtype                  = Oracle



[atlast1]
hostname                = lcg3d-a-v-1
port                    = 1521
username                = XXXXXXXXXXX
password                = XXXXXXXXXXXXX
bbauditcolumn           = Audit:notest
bbtablespacecolumn      = TblSpace:notest
bbextentcolumn          = Extent:notest
bbrollbackcolumn        = RollBack:notest
bblockscolumn           = Locks:notest
bbinvobjcolumn          = InvObj:notest



[atlast2]
hostname                = lcg3d-a-v-2
port                    = 1521
bbauditcolumn             = Audit:notest
bbtablespacecolumn      = TblSpace:notest
bbextentcolumn          = Extent:notest
bbrollbackcolumn        = RollBack:notest
bblockscolumn           = Locks:notest
bbinvobjcolumn          = InvObj:notest
username                = XXXXXXXXXXx
password                = XXXXXXXXXXXXXX


[atlast3]
hostname                = lcg3d-a-v-3
port                    = 1521
bbauditcolumn             = Audit:notest
bbtablespacecolumn      = TblSpace:notest
bbextentcolumn          = Extent:notest
bbrollbackcolumn        = RollBack:notest
bblockscolumn           = Locks:notest
bbinvobjcolumn          = InvObj:notest
username                = XXXXXX
password                = XXXXXXXXXX


[atlast4]
hostname                = lcg3d-a-v-4
port                    = 1521
username                = XXXXXXX
password                = XXXXXXXXXXX
bbauditcolumn             = Audit:notest
bbtablespacecolumn      = TblSpace:notest
bbextentcolumn          = Extent:notest
bbrollbackcolumn        = RollBack:notest
bblockscolumn           = Locks:notest
bbinvobjcolumn          = InvObj:notest




[atlas_tag_db]
oraclerac               = yes
port                    = 1521
username                = XXXXXXXX
password                = XXXXXXXXX
bbhitcachecolumn        = HitCache:notest
bbmemreqcolumn          = MemReq:notest


The output of the test is :

l Stats
Test Time    = 00:00:01
Host Checked = 5
Status Msg   = 29

Colors                   Colors
clear                       24
red                          5

Events                   Events
Audit                        1
ChkConn                      5
Extent                       1
HitCache                     4
InvObj                       1
Locks                        1
MemReq                       4
RollBack                     1
Session                      5
TblSpace                     1
uptime                       5

Types                     Types
status+30m                  22
status+60                    5
status+6h                    2

Hosts Summary
Hosts                     clear        red     Number      Times
atlas_tag_db                  8          1          9   00:00:00
atlast1                       4          1          5   00:00:00
atlast2                       4          1          5   00:00:00
atlast3                       4          1          5   00:00:00
atlast4                       4          1          5   00:00:00

Hosts Summary
Hosts                     Audit    ChkConn     Extent   HitCache
InvObj      Locks     MemReq   RollBack    Session   TblSpace     uptime
atlas_tag_db                  1          1          1          0
1          1          0          1          1          1          1
atlast1                       0          1          0          1
0          0          1          0          1          0          1
atlast2                       0          1          0          1
0          0          1          0          1          0          1
atlast3                       0          1          0          1
0          0          1          0          1          0          1
atlast4                       0          1          0          1
0          0          1          0          1          0          1

Errors
No General Errors
atlas_tag_db
Fri Jul 31 00:02:15 2009:ERROR: Timeout connecting to DBI:Oracle:atlas_tag_db!
atlast1
Fri Jul 31 00:02:15 2009:ERROR: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-1;port=1521;sid=atlast1!
atlast2
Fri Jul 31 00:02:15 2009:ERROR: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-2;port=1521;sid=atlast2!
atlast3
Fri Jul 31 00:02:15 2009:ERROR: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-3;port=1521;sid=atlast3!
atlast4
Fri Jul 31 00:02:15 2009:ERROR: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-4;port=1521;sid=atlast4!

Warnings
No General Warnings


> In tnsnames.ora (under ORACLE_HOME/network/admin) I've those configuration:

This is a good point, i can't use the tnsnames.ora, because my
oracle-software is placed in the global filesystem AFS ...

So, could this be a problem, if i have to got all informations only from dbcheck.ini ?



> You can also try to connect with a telnet to the hostname and listener port


Yep, telnet to port 1521 is working .. to  lcg3d-a-v-1/4

here my enviroment:

bin/bbcmd  ext/dbcheck.pl -v
2009-07-31 00:04:28 Using default environment file /usr/lib/hobbit/server/etc/hobbitserver.cfg
Program Information
         dbcheck.pl version 1.09
         Hobbit_fd_lib.pm version 1.16

OS Information
         Linux it-wgs02 2.6.9-78.0.22.ELsmp #1 SMP Thu Apr 30 23:30:54 CDT
2009 i686 i686 i386 GNU/Linux
         Perl version is v5.8.5

Module Information
         FindBin 1.44
         POSIX 1.08
         Text::Wrap 2001.09292
         Time::Local 1.1
         Sys::SigAction 0.04
         Config::IniFiles 2.39
         DBI 1.605
         DBD::DBM 0.03
         DBD::ExampleP 12.010007
         DBD::File 0.35
         DBD::Gofer 0.011377
         DBD::Oracle 1.23
         DBD::Proxy 0.2004
         DBD::Sponge 12.010002


Hmm, misterious ..

        martin





On Thu, 30 Jul 2009, Francesco Duranti wrote:

> This is what i normally do to check a RAC DB + single RAC instance in the configuration:
>
> oraclehome              = /usr/local/oracle/10.2.0/client/
> bbdisplay               = localhost
> bbconncolumn            = ChkConn::fast
> bbauditcolumn           = Audit::fast
> bbtablespacecolumn      = TblSpace::fast
> bbextentcolumn          = Extent::slow
> bbhitcachecolumn        = HitCache::fast
> bbmemreqcolumn          = MemReq::fast
> bbrollbackcolumn        = RollBack::slow
> bbinvobjcolumn          = InvObj::fast
> bblockscolumn           = Locks::fast
> bbsessioncolumn         = Session::fast
> bbsessionuserlist       = yes
> username                = userxxx
> password                = pwxxxxx
>
> [CL10G]
> oraclerac               = yes
> bbhitcachecolumn        = HitCache:notest
> bbmemreqcolumn          = MemReq:notest
>
> [CL10G1]
> hostname                = itromdb21
> bbauditcolumn           = Audit:notest
> bbtablespacecolumn      = TblSpace:notest
> bbextentcolumn          = Extent:notest
> bbrollbackcolumn        = RollBack:notest
> bblockscolumn           = Locks:notest
> bbinvobjcolumn          = InvObj:notest
>
> [CL10G2]
> hostname                = itromdb22
> bbauditcolumn           = Audit:notest
> bbtablespacecolumn      = TblSpace:notest
> bbextentcolumn          = Extent:notest
> bbrollbackcolumn        = RollBack:notest
> bblockscolumn           = Locks:notest
> bbinvobjcolumn          = InvObj:notest
>
>
> In tnsnames.ora (under ORACLE_HOME/network/admin) I've those configuration:
>
> CL10G =
>  (DESCRIPTION =
>    (ADDRESS = (PROTOCOL = TCP)(HOST = ITROMDB21)(PORT = 1521))
>    (ADDRESS = (PROTOCOL = TCP)(HOST = ITROMDB22)(PORT = 1521))
>    (LOAD_BALANCE = no)
>    (CONNECT_DATA =
>      (SERVER = DEDICATED)
>      (SERVICE_NAME = cl10g)
>    )
>  )
>
> CL10G2 =
>  (DESCRIPTION =
>    (ADDRESS = (PROTOCOL = TCP)(HOST = ITROMDB22)(PORT = 1521))
>    (CONNECT_DATA =
>      (SERVER = DEDICATED)
>      (SERVICE_NAME = cl10g)
>      (INSTANCE_NAME = cl10g2)
>    )
>  )
>
> CL10G1 =
>  (DESCRIPTION =
>    (ADDRESS = (PROTOCOL = TCP)(HOST = ITROMDB21)(PORT = 1521))
>    (CONNECT_DATA =
>      (SERVER = DEDICATED)
>      (SERVICE_NAME = cl10g)
>      (INSTANCE_NAME = cl10g1)
>    )
>  )
>
>
> With this setting I normally use the tnsnames.ora configuration for RAC (I was able to check RAC database only using tnsnames.ora not directly.
> You  can try to remove the hostname and port from the db configuration for the RAC.
> If the SID is equal to the name of the DB to check (the one in []) you can also remove the sid line from the configuration.
>
> You can also try to connect with a telnet to the hostname and listener port to see if it answer (or better you can configure on the client the tnsnames.ora and do a tnsping to see if the instances are answering).
>
> As you can see I don't do some checks on the RAC itselft or on the single instances... For example I don't test memreq and hitcache on the RAC and I don't check TblSpace, Extent, Rollback, locks, invalid objects on the single instances.
>
>
>
> Please check also on the configuration file and remove all ending space after host or port or sid. I don't know if it can create problems (I'll check this also and remove those from the configuration option for the next version).
>
>
> Let me know if this work for you or you have other problems.
>
> Francesco
>
>
>
> -----Original Message-----
> From: Martin Flemming [mailto:martin.flemming at desy.de]
> Sent: giovedì 30 luglio 2009 11.47
> To: hobbit at hswn.dk
> Subject: RE: [hobbit] dbcheck for RAC connections refused
>
>
> Hi, Franceso !
>
> Thanks for the hint, it looks better/cleaner now, but the error is still exist ...
>
> "
> /usr/lib/hobbit/server #  bin/bbcmd ext/dbcheck.pl -t atlast1
> 2009-07-30 08:08:28 Using default environment file /usr/lib/hobbit/server/etc/hobbitserver.cfg
> Thu Jul 30 08:08:29 2009:ERROR on atlast1: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-1   ;port=1521          ;sid=atlast1      !
> "
>
>
>
>
> [it-wgs02] /usr/lib/hobbit/server #  bin/bbcmd perl -d  ext/dbcheck.pl -t atlast1
> 2009-07-30 08:05:59 Using default environment file /usr/lib/hobbit/server/etc/hobbitserver.cfg
>
> Loading DB routines from perl5db.pl version 1.27
> Editor support available.
>
> Enter h or `h h' for help, or `man perldebug' for more help.
>
> Hobbit_fd_lib::CODE(0x9505830)(/usr/lib/hobbit/server/ext/Hobbit_fd_lib.pm:1222):1222:           &load_config ;  DB<1> n
> Hobbit_fd_lib::CODE(0x9505830)(/usr/lib/hobbit/server/ext/Hobbit_fd_lib.pm:1223):1223:           &get_disabled_hosts;  DB<1> n
> Hobbit_fd_lib::CODE(0x9505830)(/usr/lib/hobbit/server/ext/Hobbit_fd_lib.pm:1224):1224:           my $pv=sprintf "%vd", $^V;  DB<1> n
> Hobbit_fd_lib::CODE(0x9505830)(/usr/lib/hobbit/server/ext/Hobbit_fd_lib.pm:1225):1225:           my $sv=$Sys::SigAction::VERSION;  DB<1> n
> Hobbit_fd_lib::CODE(0x9505830)(/usr/lib/hobbit/server/ext/Hobbit_fd_lib.pm:1226):1226:           if (($pv =~ /5\.8\.0/) && ($sv !~ /0\.09/)) {  DB<1> n
> main::(ext/dbcheck.pl:39):      my ($orahome, @listahost, $dbhost, $port, $username, $password, $dbtype, $sid,$onlycustomcheck);  DB<1> n
> main::(ext/dbcheck.pl:40):      my (%warnhash,%alerthash,$invobjignore,$invobjwarn, at invobjwlist, at invobjilist,$checkuserlist,%customcheck);  DB<1> n
> main::(ext/dbcheck.pl:41):      my ($sendtv,$singlesendas,%selcmd,$raccheck, @KeyToCheck, at CustomKeyToCheck);  DB<1> n
> main::(ext/dbcheck.pl:43):      my %DBCHECK = (main::(ext/dbcheck.pl:44):                     oracle           => [ "fulltest","conn","audit","tablespace","extent","hitcache","memreq",
> main::(ext/dbcheck.pl:45):                                           "rollback","invobj","locks","session" ],
> main::(ext/dbcheck.pl:46):                     oracledef        => [ "Database","ChkConn::fast","Audit::fast","TblSpace::fast","Extent::slow",
> main::(ext/dbcheck.pl:47):                                           "HitCache::fast","MemReq::fast", "RollBack::slow","InvObj::fast",
> main::(ext/dbcheck.pl:48):                                           "Locks::fast","Session::fast" ],
> main::(ext/dbcheck.pl:49):                     informix         => [ "fulltest","conn","tablespace" ],
> main::(ext/dbcheck.pl:50):                     informixdef      => [ "Database","ChkConn::fast","TblSpace::fast" ],
> main::(ext/dbcheck.pl:51):                     sqlserver        => [ "fulltest","conn","tablespace" ],
> main::(ext/dbcheck.pl:52):                     sqlserverdef     => [ "Database","ChkConn::fast","TblSpace::fast" ],
> main::(ext/dbcheck.pl:53):                     mysql            => [ "fulltest","conn","mysqlperf" ],
> main::(ext/dbcheck.pl:54):                     mysqldef         => [ "MySQL","ChkConn::fast","mysqlperf::fast" ],
> main::(ext/dbcheck.pl:55):                     db2              => [ "fulltest","conn","tablespace" ],
> main::(ext/dbcheck.pl:56):                     db2def           => [ "DB2","ChkConn::fast","TblSpace::fast" ],
> main::(ext/dbcheck.pl:57):                   );  DB<1> n
> main::(ext/dbcheck.pl:59):      my $CHECKLIST = [ "pinlib:95:90", "blbuff:95:90", "rowcache:95:90", "tblsp:90:95", "hitcache:95:90", "rollback:90:95",
> main::(ext/dbcheck.pl:60):                                      "session:90:95", "process:90:95", "memreq:90:95", "extent:90:95" ];  DB<1> n
> main::(ext/dbcheck.pl:63):              @listahost=&Hobbit_fd_lib::get_server_to_test($TEST) if (!@listahost);  DB<1> n
> main::(ext/dbcheck.pl:64):              &Hobbit_fd_lib::execute_thread(\&execute_db_test , at listahost);  DB<1> n
> Thu Jul 30 08:06:27 2009:ERROR on atlast1: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-1   ;port=1521          ;sid=atlast1      !
>
> Debugged program terminated.  Use q to quit or R to restart,
>   use O inhibit_exit to avoid stopping after program termination,
>   h q, h R or h O to get additional info.
> main::(ext/dbcheck.pl:65):              exit;
>   DB<1>
>
> ... and the logfile e.g.
>
> Thu Jul 30 11:45:37 2009:ERROR on atlas_tag_db: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-4   ;port=1521         ;sid=atlas_tag_db  !
> Thu Jul 30 11:45:37 2009:ERROR on atlast1: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-1   ;port=1521          ;sid=atlast1      !
> Thu Jul 30 11:45:37 2009:ERROR on atlast3: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-3  ;port=1521          ;sid=atlast3       !
> Thu Jul 30 11:45:37 2009:ERROR on atlast2: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-2   ;port=1521          ;sid=atlast2       !
> Thu Jul 30 11:45:37 2009:ERROR on atlast4: Timeout connecting to DBI:Oracle:host=lcg3d-a-v-4  ;port=1521         ;sid=atlast4   !
>
>
>
> Any suggestions for further debugging ?
>
> thanks & cheers
>
>       martin
>
>
> On Thu, 30 Jul 2009, Francesco Duranti wrote:
>
>> Hi,
>> dbcheck.pl (and the other scripts in the package) use the CONFIG::IniFiles to read configuration data. CONFIG::Inifiles allow comment line starting with "#" and ";" but I think it will not recognize the "#" comment at the middle of a line so if you need comments you should put them alone on the line before or next to the line to comment on.
>>
>> On some of the sample config file I've put some comment next to parameters and this could probably generate confusion. I'll change the sample config file and put this behavious also in the documentation I'm writing for the next version (the actual documentation is not really well written and organized).
>>
>>
>> Francesco
>>
>>
>> On Wed, July 29, 2009 15:29, martin.flemming at desy.de wrote:
>>>
>>> Hi !
>>>
>>> I want to use dbcheck.pl from
>>>
>>> http://sourceforge.net/projects/hobbit-perl-cl/
>>>
>>> .. but unfortunatley something is going wrong, i get only
>>> "Connection Refused" Messages and no data  .. :-(
>>>
>>> My config is below:
>> [SNIP]
>>>
>>> dbcheck.ini:
>>>
>>> oraclehome              = /opt/products/oracle-client/10.2g/
>>> username                = XXXX
>>> password                = XXXXXXXXXXXXXXXXXXXXXXX
>>>
>>>
>>> [atlas_tag_db]
>>> dbtype                  = Oracle
>>> oraclerac               = yes
>>> hostname                = lcg3d-a-v-4   # hostname of the rac instance n.2
>>> sid                     = atlas_tag_db  # sid of the rac instance n.2
>>> port                    = 1521          # port of listener on rac instance
>>
>>
>> I don't use this code, but your error output suggests that it's trying to
>> use your hostname, sid, and port from dbcheck.ini exactly as written,
>> comments and all.  I don't see anything in the sample dbcheck.ini file
>> that suggests that you can use trailing comments in the way that you are
>> doing, so perhaps you should try without those.
>>
>>



More information about the Xymon mailing list