storage structure dan reationship

24
Storage Structure dan Reationship

Upload: leona

Post on 11-Jan-2016

180 views

Category:

Documents


0 download

DESCRIPTION

Storage Structure dan Reationship. Segment. Extent. Extent. Extent. Hubungan Datablok, extent dan segment. PARAMETER UNTUK KONTROL STORAGE. PCFTREE dan PCTUSED - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Storage Structure  dan Reationship

Storage Structure dan Reationship

Page 2: Storage Structure  dan Reationship

Hubungan Datablok, extent dan segment

datablockdatablockdatablock

………………………

………………………

………………………

datablockdatablockdatablock

Segment

Extent Extent Extent

Page 3: Storage Structure  dan Reationship

PARAMETER UNTUK KONTROL STORAGE

PCFTREE dan PCTUSEDparameter untuk mendefinisikan jumlah minimum prosentase blok yang harus disediakan (berupa free spaces) untuk operasi insert/update thd record yang ada dalam blok tersebut.

INITRANS dan MAXTRANSmengontrol jumlah concurent transaksi yang dapat

untuk memodifikasi ataupun create data pada suatu blok FREELIST

tiap-tiap segment mempunyai satu atau lebih free list yang digunakan untuk mencatat blok-blok kosong yang akan

digunakan untuk insert.

Page 4: Storage Structure  dan Reationship

DATA BLOK

Bagian terkecil dari unit penyimpan di oracle Format data blok adalah sama, baik yang

dipakai oleh index, cluster, ataupun store table

Page 5: Storage Structure  dan Reationship

Struktur Blok Data

Common and variable header header terdiri dari informasi mengenai blok beserta alamatnya. Type blok dapat berupa data,index ataupun undo. Common blok header terdiri dari 24 bytes

Table direktori bagian dari data blok yang berisi informasi mengenai table (terdiri dari 4 bytes)

Row Directori berisi informasi mengenai aktual row dalam blok. Menempati 4xjumlah baris.

Row data baris aktual yang disimpan di blok ini Free Spaces space yang tersedia untuk baris

baru.s

Page 6: Storage Structure  dan Reationship

Struktur Blok Data

Legenda

Header

Direktori Tabel

Direktori Baris

Ruang kosong

Baris Data

Page 7: Storage Structure  dan Reationship

PARAMETER PENGONTROL BLOK DATA

Terdiri dari PCTFREE dan PCTUSED Misal PCTFREE=20 dan PCTUSED =40, maka :

– Blok hanya bisa menerima data hingga terisi penuh 80%– Sisa 20% (PCTFREE) untuk operasi update– Saat blok terisi 80%, blok tidak dapat menerima record.– Blok dapat menerima data jika memiliki free space lebih

dari 60% space yang telah digunakan kurang dari 40% (PCTUSED)

– Selanjutnya blok dapat menerima data hingga 80%, demikian seterusnya….

Page 8: Storage Structure  dan Reationship

Proses pengisian Blok

Header

Direktori Tabel

Direktori Baris

Ruang kosong

Baris Data

Header

Direktori Tabel

Direktori Baris

Ruang kosong

Baris Data

20%

•Baris data hanya dapat mengisi datablok hingga 80% 20% untuk update baris yang sudah ada

•Tidak ada record baru yang dapat dimasukan hingga space dalam blok yang digunakan kurang dari 40%

Page 9: Storage Structure  dan Reationship

Proses pengisian Blok

Jika space yang digunakan kurang dari 40%(PCTUSED), blok ini dapat menerima masukan record lagi hingga mencapati 80%

Header

Direktori Tabel

Direktori Baris

Ruang kosong

Baris Data

Page 10: Storage Structure  dan Reationship

Contoh skenario PCTFREE dan PCTUSED

Operasi banyak melibatkan update yang meningkatkan ukuran record

– PCTFREE : 20– PCTUSED : 40

Operasi banyak melibatkan insert dan delete, tapi sedikit update yang meningkatkan ukuran record

– PCTFREE : 5– PCTUSED : 60 (free space dapat segera digunakan)

Ukuran table dengan baris sangat besar, operasi banyak melibatkan select, jarang sekali update

– PCTFREE : 3 (free space yang tidak digunakan sedikit mungkin)– PCTUSED : 40

Page 11: Storage Structure  dan Reationship

Default PCTFREE dan PCTUSED

Default untuk PCTFREE : 10 Default untuk PCTUSED : 40 PCTFREE dan PCTUSED dapat dbuat saat create

table – Create table mhs (

nim char(2),

nama varchar2(30))

PCTREE 20

PCTUSED 40;

Page 12: Storage Structure  dan Reationship

INITRANS dan MAXTRANS

InitTrans menentukan jumlah slot yang tersedia untuk transaksi pada sebuah blok

Setiap blok punya blok header yang salah satu bagiannya menyimpan transaction table, yaitu transaksi mana saja yang sedang melakukan locking pada record yang ada pada blok tersebut.

Jika terjadi multiple transaction, space pada blok header dialokasikan untuk setiap transaksi.

default InitTrans : 1 Untuk index blok : 2.

Page 13: Storage Structure  dan Reationship

INITRANS dan MAXTRANS

MaxTrans maksimum jumlah transaksi yang dapat dilakukan secara simultan pada suatu blok

Maximum nilai MaxTrans : 255

Jika kebanyakan baris berukuran besar dan sedikit user yang mengakses baris-baris tersebut, set InitTrans kecil.

Page 14: Storage Structure  dan Reationship

AUTOMATIC SPACE MANAGEMENT

Merupakan fitur baru pada oracle 9i Untuk menghindari adanya block contention,

atau menghitung berapa jumlah free list group dan berapa nilai PCTUSED yang optimal;

Disarankan digunakan untuk data-data yang tidak terstruktur, misal BLOB atau CLOB

Page 15: Storage Structure  dan Reationship

AUTOMATIC SPACE MANAGEMENT

SQL> Create tablespace test_auto

datafile 'd:\db\mydb1\autotab.ora' size 512k extent management local

segment space management auto;

Page 16: Storage Structure  dan Reationship

EXTENTS

Merupakan kumpulan data blok yang saling berdampingan (kontigu)

Jika suatu segment membutuhkan tambahan space, maka akan ditambahkan dalam satuan extents

Page 17: Storage Structure  dan Reationship

Parameter Pengontrol Extents

Initial ukuran pertama extent untuk sebuah segment, dialokasikan ketika segment dibuat pertama kali

Next ukuran extent kedua untuk segment PctIncrease parameter yang menentukan

berapa kali besar extent yang akan dibuat dibandingkan dengan besar extens sebelumnya

Page 18: Storage Structure  dan Reationship

Parameter Pengontrol Extents

MINEXTENTS jumlah minimum extent yang dialokasikan ketika segment dibuat

MAXEXTENTS jumlah maximum extent yang diperbolehkan dalam suatu segment

Page 19: Storage Structure  dan Reationship

Penggunaan parameter extent

SQL> Create tablespace test2

datafile 'd:\db\mydb1\myTest2.ora' size 512k autoextend on next

5M maxsize 20M default storage(initial 10K PCTIncrease 0 maxextents unlimited);

Page 20: Storage Structure  dan Reationship

SEGMENTS

• Merupakan unit logical storage yang terdiri dari satu atau lebih extents.

• Kumpulan Extents membentuk Segment.

• Ukuran segment adalah total dari seluruh ukuran extents

• Terdapat 11 jenis segment, yang dapat dikelompokan dalam table sebagai berikut :

Page 21: Storage Structure  dan Reationship

SEGMENTS

Tipe Segment Keterangan

CacheTak dapat dikendalikan oleh DBA, dikendalikan oleh instance

Undo Dapat dikendalikan, disebut juga rollback segmentTable Bisa dikendalikan, disebut juga data segment

Cluster Bisa dikendalikan, jarang digunakanIndex Bisa dikendalikan

Non-Segment Untuk operasi(procedure, function, triger), view,dll

SortKendali DBA minimal, disebut juga temporary segment

Table Partition Fitur baru (oracle 8)Index Partition Fitur baru (oracle 8)

Table subpartition Fitur baru (oracle 8i)Index subpartition Fitur baru (oracle 8i)

Page 22: Storage Structure  dan Reationship

Informasi struktur penyimpanan

Informasi struktur penyimpanan dapat dilihat melalui data dictionary view :– DBA_Segments informasi tentang segment– DBA_tablespaces informasi tentang

tablespaces– DBA_extents informasi tentang extents secara

detail (termasuk segmentnya)– DBA_free_space informasi tentang jumlah free

spaces

Page 23: Storage Structure  dan Reationship

Informasi struktur penyimpanan

SQL> select owner, segment_type, tablespace_name, file_id, bytes from dba_extents where owner='ALI';

OWNER SEGMENT_TYPE TABLESPACE_NAME FILE_ID BYTES

---------- ------------------------------------------------------------------------------------------------

ALI TABLE TEST 7 65536

ALI TABLE SYSTEM 1 65536

ALI TABLE SYSTEM 1 65536

Page 24: Storage Structure  dan Reationship

Informasi struktur penyimpanan

SQL> Select tablespace_name, max(bytes) largest,min(bytes) smallest, count(*) ext_count from dba_free_space group by tablespace_name;

TABLESPACE_NAME LARGEST SMALLEST EXT_COUNT------------------------------ ---------- ---------- ------------------------------------

INDX 10420224 10420224 1SYSTEM 3080192 3080192 1TEST 5111808 5111808 1TOOLS 10420224 10420224 1TS1 3080192 3080192 1UNDOTBS1 983040 983040 1USERS 26148864 26148864 1