Re: Tablespace size and VMS

From: Jef Kennedy <jkennedy_at_oracle.com>
Date: Sat, 10 Dec 1994 20:28:36 -0800
Message-ID: <jkennedy-1012942028360001_at_jkennedy-lap.us.oracle.com>


In article <1994Dec8.114141.1_at_gmuvax.gmu.edu>, bgilst_at_gmuvax.gmu.edu wrote:

> Hi,
> I am interested in how data is stored on a disk in VMS and how to determine
> if I can create an Oracle tablespace(single data file) on a disk. For example,

Oracle on OpenVMS uses RMS to create, open and close the files. For read and write I/O, Oracle uses calls to $QIO (this avoids caching by RMS which would be redundant seeing how the SGA is a cache).

> if I do the VMS command "SHO DEV D" to show all disks, if a disk says
> 200000 blocks, can I use all of the 200000 blocks to create a data file,
 or only
> the portion of that which is contiguous free space(lets say 150000 blocks is).

You can use the entire disk. RMS and QIO hide the fragmentation from Oracle. If you're concerned about performance, you might want to consider how fragmented the file is after you've made it. Once created, use the following DCL statement to show the retrieval pointers for the file:

   $ dump /header /block=count=0 <file>

You'll find the retreival (or mapping) pointers at the end of the listing. Count the number of 'em. That's how many fragments your file is in. You're also interested in window turns (the cache of retreival pointers), but that's a non-issue if your fragments are few.

> What I want to do is rebuild me database, which now may have a single
> tablespace in two data files, which causes extent problems if a contiguous
> chunk of space cannot be found in either file, although between the two there
> may be enough space.
> Basically, the question is whether I have to worry about the
> fragmentation of the disk itself.

Will is function? Yes. Will it perform? Depends...

Cheers.

-- 
Jef
  "...I wouldn't normally do this kind of thing." -- Pet Shop Boys
Received on Sun Dec 11 1994 - 05:28:36 CET

Original text of this message