DAFTAR ISI - System Manajemen Basis Data

1 DASAR PENYIMPANAN DATA

Overview

DBMS (Database Management System) adalah software yang dirancang untuk melakukan pengaturan pada data yang berjumlah besar dan saling berelasi. DBMS menyembunyikan setiap detail kompleksitas dalam penyimpanan, pengambilan dan pemrosesan data. Namun mahasiswa perlu memahami bagaimana data-data ini tersimpan di media penyimpanan.

Tujuan

1. Mahasiswa memahami konsep penyimpanan data pada DBMS

Dasar Penyimpanan Data 1

1.1 Pendahuluan

Kebutuhan akan ketersediaan data sangat diperlukan tidak hanya bagi perorangan tetapi juga untuk organisasi dari berbagai level. Organisasi memerlukan data yang akurat dan tersedia setiap saat, untuk membantu memperoleh informasi yang dibutuhkan dalam pengambilan keputusan di setiap level organisasi. Data dalam jumlah yang besar memerlukan pengaturan data yang efektif sehingga dapat diperoleh informasi secara cepat dan informasi yang dihadirkan dapat relevan dengan kebutuhan pengguna saat itu.

Beranjak dari kebutuhan tersebut, dibutuhkan suatu data management system yang kuat, fleksibel dan sanggup menangani kompleksitas data. User memerlukan alat bantu yang menyederhanakan penganturan data dan mampu memberikan informasi yang berguna pada waktu diperlukan.

Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta), dapat berupa angka, huruf, symbol khusus atau gabungan ketiganya. Kapan kumpulan data dapat disebut sebagai basis data? Basis data adalah kumpulan data yang didefinisikan sebagai rangkaian aktifitas dari satu organisasi atau lebih yang saling berhubungan. Basis data, beberapa diantaranya, terdiri dari entitas dan relasi. Di Politeknik Telkom terdapat entitas mahasiswa, mata kuliah dan dosen. Relasi yang mungkin terjalin antara entitas-entitas tersebut adalah mahasiswa memiliki nilai mata kuliah, mahasiswa mendapatkan jadwal dari mata kuliah yang diadakan, dan dosen menjadi wali dari mahasiswa.

Basis data yang dicontohkan di atas memiliki data yang cukup banyak. Data mahasiswa untuk setiap angkatan, jumlah mata kuliah yang diadakan untuk semester 1 sampai 6, dan berbagai data lain yang harus disimpan di dalam tempat penyimpanan data (storage). Ada alat yang disediakan untuk membantu menangani penganturan data ini. Database management system (DBMS) adalah software yang dirancang untuk membantu dalam penganturan kumpulan data yang berjumlah besar.

Contoh DBMS antara lain Ms.Acces (Microsoft), DB2 dan Informix (IBM), MySQL (The MySQL AB Company), Oracle (Oracle Corporation), PostgreSQL, dan Sybase (Sybase.Inc)

1.2 File Sistem dan Sistem Basis Data

Sebelum masa DBMS dimulai, data disimpan dalam bentuk file. file adalah sebutan untuk sekumpulan byte. File bisa berisi sederetan karakter atau kode ASCII yang membentuk sebuah dokumen, atau bisa juga berupa rangkaian instruksi untuk software aplikasi untuk dijalankan oleh komputer.Misalnya data akademik, supaya informasinya tetap berada di komputer maka data disimpan dalam bentuk file. Supaya pengguna dapat melakukan perubahan data, maka dibuat program aplikasi mengikuti kebutuhan masing-masing divisi. Setiap aplikadi memiliki file-file pada system operasi yang digunakan untuk menyimpan data. Sehingga kemungkinan terdapat data yang sama pada divisi yang berbeda. Data ini tiap tahun akan bertambah mengikuti bertambahnya jumlah mahasiswa yang masuk pada setiap ajaran baru. Kebutuhan akan fasilitas program aplikasi akan semakin bertambah.

File-processing system menyimpan record dalam berbagai file dan membutuhkan aplikasi yang berbeda untuk mengubah atau menambah record kedalam file.

Kelemahan menggunakan file system adalah

a. Data redundancy dan inconsistency: terdapat duplikasi data dan ketidakkonsistenan data karena data berada di berbagai tempat dan masing-masing pengguna melakukan perubahan pada masing-masing data tanpa melakukan perubahan pada file yang sama di tempat yang berbeda.

b. Sulit dalam pengaksesan data: data tersebar di beberapa tempat/ divisi sehingga menyulitkan pengguna dalam pencarian data yang berhubungan satu dengan yang lain.

c. Data isolation: data terpisah dalam banyak file dan ada kemungkinan data disimpan dalam format yang berbeda mengakibatkan sulit untuk membuat aplikasi baru untuk mendapatkan informasi yang diinginkan.

d. Masalah Integitas dat

e. Masalah Atomicity

f. Current access anomalies

g. Masalah Keamanan

Dasar Penyimpanan Data 3

1.3 Keunggulan DBMS

Keuntungan menggunakan DBMS untuk pengaturan data, yaitu:

a. Data berdiri sendiri (Data Independence): program aplikasi dan data terpisah. Jadi jika terjadi perubahan aplikasi atau penggunaan bahasa pemrograman yang berbeda, data tidak perlu diubah.

b. Pengaksesan data yang efisien (Efficient data access): DBMS menggunakan teknik penyimpanan dan pengambilan data dari tempat penyimpanan data secara efisien. Kelebihan ini penting karena biasanya data disimpan pada tempat penyimpanan eksternal.

c. Integritas data dan keamanan terjamin (Data integrity and security)

d. Administrasi data (Data administration): data dapat digunakan oleh beberapa pengguna sekaligus, untuk itu pengaturan data diperlukan untuk meminimalisasi redundancy data.

e. Dapat diakses bersamaan dan ada recovery saat terjadi kegagalan (Concurrent access and crash recovery)

f. Mengurangi waktu pembangunan aplikasi (Reduced application development time)

1.4 Sistem Bilangan

Sistem basis data memudahkan pengguna untuk menampilkan data dengan bentuk yang mudah dibaca. Namun pada kenyataannya dalam tempat penyimpanan data, data disimpan dalam bentuk bit.

