Download 07. Prak. Database Administrator - E-Learning

Document related concepts
no text concepts found
Transcript
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