Oracle database data is stored in data blocks.
One data block corresponds to a specific number of bytes of physical database space on disk. (e.g. 1 block = 16 Kbytes)
An extent is a specific number of contiguous data blocks, obtained in a single allocation, used to store a specific type of information.
A small table can fit in a single extent, a large table can require multiple extents.
The level of logical database storage above an extent is called a segment.
A segment is a set of extents allocated for a certain logical structure: Data /Index /Rollback/ Temporary segment. The allocation of extents for a given segment is handled different for Locally Managed Tablespaces and Dictionary Managed Tablespaces.
In general, the extents of a segment do not return to the tablespace until you drop the schema object whose data is stored in them.
Exceptions to this include the following:
- The TRUNCATE…DROP STORAGE statement.
- Rollback segments with the OPTIMAL size specified.
- Manual deallocation using the following SQL syntax:
ALTER TABLE table_name DEALLOCATE UNUSED;
After you DROP a nonclustered table Oracle makes the extents available for other schema objects in the same tablespace.
The block size of the SYSTEM tablespace is termed the standard block size. This is set when the database is created and can be any valid size.
Early versions of Oracle supported just one block size set at database creation, you can now specify up to four nonstandard block sizes, in addition to a standard block size.
In the initialization file, you can configure subcaches within the buffer cache for each of these block sizes. Subcaches can also be configured while an instance is running. You can create tablespaces having any of these block sizes.
The standard block size is used for the system tablespace and most other tablespaces. All partitions of a partitioned object must reside in tablespaces of a single block size. Multiple block sizes are useful primarily when transporting a tablespace from an OLTP database to an enterprise data warehouse.
ASM is a feature of Oracle 10g. ASM simplifies the organisation of disks and files by enabling ASM Disk Groups - logical units comprised of disks and the files that reside on them.
ASM can be used for:
- Online redo log files
- Control files
- Flashback recovery area files.
ASM works with raw devices, SAN based storage arrays, or NAS. I/O performance is maximized because files are optimally distributed (and mirrored) across the available devices. Configuration changes can be made while the database is online and the distribution will be re-balanced. ASM mirrors provide an extra layer of protection against data loss.
"Ever notice that the area of a department store containing completely useless objects is called 'gifts?' ~ Anon