Tải bản đầy đủ (.ppt) (27 trang)

Storage Structure and Relationships pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (129.98 KB, 27 trang )

9
Copyright © Oracle Corporation, 2002. All rights reserved.
Storage Structure and Relationships
9-2
Copyright © Oracle Corporation, 2002. All rights reserved.
Objectives
After completing this lesson, you should be able to do
the following:

Describe the logical structure of the database

List the segment types and their uses

List the keywords that control block space usage

Obtain storage structure information
9-3
Copyright © Oracle Corporation, 2002. All rights reserved.
Storage and Relationship Structure
Database
PROD
DISK1/SYS1.dbf
DISK2/
USER1.dbf
DISK3/
USER2.dbf
DISK1/
UNDO1.dbf
DISK1/
TEMP.dbf
D.D.


Table
Data
Seg
D.D.
Index
Index
Seg
RB
Seg
S_DEPT
Data
Seg
S_EMP
Data
Seg
Temp
Temp
Seg
1 2 1 2 1 2 1 1 2 2 1 FREE 1 1 2 2 1
EXTENTS
S_DEPT
(cont'd)
Data
Seg
S_EMP
FIRST_N
AME
Index
Index
Seg

Oracle DATA BLOCKS
RBS1
(cont'd)
RB
Seg
RBS2
(cont'd)
RB
Seg
RBS1
RB
Seg
RBS2
RB
Seg
SEGMENTS
SYSTEM USER_DATA RBS TEMP
TABLESPACES
DATA FILES
9-4
Copyright © Oracle Corporation, 2002. All rights reserved.
Types of Segments
Table
Cluster
Table
partition
Index
9-6
Copyright © Oracle Corporation, 2002. All rights reserved.
Types of Segments

Index-organized
table
Index
partition
Undo
segment
Temporary
segment
9-7
Copyright © Oracle Corporation, 2002. All rights reserved.
Types of Segments
LOB
segmen
t
Bootstrap
segment
Nested
table
9-8
Copyright © Oracle Corporation, 2002. All rights reserved.
Storage Clause Precedence
Oracle default
Tablespace
Segment
9-9
Copyright © Oracle Corporation, 2002. All rights reserved.
Extent Allocation and Deallocation

An extent is a chunk of space used by a segment
within a tablespace.


An extent is allocated when the segment is:

Created

Extended

Altered

An extent is deallocated when the segment is:

Dropped

Altered

Truncated
9-10
Copyright © Oracle Corporation, 2002. All rights reserved.
Used and Free Extents
Data file
Free extentUsed extentFile header
9-11
Copyright © Oracle Corporation, 2002. All rights reserved.
Database Block

Minimum unit of I/O

Consists of one or more operating system blocks

Set at tablespace creation


DB_BLOCK_SIZE is the default block size
9-12
Copyright © Oracle Corporation, 2002. All rights reserved.
Multiple Block Size Support

A database can be created with a standard block
size and up to four nonstandard block sizes.

Block sizes can have any power-of-two value
between 2 KB and 32 KB.
9-13
Copyright © Oracle Corporation, 2002. All rights reserved.
Standard Block Size

Set at database creation using the DB_BLOCK_SIZE
parameter; cannot be changed without re-creating
the database

Used for SYSTEM and TEMPORARY tablespaces

DB_CACHE_SIZE specifies the size of the DEFAULT
buffer cache for standard block size:

Minimum size = one granule (4 MB or 16 MB)

Default value = 48 MB
9-14
Copyright © Oracle Corporation, 2002. All rights reserved.
9-15

Copyright © Oracle Corporation, 2002. All rights reserved.
Nonstandard Block Size

Configure additional caches with the following
dynamic parameters:

DB_2K_CACHE_SIZE for 2 KB blocks

DB_4K_CACHE_SIZE for 4 KB blocks

DB_8K_CACHE_SIZE for 8 KB blocks

DB_16K_CACHE_SIZE for 16 KB blocks

DB_32K_CACHE_SIZE for 32 KB blocks

DB_nK_CACHE_SIZE is not allowed
if nK is the standard block size.

Minimum size for each cache is one granule.
9-17
Copyright © Oracle Corporation, 2002. All rights reserved.
Creating Nonstandard
Block Size Tablespaces
CREATE TABLESPACE tbs_1
DATAFILE 'tbs_1.dbf'
SIZE 10M BLOCKSIZE 4K;
DESCRIBE dba_tablespaces
Name Null? Type


TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER

9-19
Copyright © Oracle Corporation, 2002. All rights reserved.
Multiple Block Sizing Rules

All partitions of a partitioned object must reside in
tablespaces of the same block size.

All temporary tablespaces, including the permanent
ones that are being used as default temporary
tablespaces, must be of standard block size.

Index-organized table overflow and out-of-line LOB
segments can be stored in a tablespace with a block
size different from the base table.
9-20
Copyright © Oracle Corporation, 2002. All rights reserved.
Database Block Contents
Header
Free space
Data
9-21
Copyright © Oracle Corporation, 2002. All rights reserved.
Block Space
Utilization Parameters
INITRANS
MAXTRANS
PCTFREE

PCTUSED
9-23
Copyright © Oracle Corporation, 2002. All rights reserved.
Data Block Management
Two methods are available for managing data blocks:

Automatic segment-space management

Manual management
9-24
Copyright © Oracle Corporation, 2002. All rights reserved.
Automatic Segment-Space Management

It is a method of managing free space inside
database segments.

Tracking in-segment free and used space is done
using bitmaps as opposed to using free lists.

This method provides:

Ease of management

Better space utilization

Better performance for concurrent INSERT operations
9-25
Copyright © Oracle Corporation, 2002. All rights reserved.
Automatic Segment-Space Management


Bitmap segments contain a bitmap that describes
the status of each block in the segment with respect
to its available space.

The map is contained in a separate set of blocks
referred to as bitmapped blocks (BMBs).

When inserting a new row, the server searches the
map for a block with sufficient space.

As the amount of space available in a block
changes, its new state is reflected in the bitmap.
9-26
Copyright © Oracle Corporation, 2002. All rights reserved.
Configuring Automatic
Segment-Space Management

Automatic segment-space management can be
enabled at the tablespace level only, for locally
managed tablespaces.

After a tablespace is created, the specifications
apply to all segments created in the tablespace.
CREATE TABLESPACE data02
DATAFILE ‘/u01/oradata/data02.dbf’ SIZE 5M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K
SEGMENT SPACE MANAGEMENT AUTO;
9-27
Copyright © Oracle Corporation, 2002. All rights reserved.
Manual Data Block Management


Allows you to configure data blocks manually using
parameters such as:

PCTFREE

PCTUSED

FREELIST

The only method available in previous Oracle
versions
9-28
Copyright © Oracle Corporation, 2002. All rights reserved.
Block Space Usage
80%
80%
40%
Inserts
1 2
3 4
Inserts
PCTFREE=20 PCTUSED=40
Insert
(on freelist)
Inserts
(off freelist)
9-29
Copyright © Oracle Corporation, 2002. All rights reserved.
Obtaining Storage Information

Information about storage can be obtained by querying
the following views:

DBA_EXTENTS

DBA_SEGMENTS

DBA_TABLESPACES

DBA_DATA_FILES

DBA_FREE_SPACE

×