I should have noticed you were using long raws.  I would definitely move to BLOBS if 
your system supports it.  The lob segment should be in a different tablespace than the 
 data segment.   This also allows you to name the lob segment which is quite useful.  
I would suggest a 4MB uniform extent for the lob segment tablespace.  Remember Oracle 
does not read data according to the extent size.    You may want to use a 32k chunk 
size.  More data is written/read that way, but it there is more wasted space.  But I 
cannot say for sure.

Do talk to the Vendor about using BLOB's.  They may be able to suggest the best lob 
storarge parameters for your situation.


What was the problem when you tried to use a BLOB?  Were you receiving Oracle errors?  

I am very new at using BLOBS as well.

Ian MacGregor
Stanford Linear Accelerator Center
[EMAIL PROTECTED]

-----Original Message-----
Sent: Thursday, March 07, 2002 10:39 AM
To: Multiple recipients of list ORACLE-L


Sorry about being vague about what I am trying to do, I will try to explain
it better.

We are implementing a GIS system called Arc/Info, thats allows us to
store,manipulate spatially
referenced data, one of the "layers" of information is orthophoto's, these
are rectified aerial
photographs that are scalable.  Each ortho covers an area of 1600m by 1000m
on the ground with a 
pixel resolution of .25m, each source tiff image is approx 25Mb in size.

During my initial testing of loading one image at a time, it appeared to
created table size
of approx 32Mb, hence my decision to use a uniform extent of 32Mb.  Arc/Info
creates one table per image,
and the "raster" data is stored in the "long raw" column.  It appears that
the table can have
anywhere from 8000 to 9000 rows, with an avg_row_len of 3467 Bytes, I am
assuming as with
lobs, 

Arc/Info has the ability to merge all your images together into one "layer"
giving you a seamless
layer, it also creates a series of "pyramids" which are resampled versions
of the base layer at 
a larger pixel resolution.  This helps speed up the drawing on the screen
when you are at a 
smaller scale (1:1,000,000).  If you have 4 source images, they are merged
into a single table, with
multiple rows, the avg_row_len becomes 13261.

The table that the information is stored in has the following structure :

RASTERBAND_ID                             NOT NULL NUMBER(38)
RRD_FACTOR                                NOT NULL NUMBER(38)
ROW_NBR                                   NOT NULL NUMBER(38)
COL_NBR                                   NOT NULL NUMBER(38)
BLOCK_DATA                                NOT NULL LONG RAW

As you can see, the block_data field is currently defined as a "long raw".
It does have the option
of using a LOB, which prompts the question what is better long raw or LOB ?
will have to some
RTFM on that.   Unfortunately I cannot get the LOB option working, time to
phone support on that one. 

Where I am stuck, is figuring out is how to best configure my tablespace, I
realize there is no
"right" way to do it.   I think 32Mb is incorrect, as this represents an
image with the pyramids
built, I will have to test loading an image that has no pyramids.

Should I set an extent that represents an average of the orthophotos, say
25Mb, or
some lesser value, and have more extents.  From your example, I am assuming
I should use a smaller extent 
size, maybe 5Mb, use the LOB option (Once I can get it working!) , and have
multiple tablespaces.

Darren





-----Original Message-----
Sent: March 6, 2002 6:53 PM
To: Multiple recipients of list ORACLE-L


I'm trying to understand this.  How many records are in the table?  Is it
four?  If so 115,437,005 / 4 gives an avg_row_len
of about 27.5 MB.  AVG_ROW_LEN for a table does not include the lob segment;
the number is terribly high.  What is your
table definition including the definition of your lob segment?

Here's one of mine, slightly altered.  The database version is 8.1.6.3

CREATE TABLE x
 (FILE_ID NUMBER(7,0) NOT NULL
 ,FILE_TYPE VARCHAR2(1) NOT NULL
 ,FILE_FORMAT VARCHAR2(1) NOT NULL
 ,FILE_NAME VARCHAR2(80) NOT NULL
 ,FILE_PRIVATE VARCHAR2(1) NOT NULL
 ,COMMENTS VARCHAR2(240)
 ,FILE_DATA BLOB
 ,DATE_CREATED DATE NOT NULL
 ,CREATED_BY VARCHAR2(30) NOT NULL
 ,DATE_UPDATED DATE
 ,UPDATED_BY VARCHAR2(30)
 ,CONTENT_TYPE VARCHAR2(240)
 ,CONTENT_DISPOSITION VARCHAR2(240)
 Lob(FILE_DATA) STORE AS loby 
 (TABLESPACE zzzzzzz
 PCTVERSION 5
 ENABLE STORAGE IN ROW
 CHUNK 8192
 NOCACHE LOGGING)

The bp_files table is in a tablespace with locally managed extents with a
uniform size 0f 128K.  The lob segment is
in a locally managed tablespace with 4 MB uniform extents.  Sizes of the
individual lobs vary with the largest one being just over 15 MB  The
avg_row_len of bp_files is 201 bytes.  The size of the lob segment according
to debasements is 742,391,808 bytes whereas  SELECT
SUM(dbms_lob.getlength(file_data)  from x is 729,736,842.   The difference
between these numbers averages less than 7 KB per BLOB. 

It appears you are trying to apply table physical attribute  parameters to
the lob segment.  Take a look at pctversion defined in the docs as ....

The maximum percentage of overall LOB storage space used for creating new
versions of the LOB. The default value is 10, meaning that older versions of
the LOB data are not overwritten until 10% of the overall LOB storage space
is used. 

You would set your pctversion to 0 if no updates will take place.    

Ian 




-----Original Message-----
Sent: Wednesday, March 06, 2002 9:54 AM
To: Multiple recipients of list ORACLE-L


I am in the process of storing 32Mb image files into a 8.1.7 database, I
have set
pct_free to 0, but I left pct_used at 90 and the tablespace is locally
managed with a 
uniform extent of 32Mb.  The database has a db_block_size of 8k. I am
considering moving it 
to 16k, as opposed to 32k, as it has a mix of smaller files ( > 8k, < 7Mb)
and then the larger tables ( 32 Mb).

When I loaded 4 images (to create one image), and analyzed the tables, I
received the following output.

Size (numrow*avg_row_len)       = 115,437,005  
Bytes (Segments)                = 167,772,160   
Blocks                          = 20,480       
Extents                         = 5

As you can see, I am wasting 50Mbs of space for 4 images.  I realize that if
I add another image to the larger
one, I most likely only waste 18 Mbs.

I have figured out that this wastage is due to the pct_used parameter.
After re-re-re-reading the documents, 
I should have set the pct_used higher then 90.

Question : Should I set pct_used to 100 or 99 ?  

Once these images are loaded,the tablespace will be set to READONLY. No
updates will occur.

Thanks

Darren
----------------------------------------------------------------------------
----------------------------------------------
Darren Browett P.Eng                                            This message
was transmitted
Data Administrator                                              using 100%
recycled electrons 
Information and Communication Technology
City of Coquitlam 
P:(604)927 - 3614 
E:[EMAIL PROTECTED] 
----------------------------------------------------------------------------
----------------------------------------------- 


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Browett, Darren
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: MacGregor, Ian A.
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Browett, Darren
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: MacGregor, Ian A.
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (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).

Reply via email to