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: a heated discussion between Development Team & "a" DBA: reorg or not to reog

Re: a heated discussion between Development Team & "a" DBA: reorg or not to reog

From: OldDBA <matt_reeves_at_charter.net>
Date: 24 Jun 2005 06:18:56 -0700
Message-ID: <1119619136.180567.197160@g14g2000cwa.googlegroups.com>


This is a possible problem you are having (and to clarify my point a bit). You said that the batch process did massive deletes. It is true that the free space may be used eventually with subsequent inserts, but your problem occurs during the deletes. When Oracle performs deletes the space is put on the freelist for subsequent use. However, that space can only be freed if you drop the table or truncate it. How is this hurting you? Based on your explanation of the problem and what has been fixing it, I would think that full table scans or at least large index scans are being performed during the batch process. If you have not deallocated the empty space with a drop or truncate the full table scan will read every block to the high water mark, which may take some time if you originally had a lot of rows. Rebuilding the indexes (or creating a new one) may help the problem as you described. Since you have taken care of the most obvious problems, my money is betting that your issue is SQL related. It is likely that the SQL is so poorly written it is causing your issues. You may have to demonstrate how to write the query correctly, or at least take advantage of existing or new indexes. You may even have to explore a rewrite in PLSQL. I have seen developers often write terrible SQL simply because they did not want to write PLSQL. Cursor processing with array fetching on the types of operations you describe are usually more efficient and easier to tune. In addition, you can include frequent commit logic.

Again, I emphasize that I have never heard of anyone dropping and recreating a database to continually correct his type of problem. That is stupid and I would defy your users to find legtimate documentation suggesting such a practice. Received on Fri Jun 24 2005 - 08:18:56 CDT

Original text of this message

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