ST-RK-1.16-082-007/R-
Modul Praktikum
Mahasiswa mengusai arsitektur Oracle Server 10g dan dapat melakukan proses instalasi dan menejemen server Oracle 10g
Daftar Isi Daftar Isi .................................................................................... 1 Pengantar Umum ....................................................................... 3 MODUL 1 ................................................................................. 5 1.1. Database Architecture................................................. 6 1.2. Control Files ............................................................... 7 1.3. Redo Log Files ............................................................ 8 1.4. Datafiles ...................................................................... 9 1.5. Oracle Instance Management ..................................... 9 1.6. Oracle Memory Stuctures ......................................... 10 1.7. Background Process Oracle ...................................... 15 Background Process Utama ............................................ 16 Background Process Tambahan ...................................... 18 1.8. DBCA Overview ...................................................... 20 Latihan ................................................................................. 22 MODUL 2 ............................................................................... 23 2.1. Starting and Stopping iSql*Plus ............................... 24 2.2. Management Framework .......................................... 25 2.3. Accessing Database Control ..................................... 26 2.4. SYSOPER and SYSDBA ......................................... 27 2.5. Database Home Page ................................................ 28 2.6. Startup and Shutdown Options ................................. 29 Latihan ................................................................................. 32 MODUL 3 ............................................................................... 33 3.1. Tablespace and Datafiles .......................................... 34 3.2. Space Management in Tablespaces .......................... 35 3.3. Tablespace in the Preconfigured Database ............... 36 3.4. Dropping Tablespaces .............................................. 37 Latihan ................................................................................. 38 MODUL 4 ............................................................................... 41 4.1. Database User Accounts ........................................... 42 4.2. Privileges .................................................................. 44 4.3. System Privileges ..................................................... 45 Laboratorium Komputer – STIKOM
1
4.4. Object Privileges .......................................................48 4.5. Assigning Quota to Users .........................................51 4.6. Roles..........................................................................52 Keuntungan menggunakan role : .....................................53 Karkteristik role : .............................................................54 Latihan .................................................................................58 MODUL 5 ................................................................................61 5.1. Database Security......................................................62 5.2. Apply the Principle of Least Privileges ....................63 5.3. Manage Default User Accounts ................................64 5.4. Implement Standard Password Security Features .....65 5.5. Creating a Password Profile ......................................67 Latihan .................................................................................68 MODUL 6 ................................................................................70 6.1. Oracle Net Services ...................................................71 6.2. Oracle Net Listener ...................................................72 6.3. Oracle Net Connections ............................................76 Latihan .................................................................................77 MODUL 7 ................................................................................78 7.1. Locks .........................................................................79 7.2. Mekanisme Penguncian (Locking Mechanism) ........80 7.3. Data Concurrency .....................................................81 7.4. DML Locks ...............................................................83 7.5. Lock Conflicts ...........................................................84 7.6. Resolving Lock Conflicts..........................................85 7.7. Deadlock ...................................................................86 Latihan .................................................................................87 MODUL 8 ................................................................................90 8.1. Terminology ..............................................................91 8.2. Database Backups .....................................................93 8.3. Database Recovery....................................................98 Latihan .................................................................................99
Laboratorium Komputer – STIKOM
2
Database Administrator
Pengantar Umum
Praktikum Database Administrator ini akan membahas halhal penting apa saja yang harus Anda persiapkan apabila ingin menjadi seorang DBA. Seorang DBA diharuskan memiliki keahlian khusus dalam hal management database. Langkah awal menjadi seorang ahli DBA akan Anda peroleh melalui modul-modul praktikum Database Administrator ini. Seorang DBA memiliki tugas dan peran sebagai berikut : 1.
Instalasi dan Upgrade software sistem RDBMS
2.
Instalasi dan perawatan aplikasi yang berjalan diatas sistem RDBMS
3.
Membuat database, tablespace, table, view, index dan obyek database lainnya
4.
Membuat dan memonitor pemakai serta termasuk sistem
5.
penggunaan sistem,
pengamanannya (security)
Memonitor penggunaan space (disk) dan
perencanaan
pengembangan hardware dan software kedepan 6.
Memonitor unjuk kerja sistem (performance tuning) dan mengubah
parameter
sistem
sejauh
dibutuhkan
dan
mengoptimasi sistem 7.
Membuat strategi dan mengimplementasikan backup dan recovery
Laboratorium Komputer – STIKOM
3
Praktikum Database Administrator ini akan menggunakan tools Oracle Server 10g. Hal ini tidak terlepas daripada tingkat kehandalan Oracle Server yang telah teruji dalam hal menangani management database khususnya database yang besar. Selain itu, Oracle Server 10g jua sudah banyak dipercaya oleh perusahaanperusahaan besar sebagai RDBMS yang dapat menyimpan data master dan transaksi perusahaan. Dengan diperkenalkannya Oracle Server 10g melalui praktikum Database Administrator ini kepada Anda, diharapkan dapat membantu Anda setelah masuk dalam lingkungan kerja nantinya. Meskipun
demikian,
modul
praktikum
Database
Administrator ini masih merupakan langkah awal Anda dalam menapaki dunia DBA. Oleh karena itu, sangat diharapkan apabila Anda juga aktif mencari materi-materi yang belum terbahas pada tiap-tiap modul yang ada.
Laboratorium Komputer – STIKOM
4
Database Administrator
MODUL 1 CREATING DATABASE Tidak ada kata terlambat untuk belajar. Yang ada hanyalah perasaan malas untuk memulai belajar.
Tujuan Praktikan dapat membuat sebuah database pada Oracle 10g dan dapat memanage-nya Materi Creating Database
Database Configuration Assistant Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba1
Laboratorium Komputer – STIKOM
* *
5
1.1. Database Architecture Berbicara tentang arsitekture database Oracle, Anda akan selalu diingatkan
pada
gambar
skema
berikut
ini.
Gambar
ini
merepresentasikan bagian-bagian yang terlibat dalam database Oracle. Database Oracle terdiri atas 3 bagian yaitu Data Files, Control Files dan Redo Log Files.
Oracle merupakan sebuah database relasional. Pada database relasional, semua data disimpan dalam tabel dua dimensi yang tersusun oleh baris dan kolom. Database Oracle memungkinkan Anda
untuk
menyimpan data,
mengubahnya
(update)
dan
menampikannya kembali. Struktur
data
logik
tersimpan dalam file fisik database.
Untuk
mempermudah struktur
logik
melihat database,
Anda dapat menggunakan
Laboratorium Komputer – STIKOM
6
Database Administrator
Enterprise Manager. Setiap detil informasi struktur logik database itu dapat dilihat dengan menekan link yang ada pada bagian Storage pada halaman Administration.
1.2. Control Files Ketika Anda menjalankan (Start) Oracle Instance dan database samapi pada posisi mount, isi control files akan dibaca. Isi dari Control Files menspesifikasikan file fisik yang menyusun database. Ketika Anda menambahkan file baru ke dalam database, Control Files otomatis akan ter-update. Beberapa hal yang perlu diingat tentang Control Files : 1.
Suatu binary file yang menggambarkan struktur dari database
2.
Diperlukan untuk mount, open dan akses databas
3.
Direkomendasikan terrdapat minimal 2 buah control-file yang disimpan di disk yang terpisah.Konfigurasi tersebut dinamakan multiplex
4.
Info sinkronisasi yang diperlukan bagi recovery disimpan di control-file
5. Berisi data tentang database itu sendiri, biasa dikenal dengan metadata 6. File ini sangat penting bagi database. Tanpa file ini Anda tidak dapat membuka data file untuk mengakses data yang ada pada database 7.
Wajib di-backup
Laboratorium Komputer – STIKOM
7
1.3. Redo Log Files Redo Log Files dipergunakan untuk menyimpan perubahan database sebagai akibat dari adanya transaksi dan internal action dari database Oracle. Mereka menjaga integritas database saat terjadi kegagalan sistem yang disebabkan oleh padamnya aliran listrik, kerusakan disk ataupun penyebab lainnya. Beberapa hal yang harus Anda ketahui tentang Redo Log Files : 1.
Berisikan informasi perubahan database atau redo entry dari Redolog Buffer
2.
Berisikan data perubahan yang di commit maupun yang tidak di commit
3.
Proses penulisan ke redolog file ini ialah sirkular atau berputar. Misalkan ada 4 buah file redolog file , maka penulisan pertama akan dimulai pada file bernama Redologl, setelah penuh berpindah ke Redolog2, Redolog3, Redolog4. Jika Redolog4 penuh maka file Redologl akan dikosongkan isinya dan ditulisi dengan data perubahan baru dan seterusnya
4.
Minimal ada 2 buah redolog group. Didalam 1 group minimal ada 1 file anggota atau member
5.
Sebaiknya terdapat lebih dari 1 member file di dalam 1 group. Sebaiknya file-file member didistribusikan dalam disk yang terpisah
6.
Semua group harus punya jumlah file member yang sama banyaknya
Laboratorium Komputer – STIKOM
8
Database Administrator
1.4. Datafiles Disinilah sebenarnya data milik user tersimpan. Datafiles merupakan bentuk fisik dari tempat penyimpanan ini. Datafiles berelasi
dengan
tablespace
sebagai
bentuk
logic
tempat
penyimpanan. Tablespace akan dibahas lebih lanjut pada modul 3. Beberapa hal penting yang harus diperhatikan mengenai Datafiles adalah : 1.
Tempat obyek database (tabel , index dsb) disimpan.
2.
Merupakan binary f ile (tidak dapat dibaca oleh text editor)
3.
Wajib di-backup
1.5. Oracle Instance Management Sebuah server Oracle terdiri atas Oracle database dan Oracle instance. Sebuah Oracle instance terdiri dari buffer memory atau yang lebih dikenal dengan istilah System Global Area (SGA) dan background process, yang akan meng-handle lebih banyak proses dibelakang layar untuk menjalankan instance. Pertama, instance bersifat idle (nonexistent) sampai ia di jalankan (started). Ketika instance sudah berjalan, file inisialisasi parameter dibaca dan instance di konfigurasi berdasarkan instruksi yang ada pada file parameter tersebut. Setelah instance berjalan dan database telah berstatus opened, baru kemudian user dapat mengakses database.
Laboratorium Komputer – STIKOM
9
1.6. Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM ) . Laboratorium Komputer – STIKOM
10
Database Administrator
Memory Oracle
= SGA + PGA
SGA
= Shared GlobalArea
SGA
= Shared Pool + Database Buffer Cache + Redolog Buffer
Shared Pool
= Library C ache + Data Dict. C ache
Program Global Area atau PGA merupakan area memory Oracle yang tidak di-share . Oracle mengenaliny asebagai nonshared per process memory area. Memori inidigunakan oleh background processdan juga oleh Server Process. Bila ada User Process maka akan dialokasikan sejumlah memori untuk Server Process, setelah selesai akan di-dealokasikan kembali. Pada mode standard dimana digunakan mode Dedicated Server, semua data mengenai session yang sedang connect ke database disimpan di PGA. Kecuali Anda menggunakan mode MTS (Multi Threaded Server), info session disimpan di SGA. SGA atau Shared Global Area merupakan bagian memory Oracle yang di-share atau dipakai bersama user. Di banyak referensi dan artikel, bila penulis mengatakan memory Oracle maka biasanya yang Dimaksud adalah SGA bukan PGA. Didalam SGA terdapat beberapa bagian penunjang sebagai berikut : Laboratorium Komputer – STIKOM
11
Database Buffer C ache Database Buffer Cache berisikan “the most recently used datablock”. Maksudnya ia merupakan tempat bagi datablock yang sering dipanggil oleh instruksi SQL. Ilustrasi : Tabel Dept milik Scott secara fisik disimpan di datafile
bernama
USR1ORCL.ORA.
Datafile
dibangun atas sekian banyak unit kecil yang bernamadatablock. Di dalam datablock disimpan baris-baris data dari tabel Dept. Jika Scott sering memanggil tabel Dept dengan perintah SELECT, m aka datablock-datablock yang di tabel Dept disalin ke buffer yang bernama Database buffer cache. Jika suatu saat nanti, user Scott atau user lain akan memanggil baris data yang sama maka Oracle tidak akanjauh-jauh mengakses data ke datafile, tapi Oracle akan mengambil dari memory dimana terdapat suatu bagian bernama Database buffer cache ini. Ukuran Database buffer cache ditentukan oleh rumus sebagai berikut:
Database Buffer Cache = db_block_size x db_block_buffers db_block_size
dan
db_block_buffers
adalah
parameter yang ditulis di file bernama parameter
Laboratorium Komputer – STIKOM
12
Database Administrator
file atau disebut juga file lNlT<SlD>.ORA atau kita singkat saja menjadi file Initsid.
Redo Log Buffer Redo Log Buffer Berisikan data perubahan dari Database. Perubahan sekecil apapun dicatat ke sini dan selanjutnya dic atatkan ke file Online Redo Log. Ilustrasi : Bila user Scott memasukkan 1 baris baru ke tabel Emp, maka Oracle akan meng-generate suatu informasi perubahan bernama redo entry. Redo entry ini kemudian disimpan ke RedologB uffer. Ingat, Oracle tetap akan meng-generate Redo entry bagi perubahan b aik yang di-commit maupun yang tidak di-commit. Sifat redo log buffer adalah tempat penyimpanan sementara, maka bila R edo log buffer penuh maka isinya akan disalin ke file bernama Online Redolog. Minimal terdapat 2 file Online Redo log di database. Sebenarnya file Online Redolog juga bersifat sebagai file sementara. Hal ini akan diterangkan di bagian file database.
Shared Pool Shared Pool digunakan untuk menyimpan statemen SQL yang sering di akses dan digunakan dari data dictionary. Statemen SQL ini biasanya diperoleh dari user proses, stored procedure yang membaca data Laboratorium Komputer – STIKOM
13
dictionary. Ia juga ini digunakan untuk meningkatkan kemampuan oracle dalam lingkungan multiuser. Shared Pool terbagi menjadi 2, yaitu :
Library Cache Library Cache berisikan “the most recently used SQL statement”, terdiri dari : -
Statement
-
Text parsed code (text yang telah diperiksa keabsahannya sebagai perintah)
-
Execution plan (rangkaian rencana Oracle untuk mengeksekusi perintah)
Data Dictionary Cache Data Dictionary Cache berisikan “the most recently used data dictionary table definitions and privileges user”. Di dalam Data Dictionary Cache dilakukan validasi nama obyek dan checking privilege user. Ilustrasi : Misalkan saat Tl user Scott memberikan perintah SELECT * FROM EMP, maka Oracle akan memeriksa dulu apakah perintah tersebut valid. Masing-masing kata yakni select, tanda bintang, from dan emp , dicheck satu persatu. Kata select , tanda bintang (*) dan from dicheck Oracle dengan perbendaharaan sintaks yang dikenali Oracle.
Laboratorium Komputer – STIKOM
14
Database Administrator
Kata Emp yang menunjukkan nama sebuah tabel dicheck dengan nama-nama tabel y ang terdaftar di data dictionary table. Selain
itu juga
dicheck
apakah
user Scott
mempunyai privileges yang cukup atas tabel Emp untuk melakukan perintah SELECT FROM EMP tersebut. Karena meskipun sintaksnya valid, jika user Scott tidak mempunyai cukup hak, maka Oracle tidak akan meneruskan eksekusi perintah tersebut, melainkan menampilkan pesan error. Proses validasi privileges di lakukan Oracle dengan melihat informasi yang tersimpan di data dictionary table. Bila kemudian pada saat T2 , user Scott atau user lain melakukan perintah yang sama maka Oracle tidak perlu lagi mencheck sintaks tersebut tapi langsung mengeksekusinya. Dengan konsep tersebut proses eksekusi sintaks yang sama akan lebih cepat. 1.7. Background Process Oracle Secara umum ada 4 kategori proses Oracle, yaitu : 1. User Process 2. Networking Process 3. Server Process 4. Background Process
Laboratorium Komputer – STIKOM
15
User-Process sebenarnya merupakan proses yang dilakukan oleh program aplikasi akibat dari input yang diberikan user. Contoh User-Process adalah proses yang dilakukan oleh SQL*plus. Server Process adalah proses yang melayani User-Process. Dengan kata lain Server Process bekerja atas nama User-Process. Network Process menyangkut proses yang dilakukan oleh aplikasi Net8 sebagai layer network Oracle. Background process merupakan proses paling dekat dengan database. Proses ini melayani segala keperluan database. Ada 2 jenis background process: -
Background Process Utama : bila salah satu background process ini fail, maka seluruh sistem Oracle akan fail.
-
Background Process Tambahan : background process ini bertugas membantu background process utama.
Background Process Utama Yang termasuk background process utama adalah :
DBWR atau DBWn (Database Writer) Tugas dan keterangan : -
Menulis semua data yang telah berubah (dirty image) dari database buffer cache ke datafile
-
Menyimpan the most recently used datablock dengan algoritma LRU (Least Recently Used)
-
Menentukan apakah penulisan ditunda atau tidak guna optimasi I/O
Laboratorium Komputer – STIKOM
16
Database Administrator
Jumlah
DBWR
maksima1
l0
buah.
Sebaiknya
jumlah
maksimalnya se banyak processor yang dimiliki komputer dan tentu saja tidak lebih dari 10 buah. Karena bisa lebih dari satu, maka kadang ia disebut juga sebagai DBWn, dimana n = 0, 1, 2 , . . . , 9 . Di beberapa referensi ia kadang disebut sebagai DBW0. Penentuan berapa banyak jumlah DBWR, dilakukan di file initsid dalam parameter DB_WRITER_PROCESSES.
SMON (System Monitor) Tugas dan keterangan : -
Melakukan automatic instance recovery
-
Melakukan merger contiguous area dari free space yang ada di datafile. Peristiwa tersebut dinamakan coalescing atau defraggingM
-
Mengklaim kembali space temporary segment yang sudah tidak digunakan kembali
PMON (Process Monitor) Tugas dan keterangan : -
Membersihkan user session yang terhenti secara abnormal
-
Me-rollback semua transaksi yang belum di-commit
-
Melepaskan lock y ang dipegang oleh terminated process
-
Membebaskan resource SGA yang dipakai oleh failed process
-
Me-restart failed shares server dan dispatcher process
-
Mengidentifikasi deadlocks
LGWR (L og Writer) Tugas dan keterangan : -
Hanya ada 1 LGWR di 1 instance
Laboratorium Komputer – STIKOM
17
-
Melakukan penulisan isi redolog buffer ke file online redolog ketika terjadi : ~
Commit
~
Redolog buffer sudah 1/3 penuh
~
DBWR selesai membersihkan database buffer block selama checkpoint
~
Time out LGWR tercapai
CKPT (Check Point) Tugas dan keterangan: -
Proses checkpoint memberitahu DBWR untuk menulis dirty buffer ke disk dan kemudian meng-update header dari datafile dan header controlfile dengan nilai SCN (System Change Number) baru
-
Pada versi pre-Oracle8 tugas CKPT dilakukan oleh proses LGWR
-
Checkpoint terjadi setiap terjadi log switch
-
Untuk memaksa checkpoint : ~
ALTER SYSTEM SWITCH LOGFILE
~
ALTER SYSTEM CHECKPOINT – memaksa lebih cepat
Background Process Tambahan
Server Processes Tugas dan keterangan : -
Bekerja atas nama User Process
-
Memparsing dan mengeksekusi statement SQ L
-
Membaca datablock dari disk ke database buffer cache
-
Mengembalikan hasil dari statement SQL ke user process
Laboratorium Komputer – STIKOM
18
Database Administrator
ARCH (Archiver Process) Tugas dan keterangan : -
Mengkopi file online redolog ke lokasi yang ditentukan parameter LOG_ARCHIVE_DEST ketika LGWR melakukan switch ke grup baru
-
Mengkopi file online redolog ke tape atau disk untuk recovery akibat media failure
-
Bekerja hanya ketika terjadi log switch
-
Hanya diperlukan jika database running dalam mode ARCHIVELOG
RECO (Recover Pr ocess) -
Digunakan untuk me-resolve failures pada distributed database
-
Jika difile parameter diset DISTRIBUTED_TRANSACTIONS = true
-
Proses ini optional dan hanya ada pada sistem database terdistribusi
LCKn (Lock Process) -
Jika menggunakan sistem Oracle Parallel Server, maka proses ini diperlukan
-
Digunakan untuk locking inter-instance
Dispatcher Process -
Merupakan bagian dari arsitektur MTS (Multi Threaded Server)
Laboratorium Komputer – STIKOM
19
-
Meminimasi resource overhead dengan menangani multi connections
1.8. DBCA Overview Untuk membuat, mengubah konfigurasi atau menghapus database
Oracle
dapat
memanfaatkan
fasilitas
Database
Configuration Assistant (DBCA). Anda juga dapat menggunakan DBCA untuk membuat database baru berdasarkan template yang sudah tersedia ataupun berdasarkan database yang sudah ada sebagai acuan. Langkah pertama dari pembuatan sebuah database baru adalah memilih opsi create a database pada jendela operation. Selanjutnya terdapat 4 opsi yang dapat dipilih yaitu: Custom Database, Data Warehouse, General purpose dan Transaction Processing. Opsi pertama digunakan apabila Anda menginginkan database baru tersebut memiliki kompleksitas lingkungan yang tinggi (more complex environments). Pilihan ini juga meminta Anda untuk lebih banyak memasukkan parameter yang akan digunakan dan waktu pembuatannya pun memakan waktu yang relatif lebih lama. Tiga opsi terahir merupakan template yang sudah tersedia. Pilihlah yang sesuai dengan kebutuhan. Langkah
selanjutnya
adalah
meminta
Anda
untuk
mengidentifikasi database, menentukan management options-nya, memasukkan
passwords
administrator
dan
mekanisme
penyimpanannya serta langkah-langkah penentuan parameter pendukung lainnya. Akhirnya tibalah di langkah terakhir dimana Anda dapat membuat database baru (berdasarkan inputan pada langkahLaboratorium Komputer – STIKOM
20
Database Administrator
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah template baru yang dapat dipergunakan untuk membuat database baru lainnya di kemudian hari.
Laboratorium Komputer – STIKOM
21
Latihan 1.
Carilah lokasi file database fisik Oracle yang terdapat pada komputer yang sedang Anda pergunakan saat ini.
2.
Dengan menggunakan fasilitas DBCA, buatlah sebuah database baru dengan ketentuan sebagai berikut :
Database name
: DBnimpendek
Database template
: General purpose
Database Mode
: Dedicated Server Mode
Memory
: Typical
Untuk keterangan lainnya yang belum ditentukan dapat diasumsikan saja. 3.
Catat
semua
keterangan
yang
diberikan
setelah
proses
pembuatan database selesai dilakukan. Hal ini sangat berguna untuk proses administrasi server Oracle selanjutnya.
Laboratorium Komputer – STIKOM
22
Database Administrator
MODUL 2 CONTROLLING THE DATABASE Untuk setiap menit kemurahan, Anda kehilangan 60 detik kebahagiaan.
Tujuan Praktikan dapat mengatur file parameter initialization dan mengontrol database (startup dan shutdown database) Materi File Parameter Initiaization
Startup - Shutdown Database Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba2
Laboratorium Komputer – STIKOM
* *
23
2.1. Starting and Stopping iSql*Plus
iSQL*Plus Application Server harus running terlebih dahulu sebelum Anda dapat memulai sebuah iSQL*Plus session. Secara default iSQL*Plus Application Server akan otomatis running (started) pada saat proses instalasi database. Untuk me-start atau stop iSQL*Plus Application Server pada Windows dapat dilakukan dengan cara : -
Pilih Services dari menu Start > Programs > Administrative Tools
-
Carilah
Windows
Service
untuk
iSQL*Plus,
OracleHomeNameiSQL*Plus -
Jalankan (Start) Windows Service-nya untuk mengaktifkan iSQL*Plus Application Server atau hentikan (Stop) servicenya untuk menonaktifkan iSQL*Plus Application Server
-
Alternatif lainnya adalah dengan menggunakan command promt. Adapun sintaks nya adalah :
-
Laboratorium Komputer – STIKOM
24
Database Administrator
o
isqlplusctl start
o
isqlplusctl stop
2.2. Management Framework Tiga komponen utama Oracle Database 10g management framework adalah : -
Database instance
-
Listener
-
Management interface : o
Database Control
o
Management agent (jika mempergunakan grid control)
Setiap daripada komponen ini secara eksplisit harus started terlebih dahulu sebelum Anda dapat menggunakan masing-masing service komponen yang tersedia dan harus pula di shut down secara benar pada saat mematikan komputer server Oracle 10g. Database instance sudah dibicarakan pada modul 1. Service database instance harus terlebih dahulu started sebelum user dapat melakukan koneksi (membuat session) ke database Oracle. Listener dapat
dianalogikan
sebagai
bagian
Laboratorium Komputer – STIKOM
pendengar
apabila
ada 25
permintaan koneksi dari client. Client tidak akan tidak melakukan koneksi apabila listener service belum dijalankan. Pembahasan mengenai Listener akan diperdalam pada modul 6. Database control, ini yang nanti selanjutnya akan Anda pergunakan untuk mengontrol database, memiliki service yang juga harus terlebih dahulu dijalankan. Service ini dikenal dengan dbconsole (dapat ditemukan pada area service Windows).
2.3. Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise Manager yang bersifat web base. Bukalah web browser Anda dan tuliskanlah URL berikut :
http://hostname:portnumber/em Biasanya portnumber default yang digunakan adalah 5500. Jika database sudah dalam keadaan up dan siap menerima permintaan koneksi dari client maka Enterprise Manager akan menampilkan Laboratorium Komputer – STIKOM
26
Database Administrator
halaman Database Control Login, seperti tampak pada gambar diatas. Login-lah dengan menggunakan nama user yang telah terautorisasi untuk mengakses Database Control. Nama user yang bisa digunakan adalah SYS, SYSMAN, atau SYSTEM. Password untuk masing-masing nama user tersebut sudah Anda spesifikasikan pada saat melakukan instalasi database.
2.4. SYSOPER and SYSDBA
Penggunaan Connect As SYSOPER atau SYSDBA dapat dijelaskan sebagai berikut :
SYSOPER Ini adalah role database administrator khusus yang mengijinkan
seorang
DBA,
dengan
role
ini,
untuk
melakukan STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG dan RECOVER serta termasuk juga hak akses (privileges) RESTRICTED SESSION.
Laboratorium Komputer – STIKOM
27
SYSDBA Ini adalah role database administrator khusus yang mengijinkan
seorang
DBA,
dengan
role
ini,
untuk
melakukan semua system privileges with ADMIN OPTION dan
SYSOPER
system
privileges.
Role
ini
juga
memungkinkan untuk melakukan CREATE DATABASE dan incomplete recovery.
2.5. Database Home Page Database Home page digunakan untuk mengatur performance, administration, dan maintenance database milik Anda. Ini semua terletak dalam tabulasi-tabulasi yang ada pada Database Home page. Selain itu tersedia pula link pada masing-masing bagian tabulasi untuk memonitor informasi mengenai kondisi ”kesehatan” database Anda saat ini.
Laboratorium Komputer – STIKOM
28
Database Administrator
2.6. Startup and Shutdown Options
Agar database dapat diakses oleh user, maka ia harus dalam keadaan OPEN. Sebelum mencapai kondisi OPEN ada beberapa tahapan yang harus dilalui dan masing-masing tahapan tersebut memiliki fungsi dan peran dalam mendukung database, yaitu :
NOMOUNT Pada tahapan ini maka Oracle akan melakukan instance started. Ini penting karena seperti yang telah dijelaskan pada modul 1 bahwa instance harus jalan (started) terlebih dahulu baru
dapat
membuka
database.
Pada
saat
instance
dijalankan terdapat beberapa tugas yang harus dikerjakan, yaitu : -
Membaca initialization file dari $ORACLE_HOME/dbs, dengan urutan spfileSID.ora – spfile.ora – initSID.ora.
-
Mengalokasikan SGA
-
Menjalankan background proses yang dibutuhkan
-
Membuka file alertSID.log dan trace file
Laboratorium Komputer – STIKOM
29
MOUNT Membaca konfigurasi database yang ada di control file. Selain itu kondisi database pada posisi ini dapat digunakan untuk melakukan beberapa kegiatan pemeliharaan database, seperti : -
Mengubah nama data file
-
Enable dan disable opsi dari online redo log file archiving
Melakukan full database recovery
OPEN Semua file suka terbuka (open), sesuai dengan yang terdapat pada control file. Pada kondisi inilah user dapat melakukan koneksi ke database dan melakukan beberapa akses terhadap database.
Lawan dari startup ada shutdown database. Untuk melakukan operasi shutdown, juga terdapat beberapa pilihan, yaitu :
ABORT
IMMEDIATE
TRANSACTIONAL
NORMAL
Laboratorium Komputer – STIKOM
30
Database Administrator
Dengan pilihan tersebut akan menghasilkan kondisi database saat dimatikan yang beragam pula, dikenal dengan istilah clean database dan dirty database. Hal itu seperti tampak pada gambar berikut ini.
Laboratorium Komputer – STIKOM
31
Latihan 1.
Carilah file initialization parameters yang ada di komputer Anda saat ini. Buka file tersebut dan terangkan apa isinya.
2.
Hapuslah
file
spfileSID.ora.
Kemudianlah
restart-lah
komputer Anda. Apa yang terjadi ? Apa fungsi file spfileSID.ora tersebut ? 3.
Carilah file yang berkaitan dengan Alert Log. Pelajari fungsi dari file tersebut.
4.
Cobalah masing-masing opsi start up yang ada pada Oracle.
5.
Cobalah untum men-shutdown database Anda dengan menggunakan
opsi
ABORT,
IMMEDIATE,
TRANSACTIONAL ataupun NORMAL.
Laboratorium Komputer – STIKOM
32
Database Administrator
MODUL 3 STORAGE STRUCTURE Untuk berhasil dalam pekerjaan harus memiliki persiapan yang cukup
Tujuan Praktikan dapat mengatur storage di database Oracle 10g melalui fasilitas Enterprise Manager Materi Creating Tablespaces
Creating Data Files Manage Tablespaces Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba3
Laboratorium Komputer – STIKOM
* *
33
3.1. Tablespace and Datafiles Media penyimpanan (storage) di Oracle di kenal dengan istilah logical stroge dan physical storage. Logical storage terbagi lagi menjadi :
Tablespace Kumpulan satu atau lebih data file yang diasosiasikan dengan database (terkait). Obyek database seluruhnya dibuat diatas tablespace tersebut
Segment Terminologi penyimpanan data dimulai dari blok data pada sebuah tablespace yang merupakan satuan terkecil dari disk. Blok data ini kemudian membentuk Extent. Himpunan Extent membentuk Segment. Seorang user memiliki sebuah segment.
Extent Extent terdiri dari datablock (yang berdekatan/contiguous).
Datablock satuan terkecil yang berisi header (info) tentang block tersebut dan data di dalamnya.
Media penyimpanan fisik adalah datafile. Datafile memiliki beberapa karakteristik, yaitu :
Hanya dapat beraviliasi dengan satu tablespace dan satu database
Merupakan sebuah repository (tempat penyimpanan) dari schema object data
Laboratorium Komputer – STIKOM
34
Database Administrator
Data file terdiri dari data actual dari database, seperti : table, stored procedure, index, dll. Data file tidak dapat diakses langsung oleh pemakai database tetapi harus melalui logical layer, misalnya melalui tablespace.
3.2. Space Management in Tablespaces Terdapat 2 tipe manajemen tablespace, yaitu :
Locally managed tablespace Manajemen extent dilakukan pada tablespace dengan menggunakan
bitmap.
Setiap
bit
dalam
bitmap
berkorespondensi dengan sebuah block atau sekumpulan block
data.
Ketika
extent
baru
dialokasikan
atau
di”bebaskan” untuk dipergunakan kembali, maka Oracle Server mengubah nilai bitmap untuk mengetahui status baru dati block data.
Dictionary-managed tablespace Manajemen extent dilakukan oleh data dictionary. Oracle Server akan meng-update table dengan tepat pada data dictionary ketika sebuah extent dialokasikan atau di dealokasikan.
Laboratorium Komputer – STIKOM
35
3.3. Tablespace in the Preconfigured Database Pada awal terbentuknya sebuah database baru, ia telah memiliki beberapa tablespace default yang memiliki fungsi dan peran masaing-masing, yaitu:
SYSTEM Dipergunakan oleh Oracle database Server untuk mengatur database.
SYSAUX Ia membantu tablespace SYSTEM dalam mengatur database.
TEMP Tablespace ini dipergunakan untuk menyimpan temporary table dan index ketika memproses perintah SQL.
UNDOTBS1 Tablespace ini dipergunakan oleh database server untuk menyimpan informasi undo. Biasanya dipergunakan untuk operasi Rollback.
USERS Tablespace ini dipergunakan sebagai tempat penyimpan user object dan data secara permanen.
EXAMPLE Tablespace ini berisi sample schema yang dapat diinstall pada saat pembuatan sebuah database baru.
Laboratorium Komputer – STIKOM
36
Database Administrator
3.4. Dropping Tablespaces Anda dapat menghapus tablespace beserta isinya (segmentsegment yang ada didalamnya) dari database jika tablespace itu memang sudah tidak dibutuhkan lagi. Anda harus memiliki DROP TABLESPACE system privilege untuk menghapusnya. (Privilege akan dibicarakan lebih lanjut pada modul 4).
Laboratorium Komputer – STIKOM
37
Latihan 1.
Bukalah Enterprise Manager yang ada dilokal komputer Anda.
2.
Pergunakan Database Control untuk melihat semua tablespace yang ada di database Anda. Untuk setiap tablespace catatlah nama tablespace-nya, tipe, ukuran (size), dan percent used-nya dalam tabel dibawah ini :
Tablespace
Type
Name
3.
Size
Used
(MB)
%
Hampir sama dengan persoalan diatas, hanya saja yang harus anda catat adalah file name, tablespace name, current size, autoextend status, dan maximum file size (jika autoexgtend-nya enale), dalam table dibawah ini :
File Name
Tablespace
Current
Auto
Maximum
Name
Size(MB)
extend ?
Size(MB)
Laboratorium Komputer – STIKOM
38
Database Administrator
4.
Buatlah sebuah tablespace untuk menyimpan informasi aplikasi inventori dengan karakteristik sebagai berikut : Tablesapce Name
: INVENTORYXXX (ket : XXX adalah 3 karakter initial nama Anda)
File Size
: 5 MB
Extend Management
: Local
AUTOEXTEND
: disable
Type
: Permanent
Extend Allocation
: Automatic
Status
: Read Write
Segment space manag.
: Auto
File name
: inventory01.dbf
Enable Logging
: Yes
File directory
: default
Use default thresholds 5.
Ubahlah kapasitas tablesapce anda menjadi 10 MB.
6.
Ubahlah lagi kapasitas tablespace anda menjadi 3 MB.
7.
Ubahlah mode tablespace anda manjadi READ ONLY.
8.
Kembalikan lagi karakteristik tablespace anda seperti soal no. 4.
9.
Ubahlah
datafile
tablespace
INVENTORYXXX
menjadi
inventory02.dbf.
Laboratorium Komputer – STIKOM
39
Halaman ini sengaja di kosongkan
Laboratorium Komputer – STIKOM
40
Database Administrator
MODUL 4 ADMINISTERING USERS Orang mulia menyalahkan dirinya, orang bodoh menyalahkan orang lain
Tujuan Praktikan dapat membuat user sesuai dengan kebutuhannya dan dapat mengatur user dalam database Materi Create User
Privileges Roles Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba4
Laboratorium Komputer – STIKOM
* *
41
4.1. Database User Accounts Untuk dapat mengakses database, seorang user harus menspesifikasikan user account yang valid beserta autentikasinya. Pada beberapa sistem, setiap user yang ada pada database memiliki user account sendiri-sendiri, tapi juga ada beberapa system yang menerapkan satu user account di pakai bersama oleh beberapa orang user. Masing-masing user account memiliki sebuah : Username yang unik Metode autentikasi Tablespace default Tablespace temporary User profile
Langkah-langkah pembuatan sebuah user account baru melalui Enterprise Manager : Pilih Users dari halaman Administration, lalu tekan tombol Create
Laboratorium Komputer – STIKOM
42
Database Administrator
Berikan profile yang benar
Pilih metode autentikasi o
Password User harus memasukkan password yang sesuai setiap kali melakukan koneksi. Ketika membuat sebuah
password
anda
juga
dapat
sekaligus
memaksa password tersebut untuk expired segera, dimana seorang user harus segera mengganti password nya pada saat pertama kali login. Tapi harap diperhatikan, pastikan dulu bahwa user memiliki hak untuk merubah password sebelum anda melakukan expired.
Laboratorium Komputer – STIKOM
43
o
External User
tidak
perlu
menspesifikasikan
username
maupun password bila ingin melakukan koneksi ke Oracle. Dengan external autentikasi, database anda akan menggunakan fasilitas autentikasi operating system atau network. Parameter inisialisasi yang digunakan adalah OS_AUTHENT_PREFIX. o
Global Metode autentikasi dengan menggunakan Oracle Advanced Security option.
Berikut adalah checklist untuk pembuatan user : Pilih profile Pilih metoda autentikasi Berikan tablespace default dan tablespace temporary Berikan privileges dan roles yang sesuai Tentukan kuota untuk masing-masing tablespace yang diberikan
4.2. Privileges Untuk dapat berkomunikasi dengan server Oracle, seorang user harus memiliki hak akses, di Oracle dikenal dengan nama Privileges. Secara garis besar, privileges dibagi menjadi dua, yaitu System Privileges dan Object Privileges.
Laboratorium Komputer – STIKOM
44
Database Administrator
DBA
Privileges Username dan Password
USERS
4.3. System Privileges Berikut adalah karekteristik dari System Privileges : Privileges ini mengijinkan user untuk melakukan kegiatan (action) tertentu pada database Terdapat kurang lebih 100 system privileges Keyword ANY pada privileges menunjukkan bahwa user memiliki hak pada semua schema Perintah GRANT digunakan untuk menambahkan system privileges kepada user atau grup user Perintah REVOKE digunakan untuk menghapus system privileges yang pernah diberikan Seorang DBA memiliki level tertinggi dalam System Privileges, untuk : o
Create user baru
Laboratorium Komputer – STIKOM
45
o
Remove user
o
Remove table
o
Backup table
Begitu seorang user sudah di buat, maka DBA dapat memberikan hak (grant) system privileges yang diperlukan oleh user tersebut. Untuk memberikan system privileges kepada user melalui Enterprise Manager, ikuti langkah-langkah berikut : Pilih link System Privileges Pilih privileges yang sesuai dengan kebutuhan user dari daftar privileges yang tersedia Klik panah Move untuk memindahkannya
Laboratorium Komputer – STIKOM
46
Database Administrator
Berikut ini adalah syntax pemberian System Privileges :
GRANT privilege [, privilege...] TO user [, user...];
Seorang aplication developer biasanya memiliki minimal system privilege sebagai berikut : Create Session Digunakan untuk koneksi ke database Oracle Create Table Digunakan untuk membuat tabel pada database Create View Digunakan untuk membuat view Create Procedure Digunakan untuk membuat prosedur Create Sequence Digunakan untuk membuat sequence
SQL> GRANT create table, create sequence, create view 2 TO scott; Grant succeeded.
GRANT CREATE SESSION TO scott WITH ADMIN OPTION;
Laboratorium Komputer – STIKOM
47
Revoking System Privileges :
REVOKE CREATE TABLE FROM user1; REVOKE CREATE SESSION FROM scott;
4.4. Object Privileges Object privileges memiliki karakteristik sebagai berikut : Object privileges berbeda dari satu object dengan object lainnya Seorang owner memiliki semua object privileges terhadap object yang dimilikinya Seorang owner dapat memberikan object privileges tertentu terhadap object yang dimilikinya kepada user lain Untuk memberikan Object Privileges kepada user lain, ikutilah langkah-langkah berikut ini : Pilih link Object Privileges Pilih tipe object yang akan diberi privileges Tekan tombol Add
Laboratorium Komputer – STIKOM
48
Database Administrator
Object Priv.
Table
ALTER
√
DELETE
√
View
Sequence
Procedure
√ √
EXECUTE
√
INDEX
√
INSERT
√
REFERENCES
√
SELECT
√
√
UPDATE
√
√
Laboratorium Komputer – STIKOM
√
√
49
Tabel diatas menunjukkan jenis object privileges yang dapat diberikan terhadap object database yang spesifik. Misal, object privileges ALTER, dapat diberikan pada Table dan Sequence.
Berikut ini adalah sytax pemberian object privileges :
GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION];
Syntax grant SELECT pada tabel emp :
SQL> GRANT select 2 ON emp 3 TO sue, rich; Grant succeeded.
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc :
SQL> GRANT update (dname, loc) 2 ON dept 3 TO scott, manager; Grant succeeded.
Laboratorium Komputer – STIKOM
50
Database Administrator
Keyword WITH GRANT OPTION. Memberikan hak (grant) SELECT dan INSERT kepada user scott dimana user scott dapat meneruskan hak yang diterimanya itu kepada user lainnya.
SQL> GRANT select, insert 2 ON dept 3 TO scott 4 WITH GRANT OPTION; Grant succeeded.
Keyword PUBLIC. Memperbolehkan semua user yang terdapat pada database yang sama dengan dengan alice untuk melakukan SELECT pada tabel dept.
SQL> GRANT select 2 ON alice.dept 3 TO PUBLIC; Grant succeeded.
4.5. Assigning Quota to Users User harus diberikan quota pada tablespace yang dimilikinya. Hal ini harus dilakukan, apabila tidak maka user tersebut tidak akan dapat menyimpan data di tablespace miliknya. Quota yang diberikan dapat berupa :
Unlimited (tak terbatas)
Bernilai tertentu (dalam megabytes atau kilobytes)
Laboratorium Komputer – STIKOM
51
4.6. Roles
Users
Manager
Allocating privileges without a role
Privilege s
Laboratorium Komputer – STIKOM
Allocating privileges with a role
52
Database Administrator
Kedua gambar diatas dapat digunakan sebagai ilustrasi dalam masalah pemberian privileges yang berkaitan dengan role. Gambar
kiri
menunjukkan
betapa
ribet
dan
rumitnya
memberikan privileges kepada hanya 3 orang user.. DBA harus memberikan privileges yang sesuai kepada masing-masing user, yang tidak tertutup kemungkinan bahwa privileges yang diberikan kepada user pertama akan sama dengan privileges yang diberikan kepada dua user lainnya.Seperti tampak pada gambar diatas, dengan hanya memberikan 4 buah privileges kepada 3 orang user, maka DBA harus melakukannya dengan 4 x 3 langkah, yaitu 12 langkah. Berbeda dengan gambar ysng sebelah kanan. Disini, DBA membuat dulu sebuah role yang kemudian diisi oleh 4 buah privileges dan barulah role tersebut diberikan kepada user yang membutuhkannya. Sungguh sangat sederhana bukan ? Dengan demikian dapat diambil pengertian bahwa role adalah wadah atau tempat yang dapat digunakan untuk menampung satu set privileges yang dapat diberikan kepada user atu role lainnya.
Keuntungan menggunakan role : Mengurangi jumlah privileges yang akan di berikan (grant) Mempermudah manajemen privileges Manajemen privileges secara dinamis Pemberian privileges secara selektif Meningkatkan performance
Laboratorium Komputer – STIKOM
53
Untuk memberikan role kepada seorang user, dapat anda lakukan dengan cara : Pilih Modify Roles Pilih role yang diinginkan dan tekan tombol Move
Karkteristik role : Sebuah role dapat berisi system dan object privileges Sebuah role dapat di enable dan disable untuk setiap user yang menerimanya Sebuah role dapat memiliki password untuk meng-enablenya Role tidak berada di sebuah schema tertentu
Laboratorium Komputer – STIKOM
54
Database Administrator
Ada beberapa Role yang sudah ada secara otomatis pada saat anda meng-install database Oracle, antara lain :
Role Name
Description
CONNECT
The two roles are provided for
RESOURCE
backward compatibility All
DBA
system
privileges
WITH
ADMIN OPTION
EXP_FULL_DATABASE
Privileges to export the DB
IMP_FULL_DATABASE
Privileges to import the DB
DELETE_CATALOG_ROLE
DELETE privileges on DD tables
EXECUTE_CATALOG_ROLE SELECT _CATALOG_ROLE
Secara
default,
Enterprise
EXECUTE
privileges
on
DD
packages SELECT privilege on DD tables
Manager
secara
otomatis
akan
memberikan role CONNECT kepada user baru.
Berikut ini adalah syntax yang berhubungan dengan role : ALTER USER scott DEFAULT ROLE hr_clerk, sales_clerk;
Perintah diatas digunakan untuk memberikan role hr_clerk dan sales_clerk sebagai role default pada user scott. ALTER USER scott DEFAULT ROLE ALL;
Laboratorium Komputer – STIKOM
55
Perintah diatas dapat digunakan untuk memberikan semua role yang ada pada system oracle kepada user scott. ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk;
Perintah diatas digunakan untuk memberikan semua role yang ada pada system oracle kecuali role hr_clerk. ALTER USER scott DEFAULT ROLE NONE;
Perintah diatas digunakan untuk menghapus semua role default yang pernah diberikan pada user scott. Enable dan disable role : Disable role akan me-revoke role dari seorang user Enable role akan meng-grant role tersebut kepada seorang user Perintah SET ROLE digunakan untuk meng-enable dan disable role Role default akan di enable kepada user saat login Password dapat digunakan untuk meng-enable role Contoh dengan menggunakan syntax :
SET ROLE sales_clerk IDENTIFIED BY commission;
SET ROLE hr_clerk;
SET ROLE ALL EXCEPT sales_clerk;
Laboratorium Komputer – STIKOM
56
Database Administrator
SET ROLE NONE;
Acuan dalam pembuatan role :
Users
User roles Application roles
HR_CLERK
HR_MANAGE R
BENEFITS
Application privileges Benefits Privileges
PAY_CLERK
PAYROLL
Payroll Privileges
privileges
Laboratorium Komputer – STIKOM
57
Latihan 1.
Buatlah role dengan aturan sebagai berikut : a.
Buat
sebuah
kemampuan
role
dengan
SELECT
nama
dan
HRCLERK
UPDATE
dengan
pada
table
hr.employees. b.
Buat sebuah role dengan nama HRMANAGER dengan kemampuan INSERT dan DELETE pada table hr.employees. Grant role HRCLERK kedalam role HRMANAGER.
2.
3.
Buatlah 3 buah user baru a.
User DHAMBY sebagai HR clerk baru
b.
User RPANDYA sebagai HR clerk juga
c.
User JGOODMAN sebagai HR manager baru
Lakukan tes untuk user baru tersebut a.
Konek dengan menggunakan user DHAMBY. Cobalah untuk
melakukan
perintah
SELECT
data
dari
table
hr.employees. b.
Cobalah untuk delete data dari table hr.employees.
c.
Konek dengan menggunakan user JGOODMAN dan cobalah untuk select kemudian delete data dari table hr.employees.
d. 4.
Rollback perintah delete agar datanya kembali lagi.
Pada user DHAMBY, buatlah sebuah tabel data mahasiswa yang berisi nim dan nama mahasiswa yang Anda kenal pada grup praktikum ini. Lalu ”sharing” lah tabel tersebut agar user lain pada database yang sama dapat ikut melihatnya.
Laboratorium Komputer – STIKOM
58
Database Administrator
5.
Berilah user RPANDYA system privilege CREATE TABLE dengan tambahan WITH ADMIN ACTION. Coba cabut hak CREATE TABLE dari user DHAMBY melalui user RPANDYA.
6.
Carilah view pada data dictionary yang menyimpan keterangan tentang privilege yang sekarang ada di database Anda.
7.
Buatlah tabel tentang data dictionary view yang Anda temukan pada soal diatas, seperti berikut :
Data Dictionary Table ROL_SYS_PRIVS … … …
Description System privileges granted to roles … … …
Laboratorium Komputer – STIKOM
59
Halaman ini sengaja di kosongkan
Laboratorium Komputer – STIKOM
60
Database Administrator
MODUL 5 ORACLE DATABASE SECURITY Kesehatan selalu tampak lebih berharga setelah kita kehilangannya.
Tujuan Praktikan mampu mengamankan data yang ada di database miliknya Materi Oracle Database Security Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba5
Laboratorium Komputer – STIKOM
* *
61
5.1. Database Security Salah satu tugas seorang DBA adalah menjaga keamanan data yangtersimpan di dalam database miliknya. Dan inilah sebenarnya yang merupakan tantangan terbesar seorang DBA. Seorang DBA yang handal tentu saja dapat mengamankan database miliknya dengan baik, sehingga user akan merasa aman dan nyaman menyimpan data di schema miliknya. Oracle
Database
10g
sudah
dilengkapi
dengan
sebuah
framework keamanan system tingkat tinggi, hanya saja dibutuhkan keterampilan khusus dari seorang administrator database-nya, serta monitoring kegiatan server secara berkelanjutan. Adapun beberapa aspek keamanan tersebut adalah :
Restricting access to data and services Tidak semua user boleh mengakses keseluruhan data yang tersimpan di database, tergantung dari tingkat kepentingan serta level dari user itu sendiri. Data-data tentang kartu kredit, catatan kesehatan seseorang dan identitas personal merupakan contoh data yang harus dilindungi dari akses oleh user-user yang tidak dikenal. Dengan membatasi hak akses, keamanan data akan lebih dapat terjamin.
Authenticating users Untuk dapat mengatur kontrol akses terhadap data yang sensitif, maka system harus tahu dulu siapa user yang sedang mencoba untuk mengaksesnya melalui proses autentikasi. Sehingga user yang tidak memiliki hak ataupun kepentingan terhadap data tersebut tidak akan dapat melakukan koneksi apalagi membuka data sensitif tersebut.
Laboratorium Komputer – STIKOM
62
Database Administrator
Monitoring for suspicious activity Meskipun telah terdaftar, user-user yang telah dikenali oleh system tetap harus diawasi. Aktifitas yang mencurigakan, seperti pengambilan informasi tentang kartu kredit dalam jumlah yang besar, ataupun informasi yang bersifat sensitif, bisa dijadikan langkah awal pendeteksian adanya usaha pencurian data.
5.2. Apply the Principle of Least Privileges Salah satu metoda yang ada untuk permasalahan security ini adalah menerapkan sebuah aturan yang dikenal dengan sebutan Principle of Least Privileges. Dengan menerapkan prinsip ini diharapkan sudah mengurangi kemungkinan kecurian data. Meskipun demikian prinsip ini harus benar-benar dipahami oleh seorang DBA sebelum menerapkannya terhadap user. Karena security selalu berhadapan dengan kenyamanan dan kebebasan user. Artinya setiap meningkatkan security selalu saja mengurangi kenyamanan dan kebebasan user. Jangan sampai karena hanya ingin agar database nya aman maka seorang DBA mengorbankan kepentingan user-nya. Adapun isi dari metoda Prinsciple of Least Privileges adalah sebagai berikut :
Protect the data dictionary
Revoke unnecessary privileges from PUBLIC
Restrict the directories accessible by users
Limit users with administrative privileges
Restrict remote database authentication
Laboratorium Komputer – STIKOM
63
5.3. Manage Default User Accounts Saat membuat sebuah database baru dengan menggunakan fasilitas DBCA, Oracle juga turut membuat beberapa user default. User-user
tersebut
ada
yang
berkaitan
dengan
database
administrator namun banyak pula yang tidak. Terlebih apabila Anda turut mencentang sample schema di salah satu langkah Create Database melalui DBCA. Namun demikian, account keseluruhan user default tersebut akan otomatis terkunci (lock) kecuali user-user berikut ini :
SYS
SYSTEM
SYSMAN
DBSNMP
Keempat user tersebut diatas merupakan user-user yang memilik kaitan dengan database administrator. karena
itu
Oleh pastikanlah
bahwa account keempat user itu dalam keadaan aman. Apabila
Anda
membuat database baru tidak DBCA
melalui atau
fasilitas bisa
dikatakan secara manual, maka semua account user-user default tidak akan otomatis terkunci. Anda sebagai DBA-lah yang harus mengatur account-account tersebut.
Laboratorium Komputer – STIKOM
64
Database Administrator
5.4. Implement Standard Password Security Features
Password Management dapat di set up melalui profile, lalu berikan profile tersebut kepada user yang bersangkutan. Anda juga dapat melakukan Lock, Unlock dan Expired Account dengan menggunakan perintah CREATE USER atau ALTER USER. Limitasi pada password akan selalu di gunakan meskipun inisialisasi pada RESOURCE_LIMIT untuk instance di set menjadi FALSE. Profile dapat menyediakan beberapa standard security feature, yaitu :
Account locking Otomatis mengunci account user tertentu yang telah gagal log in ke sistem Oracle
Laboratorium Komputer – STIKOM
65
Password aging and expiration Mengatur jangka waktu lifetime password user, setelah ia expire dan harus diganti dengan password yang baru
Password history Men-check
password
baru
yang
diberikan
bukan
merupakan sebuah password lama yang digunakan kembali
Password complexity verification Mengatur kompleksitas password agar tidak mudah ditebak oleh user lainnya
Laboratorium Komputer – STIKOM
66
Database Administrator
Password verification function memberikan acuan dalam memberikan password dengan aturan sebagai berikut :
Panjang minimum 4 karakter
Password tidak boleh sama dengan nama user
Password setidaknya harus memiliki satu huruf, satu angka, dan satu spesial karaktek
Password harus berbeda dari password sebelumnya, paling tidak 3 huruf
5.5. Creating a Password Profile Untuk membuat sebuah profile dapat dilakukan melalui Enterprise Manager. Bukalah halaman Administration lalu pilih Profiles dan klik paa
tombol
Create.
Nilai
awal
akan
diberikan secara default, Anda
namun dapat
mengubahnya dengan
cara
Laboratorium Komputer – STIKOM
67
memilih melalui daftar nilai yang telah tersedia (dengan meng-klik gambar senter) atau langsung memasukkan nilai yang diinginkan.
Latihan 1.
Tampilkan semua privileges yang memiliki option PUBLIC.
2.
Sebutkan Packages apa saja yang seharusnya tidak memilik privileges EXECUTE pada option PUBLIC.
3.
Carilah object database yang dimiliki oleh SYS yang memiliki privileges EXECUTE yang juga di grant kepada PUBLIC.
4.
Carilah user-user yang memiliki role DBA.
5.
Buatlah sebuah profile dengan nama HRPROFILE yang membatasi idle time seorang user selama 15 menit. Untuk batasan (limitasi) lainnya biarkan Default.
6.
Buatlah sebuah user baru dengan nama JGOODMAN namun tidak diberikan profile secara spesifik. Analisalah, profile apa yang akan diberikan kepada user tersebut dan jelaskan batasan limitasinya.
7.
Buatlah agar user JGOODMAN secara otomatis akan logout setelah 15 menit dari jam kantor selesai (office hour : 08.00 – 16.00).
8.
Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION, ada sebuah script yang harus dijalankan terlebih dahulu. Carilah script tersebut lalu kemudian eksekusilah (jalankan).
Laboratorium Komputer – STIKOM
68
Database Administrator
9.
Buatlah sebuah user baru lagi dengan nama EGOODEMP dengan
salah
satu
profile
limitasinya
adalah
VERIFY_FUNCTION.
Laboratorium Komputer – STIKOM
69
MODUL 6 ORACLE NET SERVICES Hari ini Anda adalah orang yang sama dengan Anda di lima tahun mendatang, kecuali dua hal : orang-orang di sekeliling Anda dan buku-buku yang Anda baca.
Tujuan Praktikan dapat membuat koneksi antara client dan server dengan menggunakan oracle net service dan mengerti cara kerja database shar ed server Materi Oracle Net Services Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba6
Laboratorium Komputer – STIKOM
* *
70
Database Administrator
6.1. Oracle Net Services
Oracle Net services digunakan untuk koneksi jaringan dari komputer client atau aplikasi middle-tier ke Oracle Database Server. Oracle Net berfungsi sebagai pembawa (kurir) data baik bagi aplikasi (client)
maupun database server. Ia bertanggung jawab
terhadap keberlangsungan koneksi antara aplikasi (client) dan server database. Oracle Net berada dimasing-masing komputer yang akan melakukan permintaan data dari server. Agar server database dapat mendengar permintaan dari aplikasi (client), dibutuhkan semacam gateway. Gateway ini biasa disebut Listener yang berlokasi di server database. Permintaan apa yang didengar oleh Listener ? Permintaan yang didengar adalah segala macam permintaan koneksi dari luar komputer server
Laboratorium Komputer – STIKOM
71
database (nonlocal user connections). Oracle Net listener dapat dikendalikan dari Database Control atau utilitas lsnrctl commandline. Untuk mengkonfigurasinya juga dapat melalui Database Control. Selain itu, bagi administrator yang sudah memiliki kemampuan advance, konfigurasi Oracle Net dapat juga dilakukan dengan cara meng-edit file konfigurasi menggunakan text editor, notepad misalnya.
6.2. Oracle Net Listener
Oracle Net listener merupakan sebuah gerbang pada Oracle instance untuk koneksi bagi user non lokal (diluar komputer server). Sebuah listener dapat digunakan untuk melayani multiple database instance dan ribuan koneksi dari client. Oracle Net listener ini di kendalikan oleh Database Control atau utilitas command line lsnrctl.
Laboratorium Komputer – STIKOM
72
Database Administrator
Untuk memonitor listener dapat Anda lakukan dari halaman status Listener (Listener Status Page). Pada halaman ini Anda dapat melihat : Versi listener dan ORACLE_HOME Alamat listener yang pertama Lokasi dari konfigurasi file untuk start listener Kesiapan dari listener dan kapan ia di start Listener response time : TNS Ping(ms) Rata-rata koneksi yang terjadi per menit Untuk melihat lebih detil anda dapat meng-klik link availability, response time atau connections per minute.
Laboratorium Komputer – STIKOM
73
Gambar diatas menunjukkan urutan dalam pembuatan sebuah listener : 1.
Pilih Listeners dari kotak dialog Administer
2.
Klik Create
3.
Tuliskan nama listener nya. Nama ini harus unik.
4.
Tambahkan alamat listener nya
Setiap listener harus memiliki minimal sebuah alamat listener (listening address). Untuk memberikan listening address dapat dilihat pada gambar dibawah ini :
Adapun langkah-langkahnya adalah : 5.
Pilih network protocol. TCP/IP merupakan pilihan default dan yang paling banyak digunakan.
6.
Masukkan port number-nya. Oracle Net’s default port adalah 1521. Jika anda memilih port number selain 1521, maka anda perlu memasukkan konfigurasi tambahan.
Laboratorium Komputer – STIKOM
74
Database Administrator
7.
Tuliskan nama atau alamat IP dari server dimana listener tersebut berjalan,
8.
Klik OK untuk menyimpan konfigurasinya. Untuk langkahlangkah lainnya bersifat opsional.
9.
Untuk start listener yang baru, pilih Start/Stop dari list Actions dan klik Go.
Oracle Net listener juga dapat dikontrol dengan menggunakan utilitas cammnad-line lsnrctl, seperti tampak pada gambar dibawah :
Pada utilitas listener control ini anda dapat : Start listener Stop listener Check status listener Check status service listener Mengkonfigurasi
ulang
listener
dari
parameter
file
konfigurasi Mengkonfigurasi banyak listener secara dinamis Mengubah password listener Laboratorium Komputer – STIKOM
75
6.3. Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middletier, Oracle Net mengharuskan agar client mengetahui : Host dimana listener berada Port listener yang dituju Protocol yang digunakan listener Nama dari service yang di-handle oleh listener
Untuk membuat Oracle Net service alias, pilih Local Naming dari Administer list dan klik Go, dan kemudian klik Create
Laboratorium Komputer – STIKOM
76
Database Administrator
Latihan 1.
Buatlah sebuah Oracle Net Service dengan nama kecil Anda sebagai penghubung komputer yang sedang dipakai saat ini (bertindak sebagai client) dengan komputer Oracle Server milik Lab. Komputer (bertindak sebagai server). Untuk konfigurasi alamat Oracle Server bisa ditanyakan kepada asisten/koastyang sedang bertugas.
2.
Cobalah untuk melakukan koneksi ke Oracle Server milik Lab. Komputer dengan menggunakan user HR dan password HR. Buat sebuah tabel yang berisikan nama dan tanggal lahir teman satu grup praktikum ini yang Anda kenali.
3.
Buatlah sebuah Oracle Net Service dengan nama panggilan Anda dirumah sebagai penghubung komputer yang sedang dipakai dengan server Oracle pada komputer ini juga (bertindak sebagai client sekaligus server).
4.
Carilah file yang menyimpan konfigurasi Oracle Net Service yang pernah Anda buat.
5.
Matikan Listener pada komputer yang sedang Anda pakai dan cobalah untuk melakukan koneksi terhadap user yang ada pada komputer server tersebut. Apa yang terjadi. Perbaiki kesalahn yang terjadi, jika ada, agar Anda dapat terhubung dengan komputer server yang sedang dipakai tersebut.
Laboratorium Komputer – STIKOM
77
MODUL 7 MONITORING AND RESOLVING LOCK CONFLICTS Sumber kekuatan baru bukanlah uang yang berada dalam genggaman tangan beberapa orang, namun informasi di tangan orang banyak.
Tujuan Praktikan dapat mengatur undo tablespace dan memonitor serta mengatasi bila terjadi lock conflict Materi
Monitoring and Resolving Lock Conflicts Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba7
Laboratorium Komputer – STIKOM
* *
78
Database Administrator
7.1. Locks
Sebelum database mengijinkan session untuk melakukan perubahan data, hal pertama yang harus dilakukan oleh session adalah melakukan penguncian (locking) data yang akan diubah. Hal ini bertujuan untuk memberikan hak penuh kepada session tersebut untuk melakukan perubahan data tanpa harus khawatir terjadi konflik dengan transaksi lainnya yang juga akan melakukan perubahan data yang sama. Session lain tersebut tidak dapat melakukan perubahan data sampai dengan penguncian data tersebut dilepas. Proses transaksi dapat mengunci sebaris data, beberapa baris, atau bahkan sebuah tabel. Oracle Database 10g mendukung kedua mode penguncian, baik manual maupun otomatis. Secara otomatis penguncian yang dilakukan akan memberikan level terendah kemungkinan perubahan data untuk meminimal potensial konflik yang mungkin timbul dengan transaksi lainnya. Dengan demikian dapat dikatakan : Mencegah multiple session mengubah data yang sama pada saat yang bersamaan
Laboratorium Komputer – STIKOM
79
Secara otomatis akan diberikan mode penguncian untuk level terendah dari kemungkinan perubahan data dari transaksi lainnya
7.2. Mekanisme Penguncian (Locking Mechanism) Mekanisme penguncian secara garis besar dapat dikatakan seperti tersebut dibawah ini : Level tinggi dalam data concurrency o
Penguncian secara row-level untuk insert, update dan delete
o
Tidak ada penguncian data untuk proses query biasa (SELECT)
Managemen antrian otomatis Berlaku samapai dengan transaksi selesai (dengan perintah commit atau rollback)
Laboratorium Komputer – STIKOM
80
Database Administrator
7.3. Data Concurrency Mode penguncian row-level merupakan default. Transaksi lainnya dapat mengubah row lainnya pada sebuah table yang sama tanpa mengganggu transaksi lainnya. Meskipun secara default menggunakan mode penguncian rowlevel, Oracle Database 10g juga dapat melakukan penguncian dengan level yang lebih tinggi secara manual jika diperlukan : SQL> LOCK TABLE hr.employees IN EXCLUSIVE MODE
Table(s) Lokced. Dengan menggunakan perintah diatas, transaksi lainnya ingin mengubah data pada tabel yang sedang terkunci harus menunggu sampai transaksi yang menyebabkan terkuncinya tabel tersebut selesai melakukan pengubahan data.. EXCLUSIVE
merupakan
mode penguncian yang paling tinggi. Mode lainnya adalah : ROW SHARE : masih mengijinkan akses secara bersamaan untuk tabel yang sedang terkunci, tapi membatasi session untuk melakukan eksklusif akses pada tabel yang sedang terkunci ROW EXCLUSIVE : sama seperti ROW SHARE, tapi juga membatasi
penguncian
dalam
mode
SHARE.
ROW
EXCLUSIVE akan diberikan secara otomatis pada saat session melakukan transaksi update, insert ataupun delete data SHARE : mengijinkan query bersamaan tapi membatasi proses update pada tabel yang sedang terkunci. Mode
Laboratorium Komputer – STIKOM
81
SHARE biasanya digunakan pada pembuatan sebuah index pada tabel tersebut. SHARE ROW EXCLUSIVE : mengijinkan proses lainnya untuk menglakukan perintah query pada keseluruhan baris dalam tabel tersebut, tapi membatasi session lainnya untuk melakukan mode SHARE ataupun update data EXCLUSIVE : mengijin session lain untuk melakukan perintah query pada tabel yang sedang terkunci, tapi membatasi user lain melakukan aktifitas lainnya pada tabel tersebut.
Penguncian
eksklusif
dilakukan
untuk
penghapusan (drop) sebuah tabel
Sama seperti penguncian lainnya, perintah penguncian manual menunggu sampai semua session yang telah memiliki penguncian (lock) data melepas “kuncinya”. Perintah LOCK dapat disisipi suatu perintah khusus untuk membatasi waktu tunggu, yaitu NOWAIT. Dengan perintah NOWAIT anda akan segera mendapatkan jawaban apakah tabel tersebut telah dikunci (lock) oleh session lainnya.
SQL> LOCK TABLE hr.employees IN SHARE MODE NOWAIT; LOCK TABLE hr.employees IN SHARE MODE NOWAIT ERROR at line 1 : ORA-00054 : resource busy and acquire with NOWAIT specified
Laboratorium Komputer – STIKOM
82
Database Administrator
7.4. DML Locks
Setiap transaksi DML harus memperoleh dua buah lock : Row-exclusive lock untuk baris yang sedang di-update Shared table-level lock untuk tabel yang memiliki baris date tersebut
Enqueue Mechanism
Mekanisme antrian digunakan untuk menjaga : Proses tunggu session untuk penguncian beris (row locking) Mode lock yang diminta Urutan meminta lock oleh session
Laboratorium Komputer – STIKOM
83
7.5. Lock Conflicts
Penyebab terjadinya lock conflict antara lain seperti tersebut dibawah ini : Perubahan yang tidak do commit (uncommitted changes) Transaksi yang berjalan lama (long-running transactions) Penguncian
tingkat
tinggi
yang
tidak
diperlukan
(unnecessarily high locking levels)
Laboratorium Komputer – STIKOM
84
Database Administrator
Anda dapat mempergunakan halaman Blocking Session pada Enterprise Manager untuk melihat lokasi lock conflicts. Untuk setiap session yang terlibat konflik anda dapat mengetahui username, session ID, dan lama session tersebut sudah menunggu
(dalam
detik). Drill down pada session ID untuk melihat detil perintah SQL yang sedang dieksekusi atau diminta oleh session tersebut.
7.6. Resolving Lock Conflicts Untuk
mengatasi lock conflict yang terjadi dapat dilakukan
dengan cara sebagai berikut : Session yang memegang kendali terhadap lock tersebut harus
melepaskanya
dengan
cara
COMMIT
atau
ROLLBACK Pada keadaan yang gawat (emergensi) , dimungkinkan bagi administrator untuk mengakhiri
session yang sedang
memegang kendali lock dengan cara menekan tombol Kill Session
Laboratorium Komputer – STIKOM
85
7.7. Deadlock
Kasus khusus pada lock conflict adalah deadlock. Deadlock terjadi bila dua atau lebih session menunggu data yang sedang terkunci (lock) oleh session lainnya. Karena saling menunggu satu sama lainnya, maka tidak ada satupun diantara mereka yang dapat menyelesaikan transaksi mereka untuk mengatasi lock conflict yang terjadi.Oracle server secara otomatis akan mendeteksi kemungkinan deadlock yang akan terjadi dan segera mengatasinya dengan cara melakukan perintah ROLLBACK.
Laboratorium Komputer – STIKOM
86
Latihan 1.
Bukalah dua buah session dikomputer anda dan coba jalankan masing-masing query berikut di session masing-masing :
SQL>
UPDATE hr.employees SET salary = salary+100 WHERE employee_id = 100;
SQL>
UPDATE hr.employees SET salary = salary+100 WHERE employee_id = 102;
Analisalah hasil query kedua transaksi diatas.
2.
Bukalah dua buah session dikomputer anda dan coba jalankan masing-masing query berikut di session masing-masing : SQL>
UPDATE hr.employees SET salary = salary*1.1 WHERE employee_id = 107;
SQL>
UPDATE hr.employees SET salary = salary*1.1 WHERE employee_id = 106;
Analisalah hasil query kedua transaksi diatas.
3.
Jalankan dua buah transaksi berikut di dua sessioan yang berbeda.
Laboratorium Komputer – STIKOM
87
UPDATE hr.employees
UPDATE hr.employees
SET salary = salary+100
SET salary=salary+100
WHERE employee_id=100;
WHERE employee_id=101;
UPDATE hr.employees
SELECT sum(salary)
SET commision_pct=2
FROM hr.employees;
WHERE employee_id=101;
Analisalah apa yang terjadi.
4.
Carilah link pada Enterprise Manager yang dapat memberikan informasi tentang locking session berikut perintah SQL –nya.
5.
Analisalah apa yang sedang terjadi dengan komputer Oracle Server Anda sekarang ini (berkaitan dengan lock conflicts).
Laboratorium Komputer – STIKOM
88
Database Administrator
Halaman ini sengaja di kosongkan
Laboratorium Komputer – STIKOM
89
MODUL 8 DATABASE BACKUPS AND RECOVERY Suatu kehidupan yang penuh kesalahan tak hanya lebih berharga namun juga lebih berguna dibandingkan hidup tanpa melakukan apapun.
Tujuan Praktikan dapat melakukan proses backup dan recovery terhadap databasenya Materi Database Backup
Database Recovery Referensi
http://www.oracle.com http://www.otn.oracle.com \\data-server\dba\dba8 Laboratorium Komputer – STIKOM
* *
90
Database Administrator
8.1. Terminology Tugas lain sebagai seorang DBA yang tak kalah penting adalah melakukan backup dan recovery database. Bahkan bisa di katakan proses ini paling penting karena data yang tersimpan dalam database itu tidak ternilai harganya. Prinsip-prinsip dasar dalam proses backup dan recovery : Melakukan backups sama seperti membeli polis asuransi kecelakaan mobil. Semakin baik polis asuransi yang anda ikuti maka akan semakin baik pula hasil yang akan di dapatkan. Dengan kata lain semakin banyak biaya yang anda keluarkan untuk proses backup dan recovery, dalam rangka untuk memperoleh hasil yang lebih baik, maka keamanan data yang ada dalam database anda pun akan semakin baik. Demikian pula sebaliknya. Terasa fungsinya saat di perlukan Seringkali pengguna melalaikan fungsi dari backup dan recovery database. Banyak diantara mereka yang beranggapan bahwa investasi pada bagian backup dan recovery hanya akan membuang-buang biaya saja. Tetapi begitu database anda “ngadat” dan butuh di recovery, di situlah baru dirasakan manfaat yang sangat besar dari proses backup database. Nilai yang dapat di cover tergantung dari jenis polis asuransi yang di miliki Sama dengan point pertama, nilai yang dapat di cover sangat tergantung dari jenis polis asuransi yang anda beli. Semakin baik yang anda pilih maka akan semakin besar pula manfaat yang anda dapatkan. Laboratorium Komputer – STIKOM
91
Banyak metode backup yang ada. Tersedia banyak metoda backup. Anda hanya tinggal memilih proses atau metoda mana yang paling cocok dengan kondisi database anda. Tidak ada acuan yang sifatnya kaku dalam pemilihan proses backup dan recovery. Mungkin anda harus mencoba beberapa metoda baru kemudian anda temukan sebuah metoda yang benar-benar cocok dengan kondisi database anda. Disamping itu, bisa jadi dengan semakin meningkatnya jumlah data yang tersimpan di database anda, maka anda pun harus mencari metoda baru untuk proses backup dan recovery.
Untuk alasan tersebut diatas maka diperlukan sebuah strategi backup yang dapat meliputi : Keseluruhan database Anda melakukan proses backup untuk keseluruhan isi database. Strategi backup ini memiliki beberapa keuntungan, yaitu : -
Cukup 1 file backup tapi sudah bisa meng-cover keseluruhan database
-
Relatif lebih aman
-
Biasanya tidak dilakukan harian
Akan tetapi terdapat pula beberapa kelemahan metoda backup ini, yaitu : -
Proses backup relatif lebih lama
-
Agak repot bila ingin mengembalikan sebagian data saja
-
Relatif tidak mendekati kondisi database saat ini
Laboratorium Komputer – STIKOM
92
Database Administrator
Sebagian database Anda mem-backup hanya yang diperlukan saja. Metoda ini memiliki beberapa keuntungan, yaitu : -
Relatif lebih cepat dalam proses backup dan recovery
-
Data yang tersimpan mendekati kondisi data saat ini di database
-
Biasanya dilakukan harian
Akan tetapi ternyata masih ada pula kekurangannya, yaitu : -
Jumlah file hasil proses backup menjadi lebih banyak
-
Apabila ingin me-recovery beberapa bagian, harus menggunakan banyak file backup
-
Agak repot dalam administrasi file hasil proses backup
Untuk itu biasanya digunakan metoda backup gabungan. Backup gabungan dilakukan dengan cara melakukan backup dengan metoda keseluruhan database pada jangka waktu tertentu (misal 3 hari-an atau mingguan) dan setiap hari melakukan proses backup
sebagian
database.
Dengan
demikian
akan
lebih
mengamankan database Anda apabila suatu saat terjadi fealure.
8.2. Database Backups Backup adalah metoda untuk mengamankan data yang ada pada server dengan cara memindahkan data tersebut ke tempat lain. Bisa data asli yang dipindahkan ataupun diubah dulu kedalam bentuk lain.
Laboratorium Komputer – STIKOM
93
Tipe backup : Physical backup
Memindahkan file database dari satu lokasi ke lokasi lain (biasanya dari disk ke tape)
Contoh : - OS Backup - Backup dengan RMAN - Cold Backup - Hot Backup
Logical backup
Merubah database ke dalam bentuk file binary
Contoh : - Export - Import
Pada praktikum DBA Oracle kali ini Anda akan di tuntun untuk mempelajari cara backup dan recovery dengan menggunakan perintah EXPORT dan IMPORT. Proses ini banyak dipilih oleh DBA pemula. Mengapa mereka lebih memilih menggunakan proses EXPORT – IMPORT ? Hal ini tidak lain karena proses tersebut mudah penggunaannya dan juga menghasilkan hasil backup yang cukup baik. Sehingga apabila terjadi kegagalan system dan database harus di recovery, dapat mempergunakan perintah IMPORT. Selain itu Hasil proses kompresi pada perintah EXPORT cukup baik. Adapun alasan melakukan backup adalah :
Kerusakan Media Penyimpanan Kerusakan pada media penyimpanan tidak dapat di prediksi secara matematis. Hal itu bisa saja terjadi secara
Laboratorium Komputer – STIKOM
94
Database Administrator
tiba-tiba. Untuk mengatasi hal tersebut , lakukanlah proses backup secara terjadwal dan kontinue. Sehingga apabila sewaktu-waktu media penyimpanan anda yang rusak, anda telah siap dengan hasil backup yang terbaru. Kerusakan Software / OS yang digunakan. Selain kerusakan media penyimpanan, kerusakan software ataupun operating system yang digunakan juga tidak dapat di prediksi sebelumnya. Dengan menggunakan metoda backup yang tepat maka anda tidak perlu khawatir apabila terjadi kerusakan software ataupun operating system. Disamping itu anda juga harus sering meng-ecek kondisi software dan operating system yang anda gunakan. Kepentingan perusahaan. Perusahaan akan sangat memerlukan hasil backup yang anda lakukan. Misalnya, seorang manager pemasaran ingin mengetahui hasil penjualan produknya pada triwulan pertama 3 tahun yang lalu. Sedangkan database yang sekarang sedang aktif hanya menampung transaksi tahun ini saja. Disinilah letak pentingnya hasil backup yang anda lakukan. Arti penting sebuah data. Bagi seorang DBA, data tidak ternilai harganya. Apabila sampai data yang di kelolanya hilang atau rusak maka itu merupakan mimpi buruk yang menjadi kenyataan.
Laboratorium Komputer – STIKOM
95
Ada beberapa penyebab system fail : Physical -
Kerusakan media / CPU
Design (Software bug) -
Operating System
-
Database Pada saat mendesain sebuah database, anda juga harus memikirkan kemungkinan perkembangan data anda untuk periode-periode selanjutnya. Hal ini untuk menghindari terjadinya kesalahan program aplikasi yang sedang berjalan karena diakibatkan oleh kesalahan mendesain database.
-
Aplikasi yang digunakan Hal ini sering menjadi penyebab system fail. Apabila ada aplikasi yang sedang berjalan dan membutuhkan banyak resource, dapat menyebabkan proses lainnya terganggu sampai dengan kegagalan system. Oleh karena itu sebagai seorang DBA anda harus membatasi penggunaan terhadap resource oleh user yang anda miliki.
Operations -
Kesalahan DBA/user Terkadang seorang DBA/user tidak sengaja menghapus file-file yang sangat di butuhkan untuk mengaktifkan instance.
Environment -
Bencana alam
Laboratorium Komputer – STIKOM
96
Database Administrator
-
Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT) : Kasus : -
Dari directory command prompt ketikkan perintah berikut : C:\oracle\ora81\bin> EXP
-
Masukkan user dan password anda
-
Tuliskan lokasi file tempat anda akan menyimpan hasil backup (file dengan extensi .DMP). D:\backup\kasus_1.dmp
-
Pilih jenis export yang anda kehendaki. Entire Database Users
: Backup keseluruhan database. : Backup berdasarkan user tertentu (nama user sama dengan nama user
yang
anda
masukkan
pada langkah kedua) Tables
: Backup untuk tabel-tabel tertentu saja pada sebuah user (nama user sama dengan nama user yang anda
masukkan pada langkah
kedua) Anda cukup menuliskan huruf pertamanya saja dari masing-masing jenis export yang ada. Dalam kasus 1 ini pilih Entire Database. -
Lanjutkan ke langkah-langkah berikutnya sampai dengan selesai.
Laboratorium Komputer – STIKOM
97
-
Tunggu proses backup selesai sampai dengan keluar pesan bahwa proses export telah sukses tanpa adanya peringatan.
Lihat di directory D:\backup\ , bandingkan ukuran file hasil backup dengan ukuran database yang sebenarnya.
8.3. Database Recovery Perintah IMPORT dapat digunakan untuk mengembalikan hasil backup-an. Hampir sama dengan perintah EXPORT, perintah IMPORT juga dapat dijalankan melalui command prompt. User yang dapat menjalankan perintah IMPORT haruslah yang memiliki privileges DBA.
Kasus : -
Dari directory
command prompt ketikkan perintah
berikut : C:\oracle\ora81\bin> IMP -
Masukkan user dan password anda. (catatan : yang dapat melakukan proses import hanya user yang setara dengan DBA)
-
Tuliskan lokasi file tempat anda menyimpan file hasil proses Export. D:\backup\kasus_1.dmp
-
Lanjutkan ke langkah-langkah berikutnya sampai dengan selesai.
-
Lihat hasil import pada database oracle anda.
Laboratorium Komputer – STIKOM
98
Latihan 1.
Backup-lah database anda berdasarkan salah satu user yang ada.
2.
Hapuslah user tersebut. Cobalah untuk mengembalikan user tersebut dengan cara meng-Import hasil backup-an yang anda miliki.
3.
Backup-lah database anda berdasarkan tabel-tabel yang ada di salah satu user yang anda miliki.
4.
Hapuslah tabel tersebut dan cobalah untuk mengenbalikannya dengan fasilitas Import berdasarkan proses Export yang telah anda lakukan pada soal no 3 diatas.
5.
Backuplah keseluruhan database anda.
6.
Hapuslah semua table yang ada pada salah satu user yang ada dan cobalah untuk merestore hasil backup-an yang anda miliki pada soal no 5 diatas, berdasarkan user yang baru yang hapus.
7.
Buatlah sebuah batch file untuk melakukan backup secara otomatis pada pukul 22:00 setiap harinya.
Laboratorium Komputer – STIKOM
99