Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: ORA-03113 Error

Re: ORA-03113 Error

From: Al Willis <alwillisj01_at_sbcglobal.net>
Date: Fri, 9 Jan 2004 21:41:07 -0600
Message-ID: <3fff74cf$1_7@news.athenanews.com>


Daniel,

I understand your point about normalization and how the table structure I presented might look like what you said. But that is not the case here.

This table is only one of about 350 that my application creates and manages. This table holds data for what is called a Loop Drawing. Each loop drawing can hold up to 350 entries of data. A loop drawing is basically a wiring checkout drawing for related circuits in industrial, chemical, power, and offshore facilities. The entries contain data for wire termination points, cable numbers, and instrumentation. There is absolutely NO correlation between different loop drawing types. That is to say one loop drawing type might be radically different in purpose from another loop drawing. On a job that my industry would consider a moderate to small job, there were about 80 different loop models. A model is a template that many loops can be derived from. One typical job had 1600 loop drawings, (number of records in LOOPDAT), derived from 80 different loop models. Larger jobs would potentially have more loop models.

One approach would have been to create a different table for each loop model. This would have been at the same time both time consuming and very restrictive, as every time a wiring method was changed, a new loop model table would have to be created. This would have to be thought up ahead of time by the programmer, or I would have to allow the end users the ability the create new tables on the fly. Way beyond their skill level. That absolutely would not work. It has been tried before by others and failed miserabley. That is why the column names of my LOOPDAT table are so generic, and also why there are so many of them. It is the ultimate in normalization. My application allows the end user to map data from related tables in the database to specific fields in the LOOPDAT table. The fieldnames themselves (A001-A350) have no strategic purpose assigned to them by me the programmer. They are only placeholders for disparate data and are completly reusable as required by the end-user.

I hope that I am describing this clearly enough. The real problem that I have (other than Oracle choking on the table) is that it takes somewhat longer to populate a grid with 370 or so columns. This is the most sluggish table in my application. That is reason enough to look at trying another approach. My application has been designed to use 6 different database back-ends interchangeably. They are SQL Server, Interbase, Oracle, DB2, Adaptive Server Anywhere, and MySQL. I've already run into table row size limits on SQL Server (8100 bytes or so), so I'm going to take this opportunity to restructure the LOOPDAT table into 5 smaller parts.

If you are interested, for more information on what a loop drawing is, please see http://www.inmaster.com/ssLoop.htm. And my apologies for the lecture in case you are already familiar with loop drawings.

Al Received on Fri Jan 09 2004 - 21:41:07 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US