Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Performance/Design Advice or DBA vs. Developer

RE: Performance/Design Advice or DBA vs. Developer

From: Deshpande, Kirti <>
Date: Tue, 20 May 2003 10:31:43 -0800
Message-ID: <>

Why does he need 2 columns?
He can very well use just one column ;) for everything. Then the logic would be : stuff not starting with a / is a host name....  

> dbserver1 / /etc /oracle /scripts /any/other/long/directory/name  

Doesn't '/' cover all the directories beneath it? Why spell them out again?    

An external table for this stuff would be my choice. They can write it up as they wished and maintain. A simple printout becomes the 'report'. No need of a real database table.    

-----Original Message-----
Sent: Tuesday, May 20, 2003 11:42 AM
To: Multiple recipients of list ORACLE-L


from what I can read, his basic arguement is that it's too much work for him to program it correctly on the front end (by breaking it up into it's correct individual parts) so he is passing the responsibility onto someone on the back end to do it at reporting time.  

not a very good arguement, as far as I'm concerned. smacks of being too lazy to do it correctly the first time.  

the design is wrong on all fronts. what if an end-user wants to report this stuff later on and is not a Perl or Java programmer, or is using a simple reporting tool - does he'she have to learn OWA_Pattern or the substr command?  

it's all silly. sounds like the programmer just is not interested.  

as a DBA, I would not have let this design get implemented. period.  

hope this helps.  

Tom Mercadante
Oracle Certified Professional

-----Original Message-----
Sent: Tuesday, May 20, 2003 11:57 AM
To: Multiple recipients of list ORACLE-L

The developers have a new table that contains a varchar(2) column with multiple, space-separated values for backup targets on servers (I didn't do the modeling on this one). For example:

host_name       backup_target 
dbserver1       / /etc /oracle /scripts /any/other/long/directory/name 

This column started out as varchar(2) 150, then grew to varchar(2) 250, and could potentially grow very long.

I recommended to the developers that we create a separate table to hold the separate values as individual rows, populated via trigger from a staging table during batch loads, something like this:

host_name       backup_target 
dbserver1       / 
dbserver1       /etc 
dbserver1       /oracle 
dbserver1       /scripts 
dbserver1       /any/other/long/directory/name 

My reasoning is:

Here is the response from one of the developers:

I can maybe be convinced otherwise, but here is my thinking in support of the "one big field" [varchar2(4000)?] theory:

What do you guys think- anyone have experience with this type of situation?

PS- Environment is Oracle on Sun Solaris; the database is hybrid OLTP and reporting.

Thanks for sharing,

David B. Wagoner
Database Administrator

Please see the official ORACLE-L FAQ:
Author: Deshpande, Kirti

Fat City Network Services    -- 858-538-5051
San Diego, California        -- Mailing list and web hosting services
To REMOVE yourself from this mailing list, send an E-Mail message
to: (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Tue May 20 2003 - 13:31:43 CDT

Original text of this message