Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Oracle SAFE

Status
Not open for further replies.

listener22

Programmer
Jul 10, 2000
154
US
Hi -

Has anybody heard of an Oracle 'SAFE' program that
recommends using fixed initial extent and next extent sizes
of 128k, 4M, 128M, etc. for tables in corresponding tablespaces?
That is, there would be a tablespace, say tsp_128k, in which all
the tables would have 128k for initial extent and 128k for nextextent.
Then there would be a tablespace, say tsp_4M, in which
all the tables would have 4M for initial extent and 4M for nextextent.
Etc.

Someone told me that this is Oracle's new way to reduce tablespace
fragmentation. It sounds goofy to me, but have any of you heard of it?
Anybody planning to implement such a scheme?

Thanks.

Jim

oracle, vb, some javascript
 
Yes, I read about SAFE last year. It sounds like a really good idea. The basic concept is that it's impossible to get fragmentation if every single extent in a tablespace is exactly the same size. Unused "holes" in the TS created when segments get dropped are completely reusable, because the next allocation request is sure to be for the exact same amount of space.

There are two main leaps of faith in accepting this strategy: 1. Small tables that don't require the full extent size won't waste a lot of disk space. 2. There won't be significant performance problems from tables that go into hundreds of extents.

I hope to implement SAFE within the next few months, but it's significant work and the payoff isn't that dramatic, so it tends to get pushed back in favor of more urgent work.
 
Is the new scheme a step back from designing
tablespaces with the goal of reducing i/o contention?
Or can you still do that within its framework?
Thanks.


Jim

oracle, vb, some javascript
 
I don't think I/O contention is an issue with SAFE. You can still create as many tablespaces as you want and spread them over any number of disks. You can then distribute the tables to minimize contention. Just remember to make all extent sizes the same in any given tablespace.
 
Thanks. That sounds pretty sensible. What this guy was going to do, though,
was make one tablespace for all the tables that would have 8k initial and next
extents, one tablespace for all the tables that would have 128k initial and next,
one tablespace for all the tables that would have 4meg initial and next, and one
tablespace for all the tables that would have 128meg initial and next extents.
That doesn't seem to be what you're describing.

Jim

oracle, vb, some javascript
 
karluk, or others -

I didn't find much searching on SAFE at Oracle's website.
Have you got a reference url for it?
Thanks.

Jim

oracle, vb, some javascript
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top