ST-RK-1.16-082-007/R- Modul...

101
Modul Praktikum ST-RK-1.16-082-007/R- Mahasiswa mengusai arsitektur Oracle Server 10g dan dapat melakukan proses instalasi dan menejemen server Oracle 10g

Transcript of ST-RK-1.16-082-007/R- Modul...

Page 1: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 2: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 3: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 4: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 5: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 6: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 7: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 8: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 9: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 10: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 11: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 12: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 13: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 14: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 15: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 16: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 17: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 18: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 19: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 20: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 21: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 22: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 23: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 24: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 25: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 26: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 27: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 28: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 29: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 30: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 31: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 32: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 33: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 34: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 35: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 36: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 37: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 38: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 39: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 40: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 41: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 42: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 43: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 44: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 45: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 46: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 47: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 48: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 49: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 50: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 51: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 52: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 53: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 54: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 55: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 56: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 57: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 58: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 59: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 60: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 61: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 62: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 63: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 64: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 65: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 66: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 67: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 68: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 69: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 70: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 71: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 72: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 73: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 74: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 75: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 76: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 77: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 78: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 79: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 80: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 81: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 82: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 83: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 84: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 85: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 86: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 87: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 88: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 89: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 90: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 91: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 92: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 93: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 94: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 95: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 96: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 97: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 98: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 99: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document
Page 100: ST-RK-1.16-082-007/R- Modul Praktikumelearning.upnjatim.ac.id/courses/DBAGENAP20142015/work/54fcd6aed... · Anda juga aktif mencari materi-materi yang belum ... yang lebih dikenal

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

  • Daftar Isi
  • Pengantar Umum
  • MODUL 1
    • Database Architecture
    • Control Files
    • Redo Log Files
    • Datafiles
    • Oracle Instance Management
    • Oracle Memory Stuctures
    • Background Process Oracle
      • Background Process Utama
      • Background Process Tambahan
        • DBCA Overview
        • Latihan
          • MODUL 2
            • Starting and Stopping iSqlPlus
            • Management Framework
            • Accessing Database Control
            • SYSOPER and SYSDBA
            • Database Home Page
            • Startup and Shutdown Options
            • Latihan
              • MODUL 3
                • Tablespace and Datafiles
                • Space Management in Tablespaces
                • Tablespace in the Preconfigured Database
                • Dropping Tablespaces
                • Latihan
                  • MODUL 4
                    • Database User Accounts
                    • Privileges
                    • System Privileges
                    • Object Privileges
                    • Assigning Quota to Users
                    • Roles
                      • Keuntungan menggunakan role
                      • Karkteristik role
                        • Latihan
                          • MODUL 5
                            • Database Security
                            • Apply the Principle of Least Privileges
                            • Manage Default User Accounts
                            • Implement Standard Password Security Features
                            • Creating a Password Profile
                            • Latihan
                              • MODUL 6
                                • Oracle Net Services
                                • Oracle Net Listener
                                • Oracle Net Connections
                                • Latihan
                                  • MODUL 7
                                    • Locks
                                    • Mekanisme Penguncian (Locking Mechanism)
                                    • Data Concurrency
                                    • DML Locks
                                    • Lock Conflicts
                                    • Resolving Lock Conflicts
                                    • Deadlock
                                    • Latihan
                                      • MODUL 8
                                        • Terminology
                                        • Database Backups
                                        • Database Recovery
                                        • Latihan
                                              1. 2009-03-03T081704+0700
                                              2. Erwin
                                              3. I am the author of this document