Print Thread
System hanging on LONG RAW insert
#743 08/04/00 10:10 AM
Joined: Feb 2000
Posts: 36
Washington
Member
OP Offline
Member
Joined: Feb 2000
Posts: 36
Washington
I have a slight problem on one of my clients' systems. It only manifested itself recently and I am baffled that it is actually ocurring.

When adding a record and inserting into a LONG RAW field the client system will hang indefinitely. The longest the operator would allow the program to try to finish was a little over 1 hour. For example's sake let's say this is happening when an image around 300K is being inserted.

I inserted some debugs into the application and it appears that the system is indeed hanging when inserting into the LONG RAW column. The system is not hanging when in my code. Following is the code I use:

query->SQL->Add("UPDATE EVIBLOB");
query->SQL->Add(" SET EVIBLOB_DATA = [Linked Image]Data");
query->SQL->Add(" WHERE EVIBLOB_ID = " + IntToStr(fID));
query->DeclareVariable("pData", otLongRaw);
query->SetLongVariable("pData", buffer, size);
query->Execute(); // Never comes back

The operator has tried this on Win98 and WinNT4.0 systems with the same result. Their Oracle server is running on Digital UNIX (64-bit). I am unsure of the version of Oracle but this has been working until recently with no problems and the DBA has informed me that they haven't upgraded in a long time.

I have been speculating on the possible causes. I can only come up with three possibilities.
1. Their system has network issues or database configuration issues.
2. My code is a poor example of inserting data into LONG RAW fields.
3. There is something different about 64-bit systems.

Problems with my speculations:
1. My program has no problem reading the images in the LONG RAW field that are already present in the system. And these images are retrieved in a fraction of a second.
2. This code works cross-platform against VMS,NT,UNIX servers version 7.x through 8.x. Never had a similar scenario on any other system.
3. Doubtful but I don't know enough about the lower-level implementations.

I had them completely drop all tables that my program uses and then recreate. They tried to insert on a completely blank table and the problem still ocurred.

Does anyone know of why this would happen (very open question but maybe someone has had a similar experience)? Is there anything I can do to recover from this kind of a situation? Is there a timeout setting (I think 10 minutes would be appropriate)? Is there something I'm missing (a notification event perhaps)?

Thank you,
Clayton M. Arends


Clayton Arends
Sr. Software Developer
Evisions, Inc.
http://evisions.com
Re: System hanging on LONG RAW insert
#744 08/07/00 11:01 AM
Joined: Aug 1999
Posts: 22,206
Member
Offline
Member
Joined: Aug 1999
Posts: 22,206
There can be many reasons why a database is hanging. Except for the obvious locking problem, a full archive disk is also a possibility. An insert of a 300K long raw column will generate a lot of redo information. You mentioned that the application worked fine earlier, so maybe the disk had more free space then.

Anyway, I have sent you a document by e-mail, describing database hang-up diagnostics. Maybe this will provide a clue.

------------------
Marco Kalter
Allround Automations


Marco Kalter
Allround Automations

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.125s Queries: 14 (0.043s) Memory: 2.5021 MB (Peak: 3.0393 MB) Data Comp: Off Server Time: 2024-04-29 07:30:03 UTC
Valid HTML 5 and Valid CSS