Mike’s Dump

April 12, 2005

Not Connected To Oracle – ORA-03114

Filed under: Code — mikesdump @ 10:04 am

You have to love Mondays! A Monday offers an endless array of possibilities. Maybe someone has given their notice, gotten into a bar
fight over the weekend, or maybe you have two people show up at your desk like I did yesterday.

Usually when person shows up at my desk it can go either way (good news or bad news). When there are two people it is because they need a new feature now and they want to try and ram it into the schedule or something is broken. My Monday started off with something broken.
Something really important was broken and I had modified it five days before.

I had made some modifications to one of our applications that basically takes data and shoves it into Oracle as fast as it can. The last time I
checked the application processes about 750000 records a day. One of the changes that I made was to switch from OLEDB to the Microsoft .NET Oracle provider. I had tested the MS provider when I first wrote the application for .NET 1.0 and found that it was flaky so I stuck with
OLEDB. Nearly two years later with 1.1 SP1 out I thought it would be safe to move to the .NET provider.

I had put the application in testing for two weeks on our staging server and everything appeared to be fine. I deployed last Wednesday. Friday after I went home we had some sort of network issue that cause the Oracle connections to be dropped (the application maintains several). The application is designed to automatically recreate a connection when needed (encounters an unexpected error) and continue to insert data. If for whatever reason the application can’t create a database connection technical support is notified so someone can investigate the problem.

The people that came to my desk said that data was going into the database inconsistently. I checked the logs and it appeared that all weekend the inserts were failing because of a “not connected to Oracle (ora-03114)” error. The very next message in my log said, “database connection create”. Followed by another failure. This pattern continued all weekend. Since the connection was created successfully notification wasn’t sent out. I had read up a few months ago on connection pooling with ADO and found that it basically does it for you as long as you maintain at least one connection to the database. The only thing that made sense to me was that I was getting a bad connection from the pool. But that isΒ  impossible, right? πŸ™‚

After a quick search on Google I found this post (http://support.microsoft.com/default.aspx?scid=kb;en-us;830173). As it tuned out we didn’t have SP1 installed and even if we did it didn’t fix the entire problem. It was kind of nice that my guess on the problem was correct and to resolve the issue was fairly painless.

The next time two people come to my desk on a Monday morning I think I’ll start licking my keyboard and say that I’m busy. That should scare
them away and I’ll probably need a sick day on Tuesday πŸ™‚


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at WordPress.com.

%d bloggers like this: