Anda di halaman 1dari 19

TUGAS KELOMPOK MATA KULIAH ADMINISTRASI BASIS DATA CREATING DATABASE AND DATA PLACEMENT

Oleh:

Rizal Setya Perdana (0910680030) Hendro Pramudyo S (0910683050) Dhian Galang P (105060801111050) Dwi Fetiria Ningrum (105060800111038)

JURUSAN TEKNIK INFORMATIKA PROGRAM TEKNOLOGI INFORMASI & ILMU KOMPUTER UNIVERSITAS BRAWIJAYA MALANG 2012

A. Instalasi DB2 pada CentOS

1. Siapkan operating system Centos (pada percobaan menggunakan Centos versi 5.5 server version tanpa menggunakan GUI) pada sebuah virtual machine. Yang harus diperhatikan dalam menginstall server adalah kebutuhan minimum dari database server yaitu seperti pada gambar berikut :

Halaman login CentOS

: Login sebagai root :

2. Masukkan file instalasi ke sebuah direktori pada server menggunakan protokol sFTP (port 22) dengan tools seperti Filezilla :

3. Lakukan ekstraksi pada file instalasi dengan menggunakan perintah : tar -xvzf <nama file instalasi> . Akan ada direktori baru dengan nama expc. Lalu masuk ke dalam direktori tersebut dan akan ada file-file seperti dibawah ini :

Sebelum melakukan instalasi, terlebih dahulu kita membuat user baru dengan nama db2admin dengan perintah useradd db2admin dan tentukan password nya dengan perintah passwd db2admin. Buat user baru sebagai administrator server dengan nama db2adminserver.

4. Langkah selanjutnya adalah melakukan proses instalasi dengan memanggil perintah : ./db2_install dan ikuti langkah-langkah yang ada. 5. Langkah selanjutnya adalah mendaftarkan user db2admi agar bisa masuk pada instance /opt/ibm/db2/V10.1/instance/db2icrt -a SERVER -p 43210 -u db2admin db2admin. 6. Langkah selanjutnya yaitu menambahkan akun untuk administrator yaitu : /opt/ibm/db2/V10.1/instance/dascrt db2adminserver 7. Langkah selanjutnya login dengan menggunakan user db2admin dan siap menggunakan database.

B. Pembuatan Database
Proses pembuatan database menggunakan perintah create database secara implisit akan terkatalog. Sedangkan database akan secara eksplisit terkatalog ketika kita menggunakan perintah catalog database. Direktori lokal database akan terbentuk dimana database tersebut didefinisikan. Satu direktori mewakili satu database yang terbentuk. a. Syarat user yang dapat melakukan proses pembuatan database: Dalam membuat database syarat seorang user haruslah : SYSADM, SYSCTRL. Membutuhkan koneksi terhadap suatu instance. b. Ketika proses pembuatan database dilakukan, maka proses yang dilakukan antara lain : 1. Seluruh sistem tabel katalog yang dibutuhkan oleh database akan ter-setting/terbentuk. (DB2 maintains a set of tables that contain information about the data that DB2 controls. These tables are collectively known as the catalog). 2. Mengalokasikan log recovery dari database. 3. Pembentukan file konfigurasi dan nilai konstanta default yang ada pada konfigurasi database. 4. Penentuan utilitas dari database beserta pengaturan-pengaturannya. 5. Pembentukan tiga buah Table Space (katalog, temporary, userspace1). c. Perintah untuk membuat database : CREATE DATABASE <nama database> d. Opsi-opsi dalam membuat database : Menentukan jumlah partisi database untuk bagian katalog dari database. Penentuan letak media penyimpanan. Jika penyimpanan otomatis tidak ditentukan, maka database yang dibuat tidak memiliki penyimpanan otomatis. Jika penyimpanan otomatis ditentukan, maka penyimpanan tersebut tersedia di database. Panjang maksimum dari path adalah 190 karakter. Menentukan code set yang digunakan untuk memasukkan data ke database. Setelah database dibuat maka code set tidak bisa diubah.

Jika penyimpanan otomatis tersedia, DBPATH ON ditentukan pada saat database dibuat. Jika penyimpanan otomatis tidak ada dan DBPATH tidak ditentukan, database dibuat pada path awal yang ada pada ON. Menentukan wilayah yang akan digunakan untuk data yang dimasukkan ke database ini. Setelah database dibuat, kita tidak dapat mengubah wilayah tertentu. COLLATING USING (set karakter teks yang digunakan untuk menyimpan data). Macam-macamnya adalah COMPATIBILITY, IDENTITY_16BIT, UCA400_NO,UCA400_LTH, NLSCHAR, SYSTEM. Menentukan ukuran standar ketika ada perbesaran/perubahan ukuran data. Menentukan apakah database dilakukan konfigurasi secara otomatis. Menentukan pembentukan tabel space untuk katalog, temporary, userspace1.

e. Default Database Ketika pembentukan database secara default maka akan terbentuklah : 1. SYSCATSPACE : Digunakan untuk tabel katalog sistem. 2. TEMPSPACE1 : Digunakan sebagai tabel temporari sistem. 3. USERSPACE1 : Digunakan untuk menyimpan secara default objek-objek yang dibuat user. Dari ketiga tabel space tersebut tabel SYSCATSPACE tidak bisa di drop, TEMPSPACE1 bisa di drop ketika sudah terbentuk tabel space untuk temporary lain sudah terbentuk, USERSPACE1 juga bisa di drop ketika sudah terbentuk tabel space untuk user space lain. f. The System Catalog Tabel-tabel yang ada pada sistem katalog adalah tabel-tabel yang berisi informasi tentang objek-objek (tables, views, indexes, and packages dll) serta informasi kemanan dan tipe akses masing-masing objek. Keseluruhan tabel yang ada disimpan pada tabel space SYSCATSPACE.

g. The directory structure Pada saat kita memanggil perintah untuk membuat database, kita dapat menentukan letak drive atau direktori mana pada direktori sistem, peletakan dipengaruhi oleh sistem operasi apa yang digunakan. Apabila tidak didefinisikan dimana letak penempatan direktori database, maka secara default database direktori akan diletakan pada DFTDBPATH instance yang merupakan konstanta konfigurasi. Apabila tidak didefinisikan dimana letak penempatan dan pada konstanta DFTDBPATH tidak ter-set, maka database akan ditempatkan pada path dimana perintah CREATE DATABASE telah dieksekusi.

Ilustrasi susunan direktori database ketika menggunakan perintah CREATE DATABASE

Pada ilustrasi diperlihatkan bahwa penamaan sub direktori pertama setelah drive/path dengan nama pemilik instance yang telah dibuat. Dibawah direktori tersebut terdapat direktori yang merupakan indikasi apakah database telah dipartisi atau tidak, misal pada contoh diatas NODE0000, angka 0 merupakan indikasi bahwa database tidak dipartisi. Pada datrabase yang dipartisi maka penamaan direktori adalah sebagai berikut NODExxxx, dimana xxxx adalah 4 digit angka yang menunjukkan partisi yang telah diatur pada file db2nodes.cfg. Sebagai contoh untuk partisi nomor 43, maka direktori akan diberi nama NODE0043. Selanjutnya pada direktori partisi terdapat direktori untuk masing-masing database. Karena satu instance dapat membuat lebih dari satu database, maka nampak pada ilustrasi terdapat direktori SQL00001 yang merupakan direktori yang menyimpan database. Apabila ada database lain, maka akan dibentuk direktori-direktori baru seperti SQL00002, SQL00003 dan seterusnya.

Perintah yang digunakan untuk melihat isi database apa saja yang ada pada sebuah instance adalah DB2 LIST DB DIRECTORY, maka akan muncul pesan sebagai berikut

Nampak pada gambar terdapat 2 buah database yang ada pada db2admin yaitu database TEST dan TEST_2. h. Perintah Pembuatan Database Linux/UNIX Untuk membuat database di direktori (file system) /database menggunakan perintah create database sample on /database Jika perintah ini dieksekusi dengan nama instance dbinst, pada server database dimana partisi 0 didefinisikan, struktur direktori yang terbuat adalah : /database/dbinst/NODE0000/sqldbdir /database/dbinst/NODE0000/SQL00001 i. Perintah Pembuatan Database di Windows Untuk membuat database di drive D:, gunakan perintah create database sample on D: Jika perintah ini dieksekusi dengan nama instance dbinst, pada server database dimana partisi 0 didefinisikan, struktur direktori yang terbuat adalah : D:/dbinst/NODE0000/sqldbdir D:/dbinst/NODE0000/SQL00001 Pembuatan table space USERSPACE1 sebagai DMS Untuk membuat sebuah database dan mendefinisikan table space USERSPACE1 menjadi DMS dengan dua file menggunakan perintah berikut:

j.

Linux/UNIX create database sample2 user table space managed by database using (file /dbfiles/cont0 5000, file /dbfiles/cont1 5000) Windows create database sample2 user table space managed by database using (file c:/dbfiles/cont0 5000, file c:/dbfiles/cont1 5000) k. Pembuatan table space TEMPSPACE1 dengan User-Defined Untuk membuat database dan mendefinisikan table space TEMPSPACE1 dengan dua SMS, menggunakan perintah berikut : Linux/UNIX create database sample3 temporary tablespace managed by system using (/dbfiles/cont0, /dbfiles/cont1) Windows create database sample3 temporary tablespace managed by system using (c:/dbfiles/cont0, c:/dbfiles/cont1) l. Mengubah Collating Sequence di Database Perintah di UNIX : creates a database SAMPLE on /mydbs collate using identity atau creates a database SAMPLE on D: collate using identity Pembuatan sebuah database dan membandingkan strings per byte, dimulai dari penetapan collating sequence menjadi identity.

C. Buffer Pools
Buffer pool adalah area memori utama yang telah dialokasikan oleh database manager untuk tujuan caching tabel dan data index seperti yang di baca dari disk dan setiap DB2 harus memiliki buffer pool. a. Menggunakan Buffer Pools Ketika baris data dalam sebuah tabel pertama kali diakses, database manager menempatkan halaman yang berisi data ke dalam buffer pool. Halaman (Page) akan tetap berada dalam buffer pool sampai database dimatikan atau sampai ruang yang ditempati oleh halaman diperlukan oleh halaman lain. b. Hubungan Antara Table Space dan Buffer Pool Ketika merancang buffer pool, kita harus memahami hubungan antara table space dan buffer pool. Setiap table space dikaitkan dengan buffer pool tertentu. IBMDEFAULTBP adalah buffer pool default. Untuk mengasosiasikan buffer pool yang lain dengan table space,

buffer pool harus tersedia dan keduanya harus mempunyai ukuran halaman yang sama. Asosiasi akan di definisikan ketika table space telah terbuat (menggunakan statement CREATE TABLESPACE) , tetapi dapat juga diubah di waktu yang lain (menggunakan statement ALTER TABLESPACE). Memiliki lebih dari satu buffer pool memungkinkan untuk mengkonfigurasi memori yang digunakan oleh database untuk meningkatkan kinerja secara keseluruhan. Misalnya, jika ada sebuah table space yang lebih besar dari memori yang tersedia yang diakses secara acak oleh user, maka ukuran dari buffer pool dapat dibatasi, karena proses cache data tidak memungkinkan. Table space untuk aplikasi transaksi online mungkin terkait dengan buffer pool yang lebih besar, sehingga halaman data yang digunakan oleh aplikasi dapat di cache lagi, sehingga waktu respon akan lebih cepat. c. Buffer pool page sizes Ukuran halaman buffer pool secara default ditentukan ketika menggunakan perintah CREATE DATABASE. Hal ini mewakilli ukuran halaman default untuk semua perintah CREATE BUFFERPOOL dan CREATE TABLESPACE selanjutnya. Jika tidak dispesifikasikann terlebih dahulu ketika membuat database maka ukuran halaman adalah 4KB. Buffer pool dibutuhkan karena mempunyai karakteristik yang berbeda dengan sistem buffer pool. Buffer pool baru dapat dibuat di database manager. Penentuan ukuran halaman yang digunakan untuk buffer pool sangat penting karena buffer pool tidak dapat diubah ketika membuat buffer pool. d. Creating buffer pools Untuk mendefinisikan buffer pool baru untuk digunakan oleh database manager, gunakan statement CREATE BUFFERPOOL. Contoh statement dasar nya: CREATE BUFFERPOOL <buffer pool name> PAGESIZE 4096 DATABASE PARTITION GROUP <db partition group name> Buffer Pool dapat menjadi aktif dengan segera jika terdapat memori yang tersedia. Diperlukan adanya memori yang cukup pada komputer untuk total semua buffer pool yang telah dibuat. Sistem operasi juga membutuhkan beberapa memori untuk beroperasi. Pada database yang dipartisi, Anda juga dapat menentukan buffer pool yang akan dibuat berbeda, termasuk ukuran yang berbeda, pada setiap partisi database. Secara default semua DBPARTITIONNUMS menunjukkan bahwa buffer pool akan dibuat pada semua partisi database dalam database. e. Modifying Buffer Pools Ada beberapa alasan untuk memodifikasi buffer pool seperti adanya self-tuning memory. Perintah untuk modifikasi buffer pool yaitu ALTER BUFFERPOOL. ID yang diperbolehkan untuk perintah tersebut harus memiliki otoritas sebagai SYSCTRL atau SYSADM. Salah satu hal yang harus dikerjakan ketika bekerja dengan buffer pool :

Adanya self tuning untuk buffer pool, mengizinkan database manager untuk menyesuaikan ukkuran buffer pool jika bekerja berlebihan. Memodifikasi block area buffer pool untuk block-based I/O Menambahkan buffer pool ke sebuah grup partisi database baru Memodifikasi ukuran buffer pool pada beberapa atau semua partisi database

Untuk mengubah buffer pool menggunakan command line, lakukan hal berikut ini : Dapatkan nama buffer pool yang ada di database menggunakan perintah berikut SELECT BPNAME FROM SYSCAT.BUFFERPOOLS Pilih nama buffer pool dari daftar Tentukan perubahan yang ingin dilakukan Pastikan ID yang diperbolehkan untuk menjalankan perintah ALTER BUFFERPOOL Gunakan perintah ALTER BUFFERPOOL untuk mengubah satu atribut obyek buffer pool. Contoh : ALTER BUFFERPOOL buffer pool name SIZE number of pages - nama buffer pool adalah salah satu bagian yang mengidentifikasikan sebuah buffer pool di kalaog sistem. - Jumlah halaman adalah jumlah halaman baru yang dialokasikan pada buffer pool yang telah dispesifikasikan. Perintah ini juga dimiliki DBPARTITIONNUM <db partition number> yang menspesifikasikan partisi database sesuai ukuran buffer pool yangg dimodifikasi. Jika klausa ini tidak dispesifikasikan, ukuran buffer pool dimodifikasi di semua partisi database kecuali SYSCAT.BUFFERPOOLDBPARTITIONS.

f.

Dropping Buffer Pools Saat menghapus buffer pools, pastikan tidak ada table space yang berada di buffer pools tersebut. Buffer pool IBMDEFAULTBP tidak bisa dihapus. Disk penyimpanan tidak bisa dibebaskan hingga koneksi database berikutnya. Memori penyimpanan sebenarnya tidak dilepas dari buffer pool yang dihapus hingga database dihentikan. Memori buffer pool segera dibebaskan untuk digunakan database manager. Perintah menghapus buffer pool : DROP BUFFERPOOL <buffer pool name>

D. TABLE SPACE
Table Space adalah suatu struktur penyimpanan yang didalamnya terdapat tabel, index, objekobjek berukuran besar dan panjang. Table space digunakan dalam melakukan pengorganisiran data yang ada di dalam database secara logikal dan hubungannya dengan objek-objek lain yang disimpan dalam sistem. Keunggulan melakukan pengaturan data menggunakan Table Space adalah : Recoverability Proses dalam backup atau restore objek yang ada dalam tabel space akan semakin mudah dilakukan. Apabila proses backup/restore yang dilakukan hanya terkait pada 1 buah table space, maka dapat dilakukan hanya dengan memanggil 1 buah perintah saja.

More tables Dalam table space terdapat batasan dalam menampung jumlah tabel, apabila kapasitas tabel yang ada dalam sebuah tabel space sudah tidak mencukupi, maka dapat dilakukan pembuatan table space baru. Storage flexibility Penggunaan table space dapat memungkinkan bagi kita untuk secara fleksibel device penyimpanan mana yang hendak kita gunakan. Ability to isolate data in buffer pools for improved performance or memory utilization Kita dapat secara mudah merubah suatu tabel atau indexes yang sering digunakan dengan merubahnya menjadi suatu table space yang memiliki suatu buffer pool tersendiri, sehingga proses yang dijalankan akan lebih cepat.

a. Diagram struktur table space :

b. Table Space untuk Sistem, User dan Data Sementara Tiap database minimal harus memiliki kumpulan table space yang digunakan untuk penyimpanan sistem, user dan data sementara. Sebuah database setidaknya terdiri dari tiga table space : Katalog table space Satu atau lebih user table space Satu atau lebih temporary table space c. Catalog Table Space Katalog table space terdiri dari semua tabel sistem katalog untuk database. Table space ini disebut SYSCATSPACE dan tidak bisa dihapus. d. User Table Space

User table space terdiri dari table yang didefinisikan user. Secara default, satu user table space, USERSPACE1, terbentuk. Jika table space tidak dispesifikasikan saat membuat database, database manager yang menentukan. Ukuran halaman table space menentukan panjang maksimum baris atau jumlah kolom yang bisa dimiliki sebuah tabel. Ukuran default halaman dideklarasikan ketika membuat database baru. Sekali ukuran default halaman dideklarasikan, pembuatan table space dengan ukuran satu halaman tabel masih dibolehkan dan perbedaan table space dengan ukuran halaman berdasarkan data LOB. e. Temporary Table Space Table Space sementara terdiri dari tabel sementara. Table space sementara bisa saja system temporary table spaces atau user temporary table spaces. Sistem table space sementara menyimpan data sementara yang dibutuhkan oleh database manager ketika eksekusi dijalankan. Tipe operasi ini membutuhkan space ekstra untuk memproses hasil. Sebuah database setidaknya harus memiliki satu system temporary table space, secara default disebut TEMPSPACE1 ketika pembuatan database. Ketika proses query, database manager membutuhkan akses ke system temporary table space dengan ukuran halaman yang cukup besar untuk manipulasi data yang berkaitan dengan query tersebut. User temporary table spaces menyimpan data sementara dari tabel yang dibuat dengan perintah DECLARE GLOBAL TEMPORARY TABLE atau CREATE GLOBAL TEMPORARY TABLE. Agar diperbolehkan mendefinisikan atau membuat tabel sementara, satu user temporary table space harus dibuat dengan hak USE. Hak USE diberikan dengan perintah GRANT. f. Table Space and Storage Management Tiga tipe table space yang diketahui : 1. System Managed Space (SMS) dimana file manager sistem operasi mengontrol tempat penyimpanan setelah menentukan lokasi untuk menyimpan file database. 2. Database Management System (DMS) dimana database manager mengontrol penggunaan tempat penyimpanan ketika tempat penyimpanan dialokasikan. 3. Automatic storage table space dimana database manager mengontrol pembuatan tempat sesuai kebutuhan. g. System managed space Dalam sebuah SMS (System Managed Space) table space, file sistem operasi sistem Manajer mengalokasikan dan mengelola ruang (space) di mana tabel disimpan. Berbeda dengan database managed (DMS) table spaces, ruang penyimpanan tidak dialokasikan sebelum table space dibuat, melainkan dialokasikan pada saat pembuatan. Model penyimpanan SMS terdiri dari file yang mewakili objek database, misalnya, masing-masing tabel memiliki setidaknya satu file fisik (physical file) yang terkait dengannya. Ketika Anda mengatur table space, Anda menentukan lokasi file dengan menciptakan wadah. Masing-masing wadah di SMS table space dikaitkan dengan nama folder yang bersifat absolut atau relatif. Masing-masing folder(direktori) dapat terletak pada penyimpanan fisik yang berbeda perangkat atau sistem file. Para database manager mengontrol nama-nama file yang dibuat untuk objek-objek di setiap wadah, dan sistem file bertanggung jawab untuk mengelola mereka.

h. Database managed space Dalam sebuah DMS (database managed space) table space, database manajer mengontrol ruang penyimpanan. Tidak seperti SMS table space, ruang penyimpanan yang dipraalokasikan pada file sistem berdasarkan definisi wadah yang Anda tentukan ketika Anda membuat DMS table space. Model penyimpanan DMS terdiri dari sejumlah file atau perangkat yang terbatas dan dikelola oleh database manager. Anda yang menentukan file dan perangkat untuk digunakan saat membuat wadah, dan Anda mengelola ruang untuk file-file dan perangkat tersebut. Sebuah DMS table space yang berisi tabel dan data yang ditetapkan pengguna dapat didefinisikan sebagai table space besar (default) atau reguler yang menyimpan semua table data atau index data. Ukuran maksimum table space reguler adalah 512 GB untuk halaman berukuran 32KB. Untuk ukuran maksimum table space besar (large table space) adalah 64 TB. Lihat "batas SQL dan XML" dalam Referensi SQL untuk ukuran maksimum table space reguler untuk ukuran halaman lainnya. Ada dua pilihan untuk wadah ketika bekerja dengan DMS table space : file dan perangkat baku. Ketika bekerja dengan wadah file, database manager mengalokasikan seluruh wadah pada pembuatan table space. Ketika bekerja dengan wadah perangkat baku (raw devices), database manager perlu mengontrol seluruh perangkat. i. Automatic storage table spaces Dengan Automatic storage table spaces, ruang penyimpanan akan dikelolas secara otomatis. Database manager menciptakan dan memperluas kontainer yang diperlukan sampai batas yang ditentukan oleh jalur penyimpanan yang berhubungan dengan database. Dengan penyimpanan table space otomatis, kita tidak diharuskan untuk memberikan definisi kontainer. Database manager terlihat setelah menciptakan dan memperluas kontainer untuk memanfaatkan penyimpanan yang dialokasikan ke database. Automatic storage table spaces dapat dibuat menggunakan perintah CREATE TABLESPACE. Secara default, table space baru di dalam database dimana penyimpanan otomatis diaktifkan merupakan automatic storage table spaces, sehingga klausa MANAGED BY AUTOMATIC STORAGE adalah opsional. Contoh beberapa statement untuk membuat automatic storage table spaces: CREATE TABLESPACE TS1 CREATE TABLESPACE TS2 MANAGED BY AUTOMATIC STORAGE CREATE TEMPORARY TABLESPACE TEMPTS CREATE USER TEMPORARY TABLESPACE USRTMP MANAGED BY AUTOMATIC STORAGE CREATE LARGE TABLESPACE LONGTS CREATE TABLESPACE TS3 INITIALSIZE 8K INCREASESIZE 20 PERCENT MANAGED BY AUTOMATIC STORAGE CREATE TABLESPACE TS4 MAXSIZE 2G Ketika membuat sebuah table space di database yang penyimpanan otomatisnya tidak diaktifkan, anda tidak bisa menggunakan klausa MANAGED BY AUTOMATIC STORAGE, dan anda harus: Tentukan klausa MANAGED BY SYSTEM atau MANAGED BY DATABASE dari statement CREATE TABLESPACE.

Mengkonversi database menjadi automatic storage database, kemudian ulangi lagi untuk membuat automatic storage table space.

j.

Reduce Automatic storage table spaces Anda dapat mengurangi automatic storage table spaces dengan beberapa cara: 1. Container Reduction Only Dengan opsi ini, tidak ada perluasan yang dipindahkan. Database manager mencoba untuk mengurangi ukuran kontainer dengan cara membebaskan perluasan dimana ada proses penghapusan yang tertunda. Kemudian kontainer akan diukur ulang sehingga total jumlah ruang di table space sama atau lebih tinggi dari high watermark. Operasi ini dilakukan menggunakan statement ALTER TABLESPACE dengan klausa REDUCE terhadap dirinya. 2. Lower high water mark only Dengan opsi ini, jumlah maksimum perluasan dipindahkan untuk menurunkan high watermark, bagaimanapun, tidak ada operasi pengukuran ulang kontainer yang dilakukan. Operasi ini dilakukan dengan menggunakan statement ALTER TABLESPACE dengan klausa LOWER HIGH WATER MARK terhadap dirinya. 3. Lower high water mark and reduce containers by a specific amount Dengan opsi ini, anda dapat menentukan jumlah absolut dalam kilo,mega, atau gigabytes yang digunakan untuk mengurangi table space. Operasi ini mencoba untuk mengurangi table space dengan hanya mengurangi ukuran kontainer saja, dengan membebaskan operasi penghapusan perluasan yang tertunda, dan mencoba untuk menurunkan high watermark. Operasi ini dilakukan menggunakan statement ALTER TABLESPACE dengan klausa REDUCE yang meliputi jumlah tertentu yang digunakan untuk mengurangi ukuran ruang tabel. 4. Lower high water mark and reduce containers the maximum amount possible Dalam hal ini, database manager memindahkan sebanyak mungkin perluasan untuk mengurangi ukuran table space dan kontainer nya. Operasi ini dilakukan dengan menggunakan statement ALTER TABLESPACE dengan klausa REDUCE MAX. Setelah proses pemindahan perluasan telah dimulai, Anda dapat mematikannya dengan statement ALTER TABLESPACE dengan klausa REDUCE STOP. Setiap perluasan yang telah dipindahkan telah berkomitmen, maka high watermark akan menurunkan sebanyak mungkin, dan kontainer akan diukur ulang menjadi high watermark yang rendah.

k. DMS table spaces DMS table spaces dapat dikurangi dengan dua cara, yaitu :: 1. Pengurangan Container Dengan pilihan ini, tidak ada yang dipindahkan. Database manager mencoba mengurangi ukuran container dengan membebaskan luasan pertama dimana penghapusan ditunda. Jika high water mark berada di extents yang dibebaskan, maka high water mark diturunkan. Selanjutnya, container yang ukurannya sesuai jumlah total tempat di table space sama atau lebih tinggi daripada high water mark. Operasi ini menggunakan ALTER TABLESPACE dengan klausa REDUCE database-container itu sendiri.

2. Lower high water mark only Dengan pilihan ini, jumlah maksimum luasan yang dipindahkan untuk menurunkan high water mark, bagaimanapun, tidak ada perubahan ukuran container yang dilakukan. Operasi ini menggunakan ALTER TABLESPACE dengan klausa LOWER HIGH WATER MARK itu sendiri. l. Considerations when choosing table spaces for your tables Ketika menentukan cara untuk memetakan tabel untuk tables spaces, Anda harus mempertimbangkan distribusi tabel Anda, jumlah dan jenis data dalam tabel, dan administrative issues. The distribution of your tables

Minimal, Anda harus memastikan bahwa table space yang Anda pilih berada dalam kelompok partisi database dengan distribusi yang Anda inginkan. The amount of data in the table Jika Anda berencana untuk menyimpan banyak tabel kecil di table space, pertimbangkan untuk menggunakan SMS table space. Keunggulan DMS tidak begitu penting pada tabel kecil. Keuntungan SMS, lebih berguna pada tabel-tabel kecil. Tetapi jika Anda punya tabel yang lebih besar, atau Anda memerlukan akses cepat ke data dalam tabel, DMS table space dengan ukuran kecil dapat Anda dipertimbangkan. Anda bisa menggunakan table space terpisah untuk setiap tabel yang sangat besar, dan semua tabel kecil dikelompokan bersama-sama dalam table space tunggal. Pemisahan ini juga memungkinkan Anda untuk memilih ukuran yang sesuai berdasarkan batas penggunaan table space.

The type of data in the table Anda mungkin, misalnya, memiliki tabel yang berisi data historis yang jarang digunakan, pengguna mungkin bersedia menerima respon yang lebih lama untuk query yang dijalankan terhadap data ini. Dalam situasi ini, Anda bisa menggunakan table spaces yang berbeda untuk tabel historis, dan mengaplikasi perangkat yang lebih murah walaupun memiliki tingkat akses lambat. Atau, Anda mungkin dapat mengidentifikasi beberapa tabel penting yang datanya harus cepat tersedia kapan pun dibutuhkan. Anda dapat menempatkan tabel tersebut ke dalam table spaces dengan perangkat hardware handal yang dapat membantu mendukung kepentingan data. Menggunakan DMS table spaces, Anda juga dapat mendistribusikan data tabel Anda di empat table spaces yang berbeda: satu untuk data indeks, satu untuk large object (LOB) dan long field (LF) data, satu untuk tabel data biasa, dan satu untuk data XML. Hal ini memungkinkan Anda untuk memilih karakteristik table spaces dan hardware perangkat pendukung table spaces sesuai data. Misalnya, Anda bisa memasukkan data indeks Anda pada perangkat tercepat yang telah tersedia, dan sebagai hasilnya, memperoleh peningkatan kinerja yang signifikan. Jika Anda membagi tabel di DMS table spaces, Anda harus mempertimbangkan membackup dan memulihkan (restore) table spaces secara bersama-sama jika roll-forward recovery diaktifkan. SMS table spaces tidak mendukung distribusi data antar table spaces.

Administrative issues Beberapa fungsi administratif dapat dilakukan pada tingkat table space bukan pada tingkat database atau tabel. Misalnya, mengambil cadangan dari table space bukan database dapat membantu Anda menggunakan waktu dan sumber daya Anda dengan lebih baik. Hal ini memungkinkan Anda untuk sering mem-back up table space dengan perubahan yang besar, sementara hanya butuh sesekali mem-back up table space dengan perubahan yang sedikit. Anda dapat mengembalikan(restore) database atau table space. Jika tabel terkait tidak berbagi table space, Anda bisa mengembalikan hanya sebagian kecil database. Pendekatan yang baik adalah dengan mengelompokkan tabel terkait dalam satu set table space. Tabel tersebut dapat berhubungan melalui referential constraints, atau melalui business constraints. Jika Anda perlu untuk sering drop(hapus) dan mendefinisikan tabel tertentu, Anda mungkin ingin untuk mendefinisikan tabel tersebut di table space tersendiri, karena lebih efisien untuk drop DMS table space daripada untuk drop table.

m. Ukuran Halaman, Tabel dan Table Space Untuk DMS, DMS sementara dan penyimpanan otomatis table space, ukuran halaman yang digunakan untuk database ditentukan dengan batas atas ukuran table space. Untuk tabel di SMS dan penyimpanan otomatis table space, ukuran halaman terbatas ukuran tabel itu sendiri. Batasan ukuran untuk DMS dan penyimpanan otomatis table

space. Batasan ukuran untuk SMS dan penyimpanan otomatis table

space. n. Membuat Table Space Membuat table space dalam database yang memiliki tempat untuk table space dan mencatat definisi dan atribut di sistem katalog database. Untuk penyimpanan table space otomatis, database manager menetapkan tempat table space berdasarkan tempat penyimpanan yang berhubungan dengan database. Untuk penyimpanan table space non-otomatis, harus mengetahui letak device atau nama file yanng digunakan ketika membuat table space. Perintah membuat table space SMS : CREATE TABLESPACE name MANAGED BY SYSTEM USING ('path')

Perintah membuat table space DMS : CREATE TABLESPACE name MANAGED BY DATABASE USING (FILE 'path' size) Perintah membuat penyimpanan table space otomatis : CREATE TABLESPACE name atau CREATE TABLESPACE name MANAGED BY AUTOMATIC STORAGE o. Membuat Temporary Table Space Untuk membuat system temporary table space selain default TEMPSPACE1, menggunakan perintah: CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp MANAGED BY SYSTEM USING ('d:\tmp_tbsp','e:\tmp_tbsp') Untuk membuat system temporary table space, menggunakan perintah CREATE TABLESPACE dengan USER TEMPORARY. Contoh : CREATE USER TEMPORARY TABLESPACE usr_tbsp MANAGED BY DATABASE USING (FILE 'd:\db2data\user_tbsp' 5000, FILE 'e:\db2data\user_tbsp' 5000) p. Mengubah Table Space Untuk mengubah table space gunakan perintah ALTER TABLESPACE. Berdasarkan tipe table space dapat dilakukan hal-hal berikut : Menambah ukuran table space dengan menambah container Mengubah ukuran container yang telah ada Menghapus container Menyeimbangkan table space untuk mulai menggunakan container baru atau memindahkan data keluar dari container Menurunkan high water mark untuk table space Mengurangi ukuran keseluruhan table space q. Mengubah Nama Table Space Menggunakan perintah RENAME TABLESPACE untuk mengubah nama table space. Nama table space SYSCATSPACE tidak bisa diubah. Ketika mengembalikan table space yang telah diubah namanya setelah di back-up, gunakan nama table space baru dengan perintah RESTORE DATABASE. Pengubahan nama table space menyebabkan semua catatan katalog yang berkaitan dengan table space tersebut berubah. r. Menghapus Table Space Saat table space dihapus, semua data yang ada di table space terhapus, membersihkan tempat, menghapus masukan katalog, dan menyebabkan semua objek yang didefinisikan di table space ikut terhapus. Untuk menghapus table space menggunakan perintah DROP TABLESPACE.

Menghapus User Table Space User table space yang terdiri dari semua data tabel termasuk index dan data LOB dapat dihapus. Untuk menghapus user table space menggunakan perintah : DROP TABLESPACE <nama> Selanjutnya perintah SQL untuk menghapus ACCOUNTING table space : DROP TABLESPACE ACCOUNTING

Menghapus User Temporary Table Space User temporary table space dapat dihapus jika tidak ada pendeklarasian atau pembuatan tabel sementara yang berada pada table space yang ditentukan. Ketika menghapus table space, tidak ada perintah untuk menghapus semua yang dideklarasikan atau pembuatan tabel sementara di table space.

Menghapus System Temporary Table Spaces System temporary table space yang berukuran 4KB tidak dapat dihapus tanpa membuat system temporary table space lain terlebih dahulu. System temporary table space yang baru harus berukuran 4KB karena database setidaknya memiliki satu system temporary table space yang berukuran 4KB. Perintah untuk membuat sebuah system temporary table space : CREATE SYSTEM TEMPORARY TABLESPACE <name> MANAGED BY SYSTEM USING ('<directories>') Perintah untuk menghapus system table space : DROP TABLESPACE <nama> Selanjutnya, untuk membuat sebuah system temporary table space yang disebut TEMPSPACE2 CREATE SYSTEM TEMPORARY TABLESPACE TEMPSPACE2 MANAGED BY SYSTEM USING ('d:\systemp2) Ketika TEMPSPACE2 dibuat, system temporary table space sebelumnya dapat dihapus dengan mengggunakan perintah : DROP TABLESPACE TEMPSPACE1

Sumber : - http://www.ibm.com/developerworks/data/tutorials/db2cert7012/db2cert7012-pdf.pdf - ftp://ftp.software.ibm.com/software/data/db2/express-c/wiki/GettingStartedwithDB2Express-C_V95-en.p -http://www-01.ibm.com/common/ssi/cgibin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS207085#Software