Re: Oracle's use of tablespaces

From: <gerrit_at_vtm.be>
Date: Mon, 30 Aug 1993 17:24:32 GMT
Message-ID: <CCL1ow.AIB_at_vtm.be>


In article <grimes.746721508_at_access> grimes_at_access.digex.net (Seth Grimes) writes:
>holowcza_at_andromeda.rutgers.edu (Richard D Holowczak) writes:
>
>>grimes_at_access.digex.net (Seth Grimes) writes:
 

>>>Why does Oracle use tablespaces? On the balance, they seem unnecessarily
>>>complicated given the advantages they offer.
 

>> What would you do with the freed space if you had it ? You probably
>> would not want to use it up since the next time you wish to run a
>> query you'll need it back.
>
>Use it for other software. For instance, my office runs SAS, which needs
>temporary space for some of the same reasons Oracle does, e.g., sorting,
>temporary tables, etc. Why shouldn't Oracle share that space with SAS?
>
>> What happens when you guess wrong and the OS can't grab the space it
>> needs ? What should the query do ? Abort ? In a real production
>> environment, this kind of mistake can be very costly. I think Oracle
>> is just taking the safest road. Make sure space is available no
>> matter what else is going on.
>
>As I described, this did happen to me: I had a query that required a large
>amount of working space so I had to create a big (50 megabyte) TEMP
>tablespace. As it was, before I did this, the query aborted.
>
>The point is, why aren't tablespaces based on *quotas* instead of on
>grabbing the space? If having the space available is that critical, then
>I would dedicate a device not shared by other software to Oracle tablespace
>or set the quotas on other software sharing the device with Oracle low
>enough so that they won't affect Oracle operations.
>
> Seth
>
>>Rich Holowczak
>>Rutgers University
>>holowcza_at_andromeda.rutgers.edu

My guess is that as already mentioned to make Oracle independant of any disk space allocation at a low level. A tablespace is for me a logical seperation between a disk file (or something else) and a table. On UNIX it allows Oracle to use raw file systems instead of disk files which will speed up your database in some (and maybe many) cases. For those who know AIX : something like a Logical Volume Manager being a logical seperation of disks and file systems. If tomorrow any unix vendor or other operating system vendor would supply you with a disk space allocation "thing" completely different from what we know now as a file (e.g. an optical datacollection on some futuristic optical mass data storage facility) it would allow Oracle to support this with not much effort : they only have to adapt the link between the data storage facility of an OS and their implementation of a tablespace, without having to rewrite every piece of code like for creating a table, index, view, ... I guess it also allows you to use different types of data storage at the same time in an easy way.

Futhermore a tablespace allows you to manage your database more easyly : suppose you have three data disks : one for tables, one for indexes and one for temporary objects. Now you can create a tablespace for each type of dataobject on each disk and then you only have to specify for your indexes where to go (tables will go in the default table space for the user and temporary objects in the default temporary tablespace).

Of course : you can always create a temporary tablespace of 50M when you need it and afterwards drop it and remove the datafiles :-)

-- 
Gerrit Cap				
Vlaamse Televisie Maatschappij N.V.		e-mail :   gerrit_at_vtm.be
Medialaan 1					fax    : +32 2 253.12.21
B-1800 Vilvoorde Belgium			voice  : +32 2 255.38.72
Received on Mon Aug 30 1993 - 19:24:32 CEST

Original text of this message