Modul
Praktikum
ST-RK-116-082-007R-
Mahasiswa mengusai arsitektur Oracle Server 10g
dan dapat melakukan proses instalasi dan
menejemen server Oracle 10g
Laboratorium Komputer ndash STIKOM 1
Daftar Isi
Daftar Isi 1
Pengantar Umum 3
MODUL 1 5
11 Database Architecture 6
12 Control Files 7
13 Redo Log Files 8
14 Datafiles 9
15 Oracle Instance Management 9
16 Oracle Memory Stuctures 10
17 Background Process Oracle 15
Background Process Utama 16
Background Process Tambahan 18
18 DBCA Overview 20
Latihan 22
MODUL 2 23
21 Starting and Stopping iSqlPlus 24
22 Management Framework 25
23 Accessing Database Control 26
24 SYSOPER and SYSDBA 27
25 Database Home Page 28
26 Startup and Shutdown Options 29
Latihan 32
MODUL 3 33
31 Tablespace and Datafiles 34
32 Space Management in Tablespaces 35
33 Tablespace in the Preconfigured Database 36
34 Dropping Tablespaces 37 Latihan 38
MODUL 4 41
41 Database User Accounts 42
42 Privileges 44
43 System Privileges 45
Laboratorium Komputer ndash STIKOM 2
44 Object Privileges 48
45 Assigning Quota to Users 51
46 Roles 52
Keuntungan menggunakan role 53
Karkteristik role 54
Latihan 58
MODUL 5 61
51 Database Security 62
52 Apply the Principle of Least Privileges 63
53 Manage Default User Accounts 64
54 Implement Standard Password Security Features 65
55 Creating a Password Profile 67
Latihan 68
MODUL 6 70
61 Oracle Net Services 71
62 Oracle Net Listener 72
63 Oracle Net Connections 76
Latihan 77
MODUL 7 78
71 Locks 79
72 Mekanisme Penguncian (Locking Mechanism) 80
73 Data Concurrency 81
74 DML Locks 83
75 Lock Conflicts 84
76 Resolving Lock Conflicts 85
77 Deadlock 86
Latihan 87
MODUL 8 90
81 Terminology 91
82 Database Backups 93
83 Database Recovery 98
Latihan 99
Database Administrator
Laboratorium Komputer ndash STIKOM 3
Pengantar Umum
Praktikum Database Administrator ini akan membahas hal-
hal 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 penggunaan sistem
termasuk sistem pengamanannya (security)
5 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 ndash STIKOM 4
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 perusahaan-
perusahaan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 5
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba1
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 1
Daftar Isi
Daftar Isi 1
Pengantar Umum 3
MODUL 1 5
11 Database Architecture 6
12 Control Files 7
13 Redo Log Files 8
14 Datafiles 9
15 Oracle Instance Management 9
16 Oracle Memory Stuctures 10
17 Background Process Oracle 15
Background Process Utama 16
Background Process Tambahan 18
18 DBCA Overview 20
Latihan 22
MODUL 2 23
21 Starting and Stopping iSqlPlus 24
22 Management Framework 25
23 Accessing Database Control 26
24 SYSOPER and SYSDBA 27
25 Database Home Page 28
26 Startup and Shutdown Options 29
Latihan 32
MODUL 3 33
31 Tablespace and Datafiles 34
32 Space Management in Tablespaces 35
33 Tablespace in the Preconfigured Database 36
34 Dropping Tablespaces 37 Latihan 38
MODUL 4 41
41 Database User Accounts 42
42 Privileges 44
43 System Privileges 45
Laboratorium Komputer ndash STIKOM 2
44 Object Privileges 48
45 Assigning Quota to Users 51
46 Roles 52
Keuntungan menggunakan role 53
Karkteristik role 54
Latihan 58
MODUL 5 61
51 Database Security 62
52 Apply the Principle of Least Privileges 63
53 Manage Default User Accounts 64
54 Implement Standard Password Security Features 65
55 Creating a Password Profile 67
Latihan 68
MODUL 6 70
61 Oracle Net Services 71
62 Oracle Net Listener 72
63 Oracle Net Connections 76
Latihan 77
MODUL 7 78
71 Locks 79
72 Mekanisme Penguncian (Locking Mechanism) 80
73 Data Concurrency 81
74 DML Locks 83
75 Lock Conflicts 84
76 Resolving Lock Conflicts 85
77 Deadlock 86
Latihan 87
MODUL 8 90
81 Terminology 91
82 Database Backups 93
83 Database Recovery 98
Latihan 99
Database Administrator
Laboratorium Komputer ndash STIKOM 3
Pengantar Umum
Praktikum Database Administrator ini akan membahas hal-
hal 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 penggunaan sistem
termasuk sistem pengamanannya (security)
5 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 ndash STIKOM 4
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 perusahaan-
perusahaan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 5
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba1
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 2
44 Object Privileges 48
45 Assigning Quota to Users 51
46 Roles 52
Keuntungan menggunakan role 53
Karkteristik role 54
Latihan 58
MODUL 5 61
51 Database Security 62
52 Apply the Principle of Least Privileges 63
53 Manage Default User Accounts 64
54 Implement Standard Password Security Features 65
55 Creating a Password Profile 67
Latihan 68
MODUL 6 70
61 Oracle Net Services 71
62 Oracle Net Listener 72
63 Oracle Net Connections 76
Latihan 77
MODUL 7 78
71 Locks 79
72 Mekanisme Penguncian (Locking Mechanism) 80
73 Data Concurrency 81
74 DML Locks 83
75 Lock Conflicts 84
76 Resolving Lock Conflicts 85
77 Deadlock 86
Latihan 87
MODUL 8 90
81 Terminology 91
82 Database Backups 93
83 Database Recovery 98
Latihan 99
Database Administrator
Laboratorium Komputer ndash STIKOM 3
Pengantar Umum
Praktikum Database Administrator ini akan membahas hal-
hal 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 penggunaan sistem
termasuk sistem pengamanannya (security)
5 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 ndash STIKOM 4
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 perusahaan-
perusahaan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 5
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba1
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 3
Pengantar Umum
Praktikum Database Administrator ini akan membahas hal-
hal 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 penggunaan sistem
termasuk sistem pengamanannya (security)
5 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 ndash STIKOM 4
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 perusahaan-
perusahaan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 5
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba1
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 4
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 perusahaan-
perusahaan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 5
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba1
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 5
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba1
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 6
11 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 melihat
struktur logik database
Anda dapat menggunakan
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 7
Enterprise Manager Setiap detil informasi struktur logik database
itu dapat dilihat dengan menekan link yang ada pada bagian
Storage pada halaman Administration
12 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 terpisahKonfigurasi 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 ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 8
13 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
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 9
14 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
15 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 ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 10
16 Oracle Memory Stuctures
Memory Oracle adalah bagian dari memory fisik ( RAM )
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 11
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 ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 12
Database Buffer C ache
Database Buffer Cache berisikan ldquothe most recently used
datablockrdquo Maksudnya ia merupakan tempat bagi datablock
yang sering dipanggil oleh instruksi SQL
Ilustrasi
Tabel Dept milik Scott secara fisik disimpan di
datafile bernama USR1ORCLORA 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
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 13
file atau disebut juga file lNlTltSlDgtORA 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 ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 14
dictionary Ia juga ini digunakan untuk meningkatkan
kemampuan oracle dalam lingkungan multiuser
Shared Pool terbagi menjadi 2 yaitu
Library Cache
Library Cache berisikan ldquothe most recently used SQL
statementrdquo 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 ldquothe most recently
used data dictionary table definitions and privileges
userrdquo 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
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 15
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
17 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 ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 16
User-Process sebenarnya merupakan proses yang dilakukan oleh
program aplikasi akibat dari input yang diberikan user Contoh
User-Process adalah proses yang dilakukan oleh SQLplus
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 IO
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 17
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 ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 18
- Melakukan penulisan isi redolog buffer ke file online
redolog ketika terjadi
~ Commit
~ Redolog buffer sudah 13 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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 19
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 ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 20
- Meminimasi resource overhead dengan menangani multi
connections
18 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 langkah-
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 21
langkah sebelumnya) dan sekaligus menyimpannya sebagai sebuah
template baru yang dapat dipergunakan untuk membuat database
baru lainnya di kemudian hari
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 22
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
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 23
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba2
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 24
21 Starting and Stopping iSqlPlus
iSQLPlus Application Server harus running terlebih dahulu
sebelum Anda dapat memulai sebuah iSQLPlus session Secara
default iSQLPlus Application Server akan otomatis running
(started) pada saat proses instalasi database
Untuk me-start atau stop iSQLPlus Application Server pada
Windows dapat dilakukan dengan cara
- Pilih Services dari menu Start gt Programs gt Administrative
Tools
- Carilah Windows Service untuk iSQLPlus
OracleHomeNameiSQLPlus
- Jalankan (Start) Windows Service-nya untuk mengaktifkan
iSQLPlus Application Server atau hentikan (Stop) service-
nya untuk menonaktifkan iSQLPlus Application Server
- Alternatif lainnya adalah dengan menggunakan command
promt Adapun sintaks nya adalah
-
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 25
o isqlplusctl start
o isqlplusctl stop
22 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 pendengar apabila ada
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 26
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)
23 Accessing Database Control
Untuk mengakses database control dapat melalui Enterprise
Manager yang bersifat web base Bukalah web browser Anda dan
tuliskanlah URL berikut
httphostnameportnumberem
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
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 27
halaman Database Control Login seperti tampak pada gambar
diatas Login-lah dengan menggunakan nama user yang telah ter-
autorisasi 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
24 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
OPENMOUNT ALTER DATABASE BACKUP ARCHIVE
LOG dan RECOVER serta termasuk juga hak akses
(privileges) RESTRICTED SESSION
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 28
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
25 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 rdquokesehatanrdquo
database Anda saat ini
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 29
26 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_HOMEdbs
dengan urutan spfileSIDora ndash spfileora ndash initSIDora
- Mengalokasikan SGA
- Menjalankan background proses yang dibutuhkan
- Membuka file alertSIDlog dan trace file
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 30
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
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 31
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 ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 32
Latihan
1 Carilah file initialization parameters yang ada di komputer
Anda saat ini Buka file tersebut dan terangkan apa isinya
2 Hapuslah file spfileSIDora Kemudianlah restart-lah
komputer Anda Apa yang terjadi Apa fungsi file
spfileSIDora 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
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 33
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba3
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 34
31 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 berdekatancontiguous)
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
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 35
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
32 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
dirdquobebaskanrdquo 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 de-
alokasikan
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 36
33 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
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 37
34 Dropping Tablespaces
Anda dapat menghapus tablespace beserta isinya (segment-
segment 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 ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 38
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
Name
Type Size
(MB)
Used
3 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
Name
Current
Size(MB)
Auto
extend
Maximum
Size(MB)
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 39
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 inventory01dbf
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
inventory02dbf
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 40
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 41
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba4
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 42
41 Database User Accounts
Untuk dapat mengakses database seorang user harus men-
spesifikasikan 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
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 43
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 ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 44
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
42 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
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 45
43 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
DDBBAA
Privileges Username dan
Password
UUSSEERRSS
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 46
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
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 47
Berikut ini adalah syntax pemberian System Privileges
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
GRANT privilege [ privilege]
TO user [ user]
SQLgt GRANT create table create sequence
create view
2 TO scott
GGrraanntt ssuucccceeeeddeedd
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 48
Revoking System Privileges
44 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
REVOKE CREATE TABLE FROM user1
REVOKE CREATE SESSION FROM scott
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 49
Object Priv Table View Sequence Procedure
ALTER radic radic
DELETE radic radic
EXECUTE radic
INDEX radic
INSERT radic radic
REFERENCES radic
SELECT radic radic radic
UPDATE radic radic
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 50
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
Syntax grant SELECT pada tabel emp
Syntax grant UPDATE pada tabel dept untuk kolom dname dan loc
GRANT object_priv [(columns)]
ON object
TO user|role|PUBLIC
[WITH GRANT OPTION]
SQLgt GRANT select
2 ON emp
3 TO sue rich
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT update (dname loc)
2 ON dept
3 TO scott manager
GGrraanntt ssuucccceeeeddeedd
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 51
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
Keyword PUBLIC Memperbolehkan semua user yang terdapat
pada database yang sama dengan dengan alice untuk melakukan
SELECT pada tabel dept
45 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)
SQLgt GRANT select
2 ON alicedept
3 TO PUBLIC
GGrraanntt ssuucccceeeeddeedd
SQLgt GRANT select insert
2 ON dept
3 TO scott
4 WITH GRANT OPTION
GGrraanntt ssuucccceeeeddeedd
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 52
46 Roles
UUsseerrss
AAllllooccaattiinngg
pprriivviilleeggeess
wwiitthhoouutt aa rroollee
PPrriivviilleeggee
ss
MMaannaaggeerr
AAllllooccaattiinngg pprriivviilleeggeess
wwiitthh aa rroollee
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 53
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 lainnyaSeperti 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 ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 54
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-enable-
nya
Role tidak berada di sebuah schema tertentu
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 55
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
backward compatibility RESOURCE
DBA All 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 EXECUTE privileges on DD
packages
SELECT _CATALOG_ROLE SELECT privilege on DD tables
Secara default Enterprise 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 ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 56
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
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 57
SET ROLE NONE
Acuan dalam pembuatan role
HR_MANAGER
HR_CLERK PAY_CLERK
UUsseerr
rroolleess
UUsseerrss
BENEFITS PAYROLL
AApppplliiccaattiioonn
rroolleess
AApppplliiccaattiioonn
pprriivviilleeggeess Benefits Privileges
privileges
Payroll Privileges
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 58
Latihan
1 Buatlah role dengan aturan sebagai berikut
a Buat sebuah role dengan nama HRCLERK dengan
kemampuan SELECT dan UPDATE pada table
hremployees
b Buat sebuah role dengan nama HRMANAGER dengan
kemampuan INSERT dan DELETE pada table hremployees
Grant role HRCLERK kedalam role HRMANAGER
2 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
3 Lakukan tes untuk user baru tersebut
a Konek dengan menggunakan user DHAMBY Cobalah
untuk melakukan perintah SELECT data dari table
hremployees
b Cobalah untuk delete data dari table hremployees
c Konek dengan menggunakan user JGOODMAN dan
cobalah untuk select kemudian delete data dari table
hremployees
d Rollback perintah delete agar datanya kembali lagi
4 Pada user DHAMBY buatlah sebuah tabel data mahasiswa yang
berisi nim dan nama mahasiswa yang Anda kenal pada grup
praktikum ini Lalu rdquosharingrdquo lah tabel tersebut agar user lain
pada database yang sama dapat ikut melihatnya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 59
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 Description
ROL_SYS_PRIVS System privileges granted to roles
hellip hellip
hellip hellip
hellip hellip
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 60
Halaman ini sengaja di kosongkan
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 61
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba5
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 62
51 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
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 63
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
52 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 ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 64
53 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 Oleh
karena itu pastikanlah
bahwa account keempat
user itu dalam keadaan
aman
Apabila Anda
membuat database baru
tidak melalui fasilitas
DBCA atau bisa
dikatakan secara manual maka semua account user-user default
tidak akan otomatis terkunci Anda sebagai DBA-lah yang harus
mengatur account-account tersebut
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 65
54 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 ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 66
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
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 67
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
55 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 namun
Anda dapat
mengubahnya
dengan cara
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 68
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 0800 ndash
1600)
8 Sebelum dapat mempergunakan fungsi VERIFY_FUNCTION
ada sebuah script yang harus dijalankan terlebih dahulu Carilah
script tersebut lalu kemudian eksekusilah (jalankan)
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 69
9 Buatlah sebuah user baru lagi dengan nama EGOODEMP
dengan salah satu profile limitasinya adalah
VERIFY_FUNCTION
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 70
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba6
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 71
61 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 ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 72
database (nonlocal user connections) Oracle Net listener dapat
dikendalikan dari Database Control atau utilitas lsnrctl command-
line 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
62 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
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 73
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 ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 74
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 TCPIP merupakan pilihan default
dan yang paling banyak digunakan
6 Masukkan port number-nya Oracle Netrsquos default port
adalah 1521 Jika anda memilih port number selain 1521
maka anda perlu memasukkan konfigurasi tambahan
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 75
7 Tuliskan nama atau alamat IP dari server dimana listener
tersebut berjalan
8 Klik OK untuk menyimpan konfigurasinya Untuk langkah-
langkah lainnya bersifat opsional
9 Untuk start listener yang baru pilih StartStop 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 ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 76
63 Oracle Net Connections
Untuk dapat membuat koneksi dari client atau aplikasi middle-
tier 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
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 77
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 asistenkoastyang
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 ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 78
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba7
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 79
71 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 ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 80
Secara otomatis akan diberikan mode penguncian untuk
level terendah dari kemungkinan perubahan data dari
transaksi lainnya
72 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 81
73 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 row-
level Oracle Database 10g juga dapat melakukan penguncian
dengan level yang lebih tinggi secara manual jika diperlukan
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
SQLgt LOCK TABLE hremployees IN EXCLUSIVE MODE
Table(s) Lokced
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 82
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 ldquokuncinyardquo 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
SQLgt LOCK TABLE hremployees IN SHARE MODE NOWAIT
LOCK TABLE hremployees IN SHARE MODE NOWAIT
ERROR at line 1
ORA-00054 resource busy and acquire with NOWAIT
specified
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 83
74 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 ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 84
75 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)
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 85
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
76 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 ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 86
77 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
terjadiOracle server secara otomatis akan mendeteksi kemungkinan
deadlock yang akan terjadi dan segera mengatasinya dengan cara
melakukan perintah ROLLBACK
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 87
Latihan
1 Bukalah dua buah session dikomputer anda dan coba jalankan
masing-masing query berikut di session masing-masing
SQLgt UPDATE hremployees
SET salary = salary+100
WHERE employee_id = 100
SQLgt UPDATE hremployees
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
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 107
SQLgt UPDATE hremployees
SET salary = salary11
WHERE employee_id = 106
Analisalah hasil query kedua transaksi diatas
3 Jalankan dua buah transaksi berikut di dua sessioan yang
berbeda
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 88
UPDATE hremployees
SET salary = salary+100
WHERE employee_id=100
UPDATE hremployees
SET salary=salary+100
WHERE employee_id=101
UPDATE hremployees
SET commision_pct=2
WHERE employee_id=101
SELECT sum(salary)
FROM hremployees
Analisalah apa yang terjadi
4 Carilah link pada Enterprise Manager yang dapat memberikan
informasi tentang locking session berikut perintah SQL ndashnya
5 Analisalah apa yang sedang terjadi dengan komputer Oracle
Server Anda sekarang ini (berkaitan dengan lock conflicts)
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 89
Halaman ini sengaja di kosongkan
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 90
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
httpwwworaclecom
httpwwwotnoraclecom
data-serverdbadba8
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 91
81 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
ldquongadatrdquo 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 ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 92
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
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 93
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
82 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 ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 94
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 ndash 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
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 95
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 ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 96
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 DBAuser
Terkadang seorang DBAuser tidak sengaja menghapus
file-file yang sangat di butuhkan untuk mengaktifkan
instance
Environment
- Bencana alam
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Database Administrator
Laboratorium Komputer ndash STIKOM 97
- Sumber daya listrik
Temperatur yang tidak normal
Contoh kasus backup database (menggunakan metode EXPORT)
Kasus
- Dari directory command prompt ketikkan perintah
berikut Coracleora81bingt EXP
- Masukkan user dan password anda
- Tuliskan lokasi file tempat anda akan menyimpan
hasil backup (file dengan extensi DMP)
Dbackupkasus_1dmp
- Pilih jenis export yang anda kehendaki
Entire Database Backup keseluruhan database
Users 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 ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 98
- Tunggu proses backup selesai sampai dengan keluar pesan
bahwa proses export telah sukses tanpa adanya peringatan
Lihat di directory Dbackup bandingkan ukuran file hasil backup
dengan ukuran database yang sebenarnya
83 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 Coracleora81bingt 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
Dbackupkasus_1dmp
- Lanjutkan ke langkah-langkah berikutnya sampai
dengan selesai
- Lihat hasil import pada database oracle anda
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya
Laboratorium Komputer ndash STIKOM 99
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 2200 setiap harinya