Sistem bilangan (number system) adalah suatu cara mewakili suatu besaran dari suatu sistem fisik. Logika di komputer diwakili oleh bentuk elemen dua keadaan (two-state elements), yaitu keadaan off (tidak ada arus) dan keadaan on (ada arus). Sistem bilangan yang digunakan oleh computer adakah sistem bilangan biner, namun selain itu ada sisstem bilangan octal dan hexadecimal.

Sistem bilangan binary, bilangan basis 2, menggunakan dua angka yaitu 0 (nol) dan 1 (satu). Nilai posisi sistem bilangan binary merupakan Sistem bilangan binary, bilangan basis 2, menggunakan dua angka yaitu 0 (nol) dan 1 (satu). Nilai posisi sistem bilangan binary merupakan

Contoh:

Bilangan binary dengan konversi ke decimal

Binary Perhitungan Desimal

Konversi bilangan decimal dengan binary

1.5 Penyimpana Data

Sistem basis data dibangun dengan tujuan menyembunyikan detail proses yang rumit sehingga pengguna tidak harus dipusingkan dengan detail implementasi/proses penyimpanan data itu sendiri. Basis data dapat dilihat dalam bentuk yang sederhana seperti yang dijelaskan pada level konseptual dan logic. Bagaimanapunn juga penting untuk memahami tentang bagaimana data disimpan secara fisik dalam disk.

1.5.1 Media Penyimpanan Fisik

Ada beberapa tipe media penyimpanan fisik yang umum ada dalam sistem komputer. Berikut ini adalah media penyimpanan yang diklasifikasikan dari kecepatan pengaksesan data, harga per unit data dan reliability.

Dasar Penyimpanan Data 5

1. Cache -

Memori paling cepat dan mahal -

Tidak perlu mengatur cache pada sistem basisdata

- Diatur oleh perangkat keras sistem komputer

2. Main Memory -

Penampung data yang siap diolah dan instruksi-instruksi yang ingin dijalankan

- Daya tampung sampai dengan megabyte (MB) atau gigabyte (GB), tapi masih terlalu mahal untuk menampung keseluruhan basisdata

- Bersifat volatile (data hilang jika power mati)

3. Flash memory/EEPROM (electrically erasable programmable read-only memory) -

Kecepatan membaca data menyamai main memory 100 nanoseconds (nanoseconds = 1/1000 microseconds). Namun kecepatan penulisan data 4-10 microseconds dan tidak bisa langsung menimpa data yang sudah ada. Untuk menimpa data harus menghapus semua bank data.

- Bersifat non-volatile -

Pengganti magnetic disk yang dapat menyimpan data 5-10 MB, biasanya berada dalam alat elektronik yang memiliki sistem computer contohnya kamera digital

4. Magnetic-disk storage -

Keseluruhan data disimpan dalam magnetic-disk -

Kapasitas disk dari range satuan GB sampai ratusan GB -

Data yang siap diproses dipindahkan ke main memory, dan jika data selesai diproses harus dipindahkan kembali ke magnetic- disk

- Data dalam disk akan selamat jika power mati maupun jika ada sistem crash

5. Optical storage -

Contoh compact disk (CD) kapasitas 640 MB, digital video disk (DVD) kapasitas 4.7 – 8.5 GB.

Proses pembacaan dan penulisan menggunakan laser

- Versi CD/DVD : o Record-once : disk yang hanya bisa ditulis sekali tapi bisa dibaca berkali-kali atau write-once,read-many (WORM) disk. Contoh: CD-R, DVD-R - Versi CD/DVD : o Record-once : disk yang hanya bisa ditulis sekali tapi bisa dibaca berkali-kali atau write-once,read-many (WORM) disk. Contoh: CD-R, DVD-R

6. Tape Storage -

Digunakan untuk back up data. -

Magnetic tape lebih murah daripada magnetic disk, tapi pengaksesan data lebih lambat karena tape storage harus mengakses ada secara sekuensial yaitu dari rekaman data paling awal

- Kapasitas 40 – 300 GB

Gambar 1.1 menunjukkan hirarki media penyimpanan berdasarkan kecepatan dan harga. Primary storage yaitu cache dan main memory memberikan kecepatan akses data yang tinggi. Secondary storafe memiliki kecepatan akses yang lebih rendah dari primary storage. Tertiary storage adalah kelas penyimpana data yang paling lambat. Panah ke bawah menunjukkan harga per bit data yang disimpan turun sedangkan panah ke atas kecepatan aksesnya bertambah.

Gambar 1.1 Hirarki media penyimpanan

Dasar Penyimpanan Data 7

1.5.2 Magnetic-Disk

Gambar 1.2 Struktur Disk [RAM]

Magnetic-disk terdiri dari beberapa lempengan disk yang disebut platter. Diameter platter ada yang 3.5 inci dan 5.25 inci Platter memiliki lingkaran konsentris dari dalam keluar disebut track. Dalam satu platter terdapat 16000 track dan terdapat 2-4 platter per disk. Kumpulan track yang memiliki diameter yang sama disebut dengan cylinder. Masing-masing track dibagi menjadi bagian yang lebih kecil yang disebut sector. Sektor ini berukuran tetap biasanya berukuran 512 byte. Pada satu platter memiliki 200 – 400 sektor dari inner track sampai dengan outer track. Angka-angka diatas dapat berbeda untuk setiap model disk.

Track 0 pada disk terletak pada bagian paling dalam dari disk. Pada track ini terdapat pits atau lubang kecil. Daerah diantara pits disebut dengan lands. Perubahan pits dan lands atau sebaliknya direpresentasikan dengan bilangan biner ‗1‘. Jika ada perubahan, direpresentasikan dengan bilangan biner ‗0‘.

Disk controller menjadi penghubung antara sistem computer dengan hardware pada disk. Disk controller bertugas untuk menuliskan atau membaca data yang berada di sector dengan menggerakkan arm assembly pada track yang tepat. Checksum dihitung dari setiap data yang dituliskan, disimpan di sector maupun pada saat pembacaan data dari sector. Jika terjadi kerusakan pada sector atau terjadi kesalahan pembacaan, checksum yang Disk controller menjadi penghubung antara sistem computer dengan hardware pada disk. Disk controller bertugas untuk menuliskan atau membaca data yang berada di sector dengan menggerakkan arm assembly pada track yang tepat. Checksum dihitung dari setiap data yang dituliskan, disimpan di sector maupun pada saat pembacaan data dari sector. Jika terjadi kerusakan pada sector atau terjadi kesalahan pembacaan, checksum yang

Tugas lain dari disk controller sebagai mengatur ulang bad sector. Pada saat disk controller mendeteksi kerusakan pada disk, disk controller secara logic melakukan mapping sector ke lokasi fisik yang berbeda.

Pada saat penulisan atau pembacaan data, disk head bergerak pada track dimana terdapat sector yang menyimpan data. Waktu yang diperlukan disk head untuk bergerak menuju track yang tepat adalah seek time. Rasional delay adalah waktu tunggu yang diperlukan block untuk berputar dibawah disk head, waktu yang dilakukan untuk rata-rata setengah putaran biasanya kurang dari seek time. Transfer time adalah waktu yang diperlukan untuk menbaca atau menuliskan data pada block setelah head berada di posisinya, waktu untuk disk untuk berputar satu block.

Penghubung antara disk dengan computer antara lain ATA (AT attachment) dan SCSI (small-computer-system interconnect; dibaca scuzzy). ATA adalah versi terbaru dan lebih cepat dari IDE (Integrated drive electronics). IDE adalah interface yang digunakan pada awal IBM PC.

1.6 SQL Review

SQL atau Structured query language adalah database language yang sering digunakan. SQL memiliki beberapa bagian:

1. Data Definition language (DDL) SQL DDL, perintah untuk create, update dan delete skema relasi. Contoh : Create table barang(

Kode_barang varchar(4) constraint pk_kode_barang primary key, Nama_barang varchar(20));

Drop table barang; Alter table barang add ( tipe_barang varchar(20));

2. Data Manipulatin Language (DML) DML memiliki perintah untuk insert, delete dan update tupple. Insert into barang (kode_barang, nama_barang, tipe_barang) values (‗KOMP‘, ‗komputer‘,‘elektronik‘);

Dasar Penyimpanan Data 9

Delete form barang where kode _barang = ‗KOMP‘; Update barang set tipe_barang = ‗komputasi‘ where kode_barang = ‗KOMP‘;

3. View Definition Select * from barang;

Rangkuman

1. Basis data adalah kumpulan data yang didefinisikan sebagai rangkaian aktifitas dari satu organisasi atau lebih yang saling berhubungan.

2. Database management system (DBMS) adalah software yang dirancang untuk membantu dalam penganturan kumpulan data yang berjumlah besar.

3. Keuntungan menggunakan DBMS untuk pengaturan data, yaitu: Data Independence, Efficient data access:, Data integrity and security, Data administration, Concurrent access and crash recovery, dan Reduced application development time

4. Sistem bilangan (number system) adalah suatu cara mewakili suatu besaran dari suatu sistem fisik. Contoh ssistem bilangan adalah sistem bilangan binary/biner, sistem bilangan decimal, sistem bilangan hexadecimal dan sistem bilangan octal.

5. Magnetic-disk terdiri dari beberapa lempengan disk yang disebut platter. Platter memiliki lingkaran konsentris dari dalam keluar disebut track. Masing-masing track dibagi menjadi bagian yang lebih kecil yang disebut sector.

6. Track 0 pada disk terletak pada bagian paling dalam dari disk.

7. Track terdapat pits atau lubang kecil. Daerah diantara pits disebut dengan lands. Perubahan pits dan lands atau sebaliknya direpresentasikan dengan bilangan biner ‗1‘. Jika ada perubahan, direpresentasikan dengan bilangan biner ‗0‘.

8. Bagian SQL terdiri dari DDL, DML dan view definition

Dasar Penyimpanan Data 11

Soal

1. Jelaskan pengertian data, basis data, DBMS dan RDBMS!

2. Sebutkan contoh-contoh DBMS!

3. Jelaskan bagaimana mekanisme pengolahan data dari saat pennguna memasukkan data kedalah computer sampai kepada data tersimpan pada database!

4. Sebutkan dan jelaskan media penyimpanan fisik!

5. Jelaskan mekanisme penyimpanan yang terjadi di cache dan main memory!

6. Buatlah perintah SQL untuk membuat table berikut ini: Table Mahasiswa Nim

Tgl_lahir 30108123

Jl.Sunda No.1

Linda

Jl.Jakarta

5 Mei 1990

No.10

Nim sebagai primary key

Table Mata_kuliah Kode_mk

Nama_mk

IS007

Basis Data

CA008

Manajemen Bisnis

Kode_mk sebagai primary key

Nim

jam ruang 30108123

Kode_mk

Hari

08-00-10-00 201 Nim dank ode_mk sebagai foreign key

IS007

Senin

7. Buatlah perintah SQL untuk masukkan data sesuai dengan data di atas!

Latihan

1. Buatlah makalah mengenai sejarah perkembangan DBMS!

2. Buatlah makalah mengenai DBMS yang anda ketahui dan bandingkan dengan DBMS yang lain!

Dasar Penyimpanan Data 13

Daftar Pustaka

Ra ghu Ramakrishnan / Johannes Gehrke ―Database Management System‖ Second edition.

Silberschatz-Korth-Sudarshan: Database System Concepts, Fourth Edition.2001

Jogiyanto, H.M, 1990, Pengenalan Komputer, Andi offset, Yogyakarta

2 ARSITEKTUR BASISDATA

Overview

Database memiliki komponen-komponen pembangun untuk melakukan eksekusi pada setiap data yang diminta oleh pengguna. Database perlu untuk mengalokasikan memory untuk menangani pemrosesan data dalam jumlah yang besar. Proses structure melakukan operasi pengolahan yang diperlukan sebelum data disimpan di dalam database files.

Tujuan

1. Mahasiswa memahami tentang arsitektur database.

Arsitektur BasisData 15

2.1 Database structure

Oracle Server adalah DBMS yang menyediakan pendekatan menyeluruh dan terbuka pada information management. Oracle server harus mampu menagani data dalam jumlah yang besar yang diakses oleh banyak user. Oracle server juga harus mencegah user yang tidak memiliki otoritas dan mampu mengatasi failure. Oracle Server terdiri dari Oracle Instance dan Oracle database.

Database Structure terdiri dari Memory Structure, Process Structure dan Storage Structure yang berhubungan dengan Oracle Server.

Gambar 2.1 Struktur Basis Data

2.1.1 Oracle Instance

Oracle database selalu diasosiasikan dengan Oracle Instance. Saat database dijalankan pada database server, oracle mengalokasikan memory yang disebut System Global Area (SGA) dan menjalankan beberapa oracle background process. Kombinasi dari SGA dan Oracle processes disebut dengan Oracle Instance. Memory dan proses dari instance mengatur data dalam database secara efisien dan dapat melayani satu atau lebih user yang menggunakan basisdata ini.

Setelah mulai menjalankan instance, Oracle software dihubungkan dengan database tertentu. Hal ini disebut dengan mounting database. Database siap dibuka sehingga dapat diakses oleh authorized user. Multiple instance dapat dieksekusi secara bersamaan pada computer yang sama.

Oracle database menggunakan memory structure dan process structure untuk mengatur dan mengakses database. Semua memory structure ada di main memory computer yang membangun database server.

2.1.2 Memory Structures

Memory di Oracle digunakan untuk menyimpan: -

Kode program yang akan dieksekusi -

Informasi tentang session -

Data yang akan dieksekusi -

Informasi yang di share dan dikomunikasi oleh proses yang lain. Misalnya locking information

- Cache information

Dasar struktur memory yang berhubungan dengan oracle: -

Software code ares -

System Global Area (SGA) -

Program Global Area (PGA) - Sort area

Arsitektur BasisData 17

Virtual Memory

Virtual Memory adalah fitur dari sistem operasi yang memberikan tempat penyimpanan yang nyata daripada yang diberikan oleh main memory dan memberikan keleluasaan dalam penggunaan main memory.

Virtual Memory menduplikasi memori dengan mengkombinasikan main memory dan secondary storage. Sistem operasi mengakses virtual memory dengan membuat secondary storage seperti main memory jika dilihat dari program aplikasi.

Software Code Areas

Bagian dari memory yang digunakan untuk menyimpan kode program yang akan dieksekusi. Perintah/kode oracle disimpan di software code areas yang biasanya berada di tempat yang berbeda-beda sesuai dengan program dari user. Ukuran software codes areas statis, berubah jika dilakukan installasi ulang atau update.

SGA

Process PG Process

Server

background PG

SGA

Gambar 2.2 Struktur Memory

Memory Structure dasar yang berhubungan dengan Oracle instance adalah : -

System Global Area (SGA) : di-share oleh semua server dan background process

- Program Global area (PGA) : Private untuk masing-masing server dan background process. Satu PGA untuk masing-masing proses.

SGA adalah memory area yang meliputi data dan control informasi untuk instance.

SGA mencakup data struktur berikut ini: -

Database buffer cache : cache block data yang didapat dari database -

Redo log buffer : cache redo informasi (digunakan pada saat instance recovery) hingga informasi siap dituliskan di tempat penyimpanan fisik redo log file pada disk

- Shared pool : cache untuk berbagai macam file yang digunakan oleh semua user

- Large pool : area opsional yang menyediakan memory yang banyak untuk proses besar seperti operasi oracle backup dan recovery

- Java pool : digunakan untuk semua session khusus untuk java code dan data dalam Java Virtual machine (JVM)

- Steams pool : digunakan oleh oracle steam

Pada saat menjalankan instance menggunakan Enterprise manager atau SQL*Plus ditampilkan jumlah alokasi memori untuk SGA.

PGA

Program Global Area (PGA) adalah memory yang terdiri dari data dan control information untuk masing-masing proses server. Proses dalam oracle server memberikan layanan bagi client. Masing-masing proses server memiliki PGA sendiri-sendiri yang dibuat saat proses di server dimulai. PGA diakses secara eksklusif oleh server proses, dan PGA ditulis dan dibaca hanya oleh kode oracle.

Dengan SGA infrastruktur yang dinamis, ukuran database buffer cache, shared pool, large pool, java pool, dan steam pool dapat berubah tanpa shutting down instance.

Parameter dalam oracle SGA_TARGET menunjukkan sisa ruang untuk SGA. Jika SGA_TARGET diisi 0, secara otomatis shared memory management di disable.

Arsitektur BasisData 19

2.1.3 Process Structure

JDBC/ODBC

Server Process 1

User Process

PGA

SGA

Gambar 2.3 Process Structure

Process adalah mekanisme dari sistem operasi untuk menjalankan rangkaian perintah secara simultan. Process Structure pada Oracle berfungsi untuk mengatur aktifitas yang terjadi bersamaan dan penyelesaiannya.

Saat menjalankan program oracle seperti Enterprise Manager, oracle server menciptakan beberapa proses yaitu :

a. server process untuk mengeksekusi perintah dari aplikasi

b. background process supaya instance dapat berinteraksi dengan instance yang lain dan dengan sistem operasi untuk mengatur struktur memory, mengatur I/O untuk menuliskan data pada disk dan melakukan task yang lain tergantung dari proses yang sedang dilakukan oleh database

2.1.3.1 Single-process Oracle Instance

Biasa disebut single-user Oracle adalah database system yang dimana semua kode oracle dieksekusi oleh satu proses. Hanya satu user dapat mengakses oracle instance dan pada saat itu user lain tidak dapat mengakses database.

Contoh: Oracle di MS-DOS karena MS-DOS tidak dapat menangani banyak proses sekaligus.

2.1.3.2 Multiple-process Oracle Instance

Disebut juga dengan multi-user Oracle, menggunakan beberapa proses untuk mengeksekusi bagian yang berlainan dari Oracle. Dengan membagi tugas dari Oracle dan aplikasi database kedalam beberapa proses, multiple-user dan

Pada multi-process ini dapat dikategorikan menjadi dua grup yaitu user process dan oracle process.

a. User process, saat user menjalankan program aplikasi seperti oracle Tools.

b. Oracle Process/server process, digunakan untuk mengeksekusi perintah SQL, membaca blok data dari disk ke shared databse buffer di SGA, mengembalikan hasil dari data yang diminta.

c. Untuk meningkatkan perforamansi dan untuk mengakomodasi banyak user multi-process oracle menggunakan proses tambahan disebut background process.

Background process yang sering digunakan adalah : -

system monitor (SMON) : menjalankan crash recovery jika instance mengalami kegagalan

- Process monitor (PMON) : menjalankan process cleanup jika user process gagal

- Database writer (DBWn): menuliskan bloks dari database buffer cache ke data file di disk

- Log writer (LGWR) : menulis redo log ke disk - Archiver (ARCn) : mengcopy redo log file ke archival starage saat

terjadi log switch

2.1.4 Storage Structure

File dalam database terdiri dari : -

Control files: data tentang database itu sendiri sehingga data yang ada di database dapat diakses. Contoh: steuktur fisik basisdata.

- Data files: mencakup user dan data aplikasi -

Online Redo log files: untuk recovery database. Informasi pada file ini dapat digunakan jika terjadi crash sehingga data yang ada di database tidak hilang.

Arsitektur BasisData 21

Rangkuman

1. Database Structure terdiri dari Memory Structure, Process Structure dan Storage Structure yang berhubungan dengan Oracle Server.

2. System Global Area (SGA) adalah pengalokasian memory yang dilakukan oleh DBMS. Kombinasi dari SGA dan Oracle processes disebut dengan Oracle Instance.

3. Process Structure pada Oracle berfungsi untuk mengatur aktifitas yang terjadi bersamaan dan penyelesaiannya.

4. Proses Structure terdiri dari Single-process Oracle Instance dan Multiple-process Oracle Instance

Soal

1. Jelaskan implementasi penggunaan instance pada Oracle!

2. Jelaskan pengalokasian memory SGA pada basisdata Oracle!

3. Sebutkan background process lain yang disediakan oleh Oracle!

4. Mengapa pada Oracle yang berjalan pada MS-DOS hanya dapat melakukan single process!

5. Bagaimana mekanisme atau cara kerja Oracle pada saat menangani multiple-process oracle instance!

6. Jelaskan cara setting virtual memory untuk membantu Oracle menjalankan performansinya menjadi lebih baik!

7. Jelaskan file system storage yang ada pada Oracle

Latihan

1. Buatlah makalah tentang instance yang ada pada minimal tiga DBMS yang anda ketahui.

2. Buatlah makalah tentang maintenance instance pada Oracle

Arsitektur BasisData 23

Daftara pustaka

Course manual Oracle Database 10g: administration workshop I http://www.Isbu.ac.uk/oracle/oracle7/server/doc/SCN73/ch9.html

3 Database Administration Basic Administration

Overview

Database administration merupakan kegiatan yang bertujuan untuk melakukan pengaturan dan penjagaan terhadap database, baik dari kondisi database, kestabilan database, performance database, maupun isi dari data.

Berdasarkan tipenya, maka database administration dapat dibagi menjadi 3 fungsi :

1. System Database Administration Pada system database administration, kegiatan yang dilakukan lebih fokus terhadap aspek – aspek fisik dari database, seperti installasi, konfigurasi, security, patch, upgrade, backup, restore, performance tuning, maintenance, dan disaster recovery.

2. Development Database Administration Development database administration, sesuai namanya lebih memfokuskan dari segi logical dan development, atau bisa dikatakan dari segi datanya. Beberapa kegiatannya antara lain pembuatan SQL, maintain dan tuning SQL, pembuatan stored prosedur, trigger, function, dan desain database.

3. Application Database Administration Application Database Administration merupakan tipe yang paling jarang ditemui, umumnya hanya ada di organisasi database yang besar ( Oracle, SAP, Siebel, Microsoft ). Fungsinya lebih ke memaksimalkan database dan aplikasi yang keduanya dimiliki oleh suatu organisasi. Contohnya pada Visual Basic dengan MSSQL Server ( Microsoft ) dan Oracle Application Server dengan Oracle Database ( Oracle ).

Database Administration - Basic Administration 25

Basic administration merupakan kumpulan dari fungsi - fungsi yang ada pada System Database Administration, seperti installasi, konfigurasi, security, monitoring dan tuning. Bab ini akan membahas mengenai konfigurasi dan konsep dasar security pada database oracle . Sebagai alat bantu, maka digunakan aplikasi dari Oracle, yaitu Oracle Enterprise Manager.

Tujuan

1. Mahasisiwa memahami konsep dan penggunaan Oracle Enterprise Manager.

2. Mahasiswa mengerti konsep dasar security pada oracle database

3. Mahasiswa mengetahui tugas database administrator dalam membentukan dan organisasi oracle database security.

4. Mahasiswa memahami kegunaan user account yang ada pada oracle database

3.1 Oracle Enterprise Manager

Pada Database Oracle, proses pengaturan database dapat dilakukan dengan 2 cara :

1. Secara manual. Pada pengaturan ini semua perubahan baik dari sisi database maupun isi data dilakukan menggunakan perintah – perintah sql.

2. Menggunakan aplikasi console yang telah disediakan Oracle, yaitu Oracle Enterprise Manager.

3.1.1 Overview dan Konsep Oracle Enterprise Manager

Oracle Enterprise Manager merupakan aplikasi yang berfungsi untuk melakukan aktifitas pengaturan database, seperti : konfigurasi, monitoring, tuning, backup, restore, dan aktifitas lainnya.

Aplikasi Oracle Enterprise Manager dapat dibagi menjadi dua kategori :

1. Oracle Enterprise Manager Database Control Pada Database Control, satu Oracle Enterprise Manager dapat melakukan pengaturan terhadap satu database saja. Umumnya aplikasi ini terbentuk saat kita melakukan installasi database.

2. Oracle Enterprise Manager Grid Control Pada Grid Control, satu Oracle Enterprise Manager dapat melakukan pengaturan terhadap beberapa database. Merupakan product terpisah dari Oracle.

Keuntungan menggunakan Oracle Enterprise Manager :

1. Membantu memaksimalkan performance ( tuning ) dan availability ( monitoring ) baik dari sisi server maupun database.

2. Mempermudah dan mempercepat user dalam melakukan pengaturan database

3. Mengurangi resiko human error yang dapat terjadi saat melakukan pengaturan secara manual.

Pada Oracle Database 10g, aplikasi Oracle Enterprise Manager telah berbasis web, sehingga lebih mudah diakses oleh user ( bisa dari mana saja ).

Pada versi 9i Pada versi 10g

Database Administration - Basic Administration 27

3.1.2 Penggunaan Oracle Enterprise Manager / OEM

Penggunaan OEM dapat dibagi menjadi beberapa tahap :

1. Menyalakan Oracle Enterprise Manager Database Console Umumnya setelah installasi database, service OEM akan menyala secara otomatis, tetapi ada baiknya dilakukan check terlebih dahulu.

Aplikasi OEM dapat dinyalakan dari sisi server dengan memakai perintah :

a. Untuk windows Dari menu windows, pilih start -> control panel -> administrative tools -> services

Service oracle selalu berawalan dengan prefix Oracle. OEM Database Console service pada windows terdaftar dengan nama OracleDBConsoleORACLE_SID, Oracle SID merupakan nama database instance yang telah dibuat. Pastikan statusnya telah started.

Apabila statusnya masih stopped, klik kanan pada service Database Console, pilih start.

b. Untuk linux/unix Arahkan direktori ke lokasi oracle database diinstall / ORACLE_HOME, pilih direktori bin, kemudian ketik $ ./emctl start dbconsole.

2. Menggunakan Oracle Enterprise Manager Database Console Untuk menggunakan Oracle Enterprise Manager, dari web browser client ketik http://<ip_server oracle database>:<port >/em. Default port yang dipakai adalah 5500.

Tampilan awal dari Oracle Enterprise Manager berupa halaman login

Database Administration - Basic Administration 29

Pada halaman ini user akan diminta untuk memasukkan user database yang memiliki akses untuk login ke dalam Enteprise Manager, untuk user defaultnya adalah sys atau system.

Setelah login, user akan dibawa ke halaman utama Oracle Enterprise Manager yang terdiri dari 4 bagian besar :

1. Halaman Home

Halaman ini berisi status dari database instance yang akan diatur, dan terbagi menjadi 10 macam status database :

a. General General memberikan kondisi dari database ( yang ditunjukkan dengan tanda panah hijau atau merah ), tanggal database dihidupkan, nama database instance, versi database, nama hostname server dan nama listener

c. Active Session Active Session memperlihatkan berapa jumlah CPU yang dimiliki oleh server, berapa banyak session milik user yang sedang aktif ( status sedang menggunakan User I/O, CPU atau Waiting )

d. SQL Response Time Dalam SQL Response Time, akan ditunjukan berapa lama proses untuk melakukan suatu sql process, tetapi terlebih dahulu kita harus menetapkan baseline ( dasar perbandingan awal )

e. Diagnostic Summary Diagnostic summary memperlihatkan jenis dan jumlah error pada database atau policy database/server.

f. Space Summary Space Summary memberikan kondisi berapa banyak database size, apakah terdapat problem pada tablespace, dan berapa persen disk space yang tersisa di server tersebut.

g. High Availability High availability menunjukkan perkiraan berapa waktu yang digunakan database untuk recovery, waktu saat backup database terakhir dijalankan, dan apakah database menggunakan flashback technology atau archivelog.

h. Alert Alert menunjukkan pesan / status yang lebih detail mengenai error/warning yang ada pada database, sehingga lebih mudah dilihat oleh user

i. Related Alert Related Alert memberikan pesan warning/error yang lebih detail dari sisi server, seperti sisa disk yang dimiliki server, processor yang digunakan, dan memory.

j. Job Activity Job Activity menunjukkan job apa saja yang kita lakukan terhadap database , dan kondisi job tersebut

Database Administration - Basic Administration 31

2. Halaman Performance

Halaman performance berisi grafik yang menunjukkan kondisi database, server, disk, instance, logon, dan kondisi lainnya. Di halaman ini kita bisa melihat kondisi database selama rentang waktu tertentu, dan terdapat pilihan apakah akan melihat data saat itu juga ( real time ), atau pada waktu tertentu ( historical ). Biasanya digunakan sebagai alat bantu dalam fungsi reporting, monitoring, troubleshooting dan tuning.

3. Halaman Administration

Halaman ini berisi fungsi administrasi dari database, dapat dibagi menjadi dua bagian besar :

a. Database Administration Database administration berisi pengaturan mengenai instance database. -

Storage Storage mengatur semua komponen database yang berhubungan dengan disk pada server, seperti controlfile, tablespace, temporary tablespace group, datafile, rollback segment, redo / archive log

- Database Configuration Database configuration mengatur tentang parameter – parameter pada database ( spfile/pfile parameter ), memory database ( share, db buffer, java pool, large pool ), undo parameter ( undo retention, undo tablespace ), dan database feature usage yang berisi list feature yang sudah/belum dipakai oleh database tersebug

- Database Scheduler Berisi pengaturan job/scheduler yang akan dijalankan terhadap suatu database.

- Statistic Management Berisi pengaturan mengenai pengambilan statistic dari database, baik secara berkala ( AWR, gather statistic) ataupun manual.

- Change Database Mengatur mengenai metode penggunaan disk secara ASM ( Automatic Storage Management ) ataupun Locally Managed.

Database Administration - Basic Administration 33

- Resource Manager Berisi pengaturan besarnya Resource yang bisa/tidak bisa oleh user / profil tertentu dan prioritas terhadap user / profil tertentu.

- Policies Berisi pengaturan mengenai policies dari suatu database, hal apa saja yang boleh dan tidak boleh dilakukan, apa saja yang dianggap error, warning atau hanya status biasa saja.

a) Schema Schema berisi pengaturan mengenai object – object yang dimiliki oleh suatu database - Database Object

Database Object berisi pngaturan object – object standard yang dimiliki oleh suatu database, seperti table, views, synonim, index, dll.

- Program Program berisi pengaturan mengenai script – script yang dibuat dan dijalankan via database, seperti procedur, function, trigger, dll.

- XML Database XML Database mengatur mengenai penggunaan xml sebagai database.

- Users & Previleges User & Previleges berisi pengaturan mengenai user, roles maupun profile. Bisa dibilang juga sebagai basic security database.

- Materialized Views

Materialized Views mengatur mengenai pembuatan dan monitoring penggunaan materialized views.

- BI & OLAP BI & OLAP mengatur mengenai penggunaan database dalam Bussiness Intelligence maupun Online Analytical Process, seperti cube, dimension, dll

- User Defined Types User Defined Types mengatur pembuatan variable / types sesuai kebutuhan aplikasi database

4. Halaman Maintenance

Halaman maintenance memberikan pengaturan mengenai aktifitas yang dilakukan untuk memindahkan data baik ke dalam/keluar database ( backup, restore, export, import, clone, move tablespace, database stream ) dan proses patching database

Database Administration - Basic Administration 35

3.2 Dasar Security Database Oracle

Security pada database oracle merupakan kegiatan / aturan yang dilakukan untuk melindungi asset terpenting dalam database, yaitu data.

Berdasarkan tipenya, security dalam oracle database dapat dikategorikan menjadi beberapa jenis :

a. Authentification Memberikan pengaturan terhadap bagaimana cara untuk mengakses suatu database. Authentification dibagi menjadi beberapa bagian : - Authentification by Operating system

Memberikan pengaturan hak akses dari sisi user Operating System. Pada beberapa operating system, database oracle dapat langsung diakses lewat operating system dengan menggunakan ―sqlplus /‖.

- Authentification by Network Memberikan pembatasan hak akses dari sisi network, misalnya menggunakan SSL, Kerberos, Public Key, dan third party lainnya. Authentification by Database - Membatasi hak akses dari sisi database, yaitu dengan user password database

- Authentification by Multitier system Membatasi hak akses dari sisi system lain, misal hanya bisa akses ke database dari server tertentu saja.

Authentification by Database Administrator Membatasi hak akses dari sisi user – user database yang memiliki role tertentu saja, misal SYSDBA dan SYSOPR

b. Authorization Authorization merupakan kegiatan untuk melakukan pembatasan terhadap user apa saja yang bisa mengakses database, dan memberikan pengaturan resource dan hak yang dimiliki user tersebut. Authorization dibagi menjadi : -

Previleges Merupakan hak yang dimiliki oleh user untuk menjalankan perintah SQL atau akses ke object milik user lain.

Contoh :create table, create session, alter table. -

Roles Roles merupakan kumpulan dari beberapa previleges. Contoh : DBA, RESOURCE, EXP_FULL_DATABASE

- Resource Limit Resource Limit merupakan kegiatan yang bertujuan membatasi suatu user dari penggunaan resource. Contoh : Tablespace Quota, logical read per session.

- Profiles Profiles merupakan kumpulan dari gabungan roles, resource limit, dan previleges. Contoh : Monitoring Profile, Default.

c. Access Access merupakan pembatasan database dari sisi object, sehingga suatu object tidak dapat diubah oleh user yang tidak berhak. Contohnya : membuat view sehingga user tidak langsung mengakses ke tabel aslinya dan menggunakan FGA ( Fine Grained Auditing )

d. Security Policies Policies merupakan gabungan dari aturan – aturan ( password complexity, quota, access, dll )

e. Database Auditing Auditing merupakan sebuah kegiatan yang melakukan penulisan / log terhadap aktifitas yang di lakukan pada database.

3.3 Tugas Database Administrator dalam Database Security

Seorang database administrator memiliki beberapa tugas dasar dalam melakukan organisasi security database, antara lain :

1. Memastikan bahwa instalasi dan konfigurasi database telah dilakukan secara aman ( menambahkan beberapa system parameter pada oracle yang behubungan dengan keamanan database ).

2. Melakukan pengaturan terhadap user account, membuat standarisasi password, membuat dan membagi roles, memastikan bahwa data hanya bisa diakses oleh user yang memiliki hak akses.

3. Menjaga agar koneksi network pada database tetap aman

Database Administration - Basic Administration 37

4. Melakukan enkripsi terhadap data – data yang sensitif

5. Memastikan bahwa database tidak memiliki celah yang dapat ditembus pihak luar.

6. Memutuskan bagian mana dari suatu database yang akan diaudit dan seberapa dalam audit itu dilakukan

7. Melakukan installasi patches database yang berhubungan dengan security.

3.4 User Account pada Oracle Database

Untuk melakukan akses ke dalam database oracle, maka dibutuhkan user account yang memiliki hak terhadap schema tertentu.

User account dalam oracle dapat diidentifikasi berdasarkan nama dan atribut user yang bersangkutan, seperti :

- Metode Authentifikasi ( password / OS autentifikasi ) - Password ( encrypted / normal ) - Quota Tablespace dan Temporary Tablespace - Status account ( lock / unlock ) - Status password ( expire / not expire )

Selain atribut diatas, pada saat dilakukan pembuatan user juga harus ditambahkan akses terhadap system previlieges, object previliges dan role untuk user tersebut. Sebaiknya sebuah user account dibuat sesuai dengan pekerjaan yang akan dilakukan oleh user tersebut, contohnya : user yang mengakses database untuk fungsi reporting hanya diberi hak untuk select ke table.

Dalam oracle database terdapat user – user default yang memang otomatis terbentuk saat installasi database, antara lain :

Status After User Account

Description Installation

DBSNMP User yang digunakan untuk Open

melakukan proses monitoring dalam Oracle Enterprise Manager

SYS User tertinggi dalam oracle Open database, digunakan sebagai administrator pada database,

Password is menyalakan / mematikan database. created at

installation or database creation time.

SYSMAN

User yang gunakan pada Oracle

Open Enterprise Manager untuk melakukan fungsi – fungsi

Password is administrasi

created at installation or database creation time.

SYSTEM User administrator dalam database Open Oracle, tetapi haknya masih dibawah sys

Password is created at installation or database creation time.

Database Administration - Basic Administration 39

Rangkuman

1. Database Administration merupakan kegiatan yang bertujuan untuk melakukan pengaturan dan penjagaan terhadap database

2. Database Administration dibagi menjadi tiga jenis, system, aplication dan development database administration.

3. Basic Administration merupakan kegiatan yang berhubungan dengan system database administration

4. Pada oracle database terdapat alat bantu dari oracle untuk melakukan pengaturan database , yaitu Oracle Enterprise Manager

5. Oracle Enterprise Manager dibagi menjadi dua, Database Control dan Grid Control

6. Oracle Enterprise Manager Database Control dibagi menjadi empat bagian besar : Home, Performance, Administration, Maintenance

7. Security pada database oracle merupakan kegiatan / aturan yang dilakukan untuk melindungi asset terpenting dalam database, yaitu data.

8. Database administrator memiliki tugas untuk memastikan keamanan database dari sisi installasi, konfigurasi, user account, standarisasi password, koneksi database, enkripsi, dan policy.

9. Oracle memiliki beberapa user account default, antara lain SYS, SYSTEM, DBSNMP dan SYSMAN.

Kuis Benar Salah

1. Database administration merupakan semua kegiatan yang berhubungan dengan installasi database.

2. Pembuatan trigger merupakan tugas dari system database administration

3. System database administration termasuk dalam basic administration

4. Oracle Enteprise Manager pada oracle 10g dapat diakses via Web.

5. Pengaturan user di Oracle Enterprise Manager terletak pada menu Administration

6. Dalam Oracle Enterprise manager, fungsi – fungsi administrasi diatur pada menu Maintenance

7. Data merupakan bagian yang penting dalam database security

8. Salah satu tugas database administration dalam database security adalah melakukan patch operating system

9. Authorization memberikan pengaturan mengenai user apa saja yang bisa mengakses database.

10. User tertinggi dalam Oracle Database adalah SYSTEM.

Database Administration - Basic Administration 41

Pilihan Ganda

Berikut merupakan salah satu kegiatan dalam database

1. administration, kecuali ...

A. Installasi Database

D. Security Database

B. Pembuatan Trigger

E. Patch Aplikasi

C. Backup Database

2. Tugas dari development database administration adalah

A. Restore

D. Desain Database

B. Backup

E. Patch

C. Repair Database

3. Berikut adalah aktifitas yang dapat dilakukan dari Oracle Enterprise Manager, kecuali

A. Pembuatan Instance

D. Backup Database

B. Restore Database

E. Pengaturan User

C. Export Import Schema Dibawah ini yang bukan merupakan menu pada Oracle Enterprise

4. Manager Database Control

A. Administration

D. Performance

B. Control

E. Home

C. Maintenance

5. Dibawah ini yang merupakan bagian dari database security :

A. Installasi Database

D. Auditing

B. Pembuatan Datafile

E. Controlfile

C. Storage

6 User – user ini merupakan user standard dari oracle, kecuali :

A. SYS

D. SYSTEM

B. SYSMAN

E. SYSDBA

C. DBSNMP

7 Salah satu kegiatan berikut yang termasuk dalam Autentification adalah

A Network Authentification

D Data Authentification

B Auditing

E Monitor Authentification

C Performance Authentification

User Account memiliki beberapa atribut, berikut merupakan atribut

8 dari user account, kecuali

A Password

D Quota tablespace

B Status account

E Status password

C Status database

Database Administration - Basic Administration 43

Latihan

1. Sebutkan 3 jenis database administration dan jelaskan perbedaanny a !

2. Jelaskan cara pengaturan suatu database !

3. Apa perbedaan antara Database Control dan Grid Control ?

4. Sebutkan fungsi dari Oracle Enterprise Manager !

5. Jelaskan arti dan jenis - jenis dari Oracle Security !

4 Konsep Prosedural

Overview

Untuk meningkatkan performansi saat pengaksesan database, perlu dikenal konsep prosedural menggunakan PL/SQL yang memungkinkan pembuatan blok program layaknya bahasa pemrograman.

Tujuan

1. Mahasiswa memahami konsep prosedural dalam PL/SQL.

2. Mahasiswa memahami jenis-jenis unit program : prosedur, fungsi, dan

trigger.

3. Mahasiswa memahami konsep penamaan yang baik.

4. Mahasiswa dapat membuat unit program dasar menggunakan PL/SQL

Konsep Prosedural 45

4.1 Pentingnya Konsep Prosedural

Konsep prosedural dalam PL/SQL (Procedural Language extensions to SQL) merupakan sebuah teknologi yang memungkinkan kita membuat blok program layaknya dalam bahasa pemrograman prosedural seperti C, Fortran, COBOL, dan lainnya. Tanpa adanya PL/SQL, akan dilakukan proses ekseskusi terhadap statemen-statemen SQL sekali dalam tiap waktu. Apabila program atau aplikasi client hanya menggunakan SQL murni maka program tersebut akan melakukan pemanggilan berulang-ulang yang akan menurunkan performa.

Sedangkan dengan PL/SQL, aplikasi dapat mengirimkan sekumpulan statemen ke database secara langsung dalam satu waktu. Tentu saja ini akan mereduksi waktu perjalanan ke dalam suatu jaringan yang terjadi antara database server dan aplikasi client.

IF … THEN SQL; ELSE

Aplikasi

SQL; END IF;

Apabila kita membuat prosedur atau fungsi dalam database (stored procedure/stored function) maka aplikasi cukup melakukan pemanggilan dan menunggu hasil yang diberikan oleh database. Pemanggilan prosedur semacam ini sering disebut RPC (Remote Procedure Call). Ini jauh lebih efisien dari kedua cara di atas.

RPC

Aplikasi

Blok PL/SQL secara umum terdiri atas tiga bagian :

DECLARE

-- berisi deklarasi variable, konstanta, -- prosedur, ataupun fungsi

BEGIN

-- berisi statemen-statemen yang akan dieksekusi

EXCEPTION

-- berisi perintah untuk mengatasi kesalahan -- yang mungkin muncul

END;

o Blok DECLARE dan EXCEPTION bersifat opsional, hanya dituliskan saat dibutuhkan. Bagian yang wajib adalah BEGIN dan END.

4.2 Program Unit : Prosedur, Fungsi, Trigger

PL/SQL mengijinkan untuk membuat program unit yang merupakan kontainer sekumpulan kode atau statemen. Program unit ini terdiri dari : prosedur, fungsi, package, trigger, dan object type (obejct-oriented class).

4.2.1 Prosedur

Prosedur adalah blok PL/SQL yang menyimpan sekumpulan perintah tanpa disertai pengembalian nilai.