1 / 24

Storage Structure dan Reationship

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

leona
Download Presentation

Storage Structure dan Reationship

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Storage Structure dan Reationship

  2. Segment Extent Extent Extent Hubungan Datablok, extent dan segment

  3. PARAMETER UNTUK KONTROL STORAGE • PCFTREE dan PCTUSED parameter 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 MAXTRANS mengontrol 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.

  4. DATA BLOK • Bagian terkecil dari unit penyimpan di oracle • Format data blok adalah sama, baik yang dipakai oleh index, cluster, ataupun store table

  5. 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

  6. Header Direktori Tabel Direktori Baris Ruang kosong Baris Data Struktur Blok Data Legenda

  7. 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….

  8. Header Header Ruang kosong Ruang kosong Direktori Tabel Direktori Tabel Baris Data Baris Data Direktori Baris Direktori Baris Proses pengisian Blok • 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% 20%

  9. Header Ruang kosong Direktori Tabel Baris Data Direktori Baris Proses pengisian Blok • Jika space yang digunakan kurang dari 40%(PCTUSED), blok ini dapat menerima masukan record lagi hingga mencapati 80%

  10. 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

  11. 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;

  12. 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.

  13. 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.

  14. 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

  15. AUTOMATIC SPACE MANAGEMENT • SQL> Create tablespace test_auto datafile 'd:\db\mydb1\autotab.ora' size 512k extent management local segment space management auto;

  16. EXTENTS • Merupakan kumpulan data blok yang saling berdampingan (kontigu) • Jika suatu segment membutuhkan tambahan space, maka akan ditambahkan dalam satuan extents

  17. 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

  18. Parameter Pengontrol Extents • MINEXTENTS  jumlah minimum extent yang dialokasikan ketika segment dibuat • MAXEXTENTS  jumlah maximum extent yang diperbolehkan dalam suatu segment

  19. 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);

  20. 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 :

  21. SEGMENTS

  22. 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

  23. 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

  24. 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 1 • SYSTEM 3080192 3080192 1 • TEST 5111808 5111808 1 • TOOLS 10420224 10420224 1 • TS1 3080192 3080192 1 • UNDOTBS1 983040 983040 1 • USERS 26148864 26148864 1

More Related