Avatar billede glacier Nybegynder
18. maj 2007 - 12:06 Der er 10 kommentarer og
1 løsning

Connection timer out.

Hej

Jeg har et par .net programmer som hiver fat i en oracle database.
Efter jeg har flyttet disse programmer til en ny pc er der opstået et problem med at connectionen til oracle serveren timer-out ind i mellem.
Programmet kan køre fint i flere timer, men pludseligt timer det out når der skal laves en connection til databasen.
Der er ikke installeret nogen firewall eller lign. på pcen.

Hvad kan mit problem være?
Avatar billede pnielsen Nybegynder
18. maj 2007 - 12:10 #1
hmm..Er der direkte forbindelse fra din PC til oracle databasen ? Eller er der en firewall på nettet ? Står de fysisk på samme net og segment ?
Avatar billede glacier Nybegynder
18. maj 2007 - 12:13 #2
De står fysisk på samme netværk. Den gamle pc hvor programmet køre fint er også på samme netværk.
Avatar billede Slettet bruger
18. maj 2007 - 12:22 #3
Jeg tror du skal have fat i SQL_NET.EXPIRE_TIME. Den skal sættes i databaseserverens sqlnet.ora-fil og angiver, hvor tit, databaseserveren skal undersøge om forbindelsen er igang. Ved at sætte den til fx 5, vil forbindelsen blive pinget og holdt åben hvert 5. minut.

Se mere i manualen: http://download-uk.oracle.com/docs/cd/B19306_01/network.102/b14213/sqlnet.htm#sthref481
Avatar billede pnielsen Nybegynder
18. maj 2007 - 12:28 #4
SQL_NET.EXPIRE_TIME burde ikke være nødvendig da der ikke normalt er nogen grund til at serveren sender en keep alive hvis de står på samme net. Hvis det virker skal du have checket dit netværk.

Er det samme .net version som den gamle og er det nøjagtig samme stykke kode ?
Avatar billede glacier Nybegynder
18. maj 2007 - 12:40 #5
det er den akkurat samme fil som bliver kørt på begge pcer.
Avatar billede Slettet bruger
18. maj 2007 - 12:48 #6
Hvis det er akkurat samme program og akkurat samme netværk, så kan der jo ikke være noget problem :-)

Så det er nok ikke det samme netværk. Du kan jo prøve at sætte sql_net.expire_time. Det koster jo ikke noget.

Du bliver vist nødt til at fortælle noget mere om  dit setup.
Avatar billede pnielsen Nybegynder
18. maj 2007 - 12:50 #7
Det lyder for mig som noget netværk der driller et sted... især hvis det er samme database.

Har du nogen iden om hvor tit den disconnecter ?

Prøv at sætte
SQLNET.EXPIRE_TIME=10
- skal sættes på serversiden..

Men betyder også at alle andre der connecter ind til din database vil få Dead Connection Detection slået til. Der har været forskellige bugs igennem tiden med denne parameter, som f.eks. at den gav dårlig sqlnet performance. Så prøv det af på en test database først, hvis det er en kritisk database.
Avatar billede Slettet bruger
18. maj 2007 - 12:55 #8
pnielsen: Kan du give en reference til de problemer du nævner med SQLNET.EXPIRE_TIME?

Jeg har aldrig haft dårlige erfaringer. Skyldes dine oplevelser at databasen har kørt på ustabile netværk?
Avatar billede pnielsen Nybegynder
18. maj 2007 - 13:14 #9
Tag et kig på metalink og søg på DCD. Der har været forskellige problemer. Den sidste var i en af de sidste patches til oracle 9.2 hvor DCD simpelthen ikke virkede, selvom parameteren var sat.

Jeg bruger den kun hvis man har en forbindelse ud i en DMZ zone - eller gennem firewalls. Selvom en firewall er sqlnet compatible har jeg oplevet at den ikke kan holde connection.

I oracle 8 kan jeg huske en bug der betød at man slet ikke kunne connecte til databasen når den blev sat - så sqlnet.expire_time = 0
var den eneste løsning.

Jeg ved ikke hvilken version der køres i dette tilfælde - men vil anbefale at teste det inden der forsøges.

Kald mig bare en gammel bitter mand - er også lige rundet 32 :-D
Avatar billede glacier Nybegynder
12. august 2007 - 20:48 #10
lukker
Avatar billede Slettet bruger
13. august 2007 - 08:48 #11
glacier -> Fint nok at du lukker. Men kan vi ikke få at vide, hvad løsningen blev?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester