The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by inul.chotimah, 2023-03-20 23:31:04

44.Manajemen database oracle (1)

Pemesanan hubungi :
BUKU HANYA DIJUAL ONLINE Email : [email protected]
Whatsapp : 0822-144-14143














Manajemen




Database Oracle


Database Administrator

c
g
Bisa diterapkan pada Oracle 11 dan 12




























Bambang Sutejo, S.Si, OCP


Untuk training dan Sertifikasi IT hubungi:









Gedung Labora Lt. 2-3,
Jl. Lengkong Kecil No. 73 Bandung – 40261

Telp : 022-4221130
Whatsapp : 0812-1425-8598
website : www.belogix.com


Pemesanan buku hubungi :
Email : [email protected]
Whatsapp : 0822-144-14143






Manajemen Database Oracle






Overview

Buku ini merupakan lanjutan dari buku yang pernah saya tulis yaitu Oracle 12c: Introduction to
SQL. Jadi sebelum membaca buku ini, saya harap Anda sudah mengenal perintah-perintah dasar
SQL.

Buku Manajemen Database Oracle menjawab "Apa yang harus Anda lakukan ketika Anda menjadi
DBA". Buku ini bisa digunakan untuk Oracle 11g dan Oracle 12c, kecuali pada Bab 12 hanya bisa
dipraktekan di Oracle 12c. Buku ini bisa menjadi pedoman bagi Anda dalam manajemen database
Oracle dan membantu Anda dalam mengatasi kerusakan yang terjadi di dalam database. Buku
dibagi dalam 12 bab dengan alur pembahasan dibuat sebaik mungkin untuk mempermudah
pemahaman dengan rincian pembahasan sebagai berikut:


Bab 1 Instalasi Database
Bab ini dimulai dari penjelasan tugas dan tanggunga jawab database administrator dan
tools apa saja yang bisa digunakan untuk menjalankan tugas-tugas tersebut. Kemudian
dilanjutkan dengan instalasi dan penjelasan setiap tahap proses instalasi.


Bab 2 Membuat Database
Kebanyakan pemula biasanya database dibuat pada saat instalasi. Jadi begitu instalasi
selesai databasenya bisa langsung digunakan. Hal memang lebih mudah dan tidak
masalah jika hanya untuk belajar perintah SQL saja. Untuk DBA, tentu Anda harus paham
betul setiap tahapan dalam proses pembuatan database. Bab ini membahas dengan detail
proses membuat database dimulai dengan pembuatan listener dan alasan kenapa mesti
ada listener sebelum membuat database. Setelah pembuatan database dengan tool DBCA
selesai dijelaskan bagaimana mengaktifkan dan menggunakan tool Enterprise Manager
Database Express (EMDE). Terakhir dijelaskan juga bagaimana kalau mau membuat
database secara manual dengan perintah CREATE DATABASE.

Bab 3 Arsitektur Database Oracle

Bab ini membahas secara konsepsual tentang arsitektur database Oracle. Sebagian orang
mungkin akan malas membahas yang sifatnya konsepsual, disini ingin saya tekankan
bahwa untuk menjadi DBA Anda harus memahami secara konsepsual arsitektur database
Oracle. Bab ini membahas struktur komponen database dan fungsinya serta menjelaskan
bagaimana interaksi antar komponen database saat menjalankan suatu perintah SQL.

Page | 1


Pemesanan buku hubungi :
Email : [email protected]
Whatsapp : 0822-144-14143






Bab 4 Manajemen Instance
Bab ini membahas bagaimana cara melakukan startup dan shutdown database.
Menjelaskan tahapan dalam proses startup dan apa yang "kerjakan" oleh sistem database
di setiap tahapannya. Menjelaskan jenis shutdown dan konsekuensi dari setiap jenis
shutdown. Parameter database dan parameter file dan bagaimana cara mengatasinya jika
parameter file rusak juga dibahas di bab ini. Selanjutnya mambahas bagaimana mencari
informasi tentang objek database dan status database dengan membaca ke metadata
dictionary dan dynamic performance view.

Bab 5 Manajemen Tablespace dan Datafile

Tujuan memahami struktur penyimpanan adalah agar kita bisa memanfaatkan space
secara optimal. Bab ini membahas bagaimana Oracle mengorganisasi penyimpanan data
baik secara logik maupun fisik. Bagaimana membuat tablespace dan datafile dengan
berbagai macam parameter. Membuat tablespace dengan ukuran block diluar standard,
manajemen segment dan extent. Mengatasi kekurangan space dan merelokasi datafile.

Bab 6 Manajemen Control FIle dan Data File

Selain data file, komponen file utama database Oracle adalah control file dan redo log file.
Bab ini membahas arti pentingnya control file dan redo log file. Mengamankan control file
dengan membuat multiplex atau menambahkan control file baru. Cara mengatasi jika
salah satu control file rusak. Untuk redo log file akan dibahas bagaimana prinsip kerja redo
log, bagaimana menambahkan redo log file member ke redo log group. Mengatasi
bagaimana jika salah satu redo log file member rusak. Terakhir menjelaskan arti
pentingnya archivelog dan bagaimana cara membuat database menjadi archivelog mode.

Bab 7 Manajemen User

Manajemen user berkaitan dengan keamanan dan pemakaian resource. Bab ini membahas
bagaimana mengamankan user-user default. Membuat user dengan otentikas password
dan otentikasi sistem operasi. Membatasi hak akses user dengan privilege dan role.
Membatasi pemakaian resource oleh user serta dengan menerapkan profile. Manajemen
password dengan profile seperti password history, kompleksitas password, masa hidup
password, toleransi kegagalan login dan locking user jika gagal login. Pengaturan quota
space pada user juga dibahas di bab ini.


Bab 8 Manajemen Tabel

Pada bab ini membahas tabel dari sisi manajemen storagenya. Dimulai dari pembahasan
jenis-jenis tabel. Di Oracle ada banyak jenis tabel diantaranya heap table, index organized
table, temporary table, partitioned, external dan cluster table. Setiap jenis tabel
mempunyai karakteristik yang berbeda. Pada printah CREATE TABLE sebenarnya banyak

Page | 2


Pemesanan buku hubungi :
Email : [email protected]
Whatsapp : 0822-144-14143






parameter yang bisa ditentukan, diantaranya menetukan tablespace, pemakaian space,
inisialisasi extent, nologging dan efeknya terhadap redo log, parameter berkaitan dengan
transaksi. Di bab ini semua parameter tersebut dibahas. Ada juga membahas fitur baru
tentang kolom seperti virtual kolom, invisible kolom dan kolom autoincrement. Disini juga
dibahas khusus heap table dan index organized table secara detail.


Bab 9 Manajemen Index

Bab ini membahas bagaimana index bisa mempercepat pencarian data. Bahasan dimulai
dari bagaimana proses pencarian data dengan index. Dilanjutkan dengan pembahasan
jenis index dan struktur penyimpanannya. Kesalahan dalam memilih jenis index pada
suatu kolom bisa berakibat tidak baik terhadap performance query. Beberapa jenis index
yang dibahas adalah B-tree index beserta variannya seperti unique index, ascending dan
descening index, composite index, reverse key index, function based index dan compress
index serta Bitmap index.


Bab 10 Backup Database
Bab ini membahas berbagai strategi backup database. Dimulai dengan pembahasan
konsep backup, restore dan recovery. Kemudian beberapa terminologi yang sering
digunakan dalam backup dan recovery. Menjelaskan keuntungan dan pentingnya database
dikonfigur menjadi archive log. Bagaimana cara menggunakan tools Recovery Manager
(RMAN), menentukan lokasi file backup dan jenis file backup. Melakukan konfigurasi
parameter RMAN dan melakukan berbagai strategi backup seperti offline backup, online
backup, full backup, incremental backup dan backup backup partial file database seperti
control file, tablespace, data file dan archivelog. DI bagian akhir juga dijelaskan bagaimana
melakukan maintenance file-file backup dengan RMAN.

Bab 11 Recovery Database

Bab ini membahas berbagai cara untuk recovery database. Dimulai dengan bagaimana
cara mendeteksi jenis file yang rusak berdasarkan proses startup database. Melakukan
closed recovery untuk critical data file dan open recovery untuk non critical data file.
Bagaimana menghidupkan kembali database jika semua control file rusak dan bagaimana
melakuan recovery jika semua redo log member suatu redo log group hilang.

Bab 12 Container dan Plugable Database (CDB dan PDBs)

Bab ini khusus untuk Oracle 12c. Bab ini membahas konsep container dan plugable
database. Bagaimana membuat plugable database, membuat user suatu PDB, login ke
PDB, startup dan shutdown PDB, Manajemen PDBs dengan Enterprise Manager Database
Express.



Page | 3


Pemesanan buku hubungi :
Email : [email protected]
Whatsapp : 0822-144-14143






Demikian penjelasan tentang isi buku Manajemen Database Oracle. Semoga buku ini bisa
bermanfaat bagi Anda.

Terimakasih atas kesediaan Anda membaca penjelasan ini.



Salam

Bambang Sutejo









Untuk training dan Sertifikasi IT hubungi:








Gedung Labora Lt. 2-3,
Jl. Lengkong Kecil No. 73 Bandung – 40261

Telp : 022-4221130
Whatsapp : 0812-1425-8598
website : www.belogix.com


























Page | 4


Create Database BAB





2

Materi yang dibahas dalam bab ini
mencakup:


 Database dan Schema (User)
 Membuat Listener

 Create Database dengan tools Database
Configurasi Assistant
 Enterprise Manager Database Express
(EMDE)
 Create Database secara manual dengan
perintah CREATE DATABASE






Terimakasih saya ucapkan kepada saudari MEUTIA JOVI MAHARANI
atas kesediaannya menjaga ebook ini agar tidak beredar secara ilegal.
Semoga buku ini bermanfaat dan bisa menunjang kesuksesan Anda

Salam
Bambang Sutejo
















16


Create Database






Membuat database bisa saja dilakukan bersamaan dengan proses instalasi, tetapi agar
pembahasan tahapan membuat database bisa dibahas lebih detail maka kita buat
terpisah antara instalasi dan create database. Membuat database bisa dilakukan
dengan dua cara yaitu:
 Menggunakan utility Oracle Database Configuration Assistant
 Menggunakan perintah CREATE DATABASE dengan SQL*Plus

Mulai Oracle 12c, Oracle mengenalkan dua jenis database baru yaitu Container
database (CDBs) dan Plugable Database (PDBs). Jadi di Oracle 12c kita bisa membuat
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
database dengan tiga opsi yaitu :
- Database biasa seperti seperti versi sebelumnya (11g ke bawah)
- Database container tanpa plugable database
- Database container dengan plugable database


Container database merupakan “induk” database dimana di dalamnya terdiri dari
satu atau beberapa plugable database. Pada bab ini kita akan membuat database opsi
yang kedua yaitu Database Container tanpa plugable. Database Container tanpa
plugable database mirip dengan database versi 11g ke bawah dan seterusnya, bedanya
jika kita memilih membuat database dengan opsi pertama yaitu database biasa, kita
tidak bisa menambahkan plugable database. Mengingat yang membaca buku ini
mungkin saja masih banyak yang menggunakan Oracle 11g maka pilihan yang paling
baik adalah membuat Database Container tanpa plugable database, sehingga bahasan
di buku ini bisa diterapkan juga di Oracle 11g dan tetap memperlihatkan keunggulan
fitur Oracle 12c yaitu Plugable Database. Plugable Database akan dibahas pada bab 11.

Sebelum kita membahas tahapan membuat database, saya akan sedikit memberi
gambaran tentang konsep database dan schema di Oracle.

Database dan Schema(User)




Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 Database adalah tempat untuk menyimpan data atau biasa disebut sebagai objek
database. Objek database banyak jenisnya diantaranya adalah tabel, index, view dan
stored procedure. Di sisi lain database merupakan suatu “media” yang disediakan
agar bisa diakses oleh banyak user. Untuk memudahkan pengelolaan data dalam satu
database maka objek-objek database tersebut dikelompokkan berdasarkan user
pemiliknya. Pengelompokan objek database secara logik berdasarkan user pemilik
objek inilah yang disebut sebagai schema. Schema atomatis terbentuk ketika perintah

CREATE USER dieksekusi dan akan dihapus ketika suatu user di drop dengan


17
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






perintah DROP USER. Nama schema sama dengan nama user, jadi bisa dikatakan user
dan schema adalah hal yang sama.

Oracle mengartikan database sebagai global database yang didalamnya akan terdapat
banyak schema atau user dan di dalam schema terdapat banyak objek database. Hal
ini bisa digambarkan sebagai berikut :






TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN













GAMBAR 2.1 Konsep user dan schema di database Oracle


Gambar diatas menunjukkan global database dengan nama dbora12c.inspira.com
dengan user atau schema SYS, SYSTEM dan SALES. User SYS dan SYSTEM adalah
predefined user yaitu user yang dibuat bersamaan dengan proses pembuatan
database. User SYS adalah user dengan kewenangan tertinggi kemudian diikuti

dengan user SYSTEM. Sedangkan user SALES adalah contoh user yang dibuat untuk
keperluan pembuatan aplikasi.

Dari gambaran diatas bisa kita ambil kesimpulan bahwa dalam satu server sebaiknya
hanya dibuat satu global database. Jika kita ingin membuat suatu aplikasi cukup


aplikasi yang akan kita buat, sebagai contoh ketika kita akan membuat aplikasi
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 membuat user atau schema. Nama user atau schema sebaiknya mencerminkan nama
tentang penjualan maka nama user yang sesuai adalah user SALES. Di database
Oracle user tidak selalu identik dengan personal atau orang.
Demikian penjelasan singkat tentang konsep user, schema dan database di Oracle.
Lebih jauh tentang user akan dibahas pada bagian “Manajemen User”






18
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





Konfigurasi LISTENER



Listener merupakan komponen server database yang bertugas menerima permintaan
koneksi dari client. Yang dimaksud client disini adalah tools atau program aplikasi
yang meminta layanan data ke database. Client tersebut bisa saja berada dalam satu
mesin dengan server database atau berada di mesin lain. Jadi, agar permintaan
koneksi dari client bisa dipenuhi maka listener di server harus ada dan aktif (started).
Kenapa kita harus konfigurasi Listener sebelum membuat database? Sebenarnya kita
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
tidak perlu melakukan konfigurasi Listener jika hanya ingin membuat database tanpa
diikuti aplikasi untuk manajemen database yaitu Enterprise Manager Database
Express (EMDE) di Oracle 12c atau Enterprise Manager (EM) di Oracle 10g dan 11g.
Ingat, EMDE dan EM adalah aplikasi jadi perlu layanan koneksi ke server. Jika kita
tidak konfigurasi Listener sebelum membuat database akan terjadi error pada saat
konfigurasi EMDE atau EM tetapi error tersebut tidak menyebabkan kegagalan
pembuatan database.
Bagaimana mengetahui apakah server database Anda sudah ada listenernya atau
belum ?. Jika Anda menggunakan sistem operasi Windows, listener sebenarnya
berupa suatu Service, jadi Anda bisa mengecek ke Program  Setting  Control
Panel  Administrative Tools  Services. Jika memang sudah ada maka pada layar
Service akan terdapat services dengan nama OracleOraDB12cHome1TNSListener.






GAMBAR 2.2 Service Listener pada Windows Services







apakah pada server database Anda terdapat listener atau belum gunakan tool
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 Jika Anda menggunakan lingkuman command prompt atau Linux, untuk mengecek
LSNRCTL.
C:\>lsnrctl
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener

TNS-12560: TNS:protocol adapter error
TNS-00511: No listener


19
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





64-bit Windows Error: 61: Unknown error

Dari hasil perintah LSNRCTL diatas menandakan bahwa di server belum ada Listener.

Untuk konfigurasi listener di server database utility yang digunakan adalah Net
Configuration Assistant (netca), tahapannya seperti berikut ini.
1. Dari desktop Windows, Start  Program  Oracle-OraDB12cHome1
Configuration and Migration Tools  Net Configuration Assistant.

TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
















GAMBAR 2.3 Welcome Listener Configuration
2. Pada Welcome screen pilih Listener Configuration, klik Next, selanjutnya pada
Listener Configuration screen, jika di server belum ada Listener hanya pilihan
Add yang enable, klik Next










Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 GAMBAR 2.4 Listener screen













20
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






3. Pada Listener name atomatis diisi dengan nama default LISTENER. Sebenarnya
kita bisa memberikan nama lain, tetapi untuk saat ini biarkan saja nama listener
default saja yaitu LISTENER. Oracle Home User Password adalah password user
sistem operasi yang digunakan untuk instalasi, dalam hal ini kita menggunakan
user “oracle”, jadi isikan password user “oracle” yang diisi pada saat instalasi.






TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN










GAMBAR 2.5 Listener Name
4. Listener sebagai jalur komunikasi data bisa melayani berbagai jenis protocol
seperti TCP/IP, IPC, TCPS dan NMP. Secara default listener menggunakan
protocol TCP, jadi pastikan protocol TCP ada dibagian Selected Protocol. Klik
Next.















Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 5. Secara default listener dengan nama LISTENER akan melayani permintaan

GAMBAR 2.6 Select Protocol


koneksi dari client melalui port 1521. Jika Anda menginginkan port yang berbeda

pilih Use another number dan ketikkan nomor portnya. Untuk saat ini biarkan
nilai default saja yaitu 1521. klik Next

21
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database




















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




GAMBAR 2.6 Port TCP/IP Protocol

6. Selanjutnya, pada layar More Listener screen pilih No karena kita tidak akan
mengkonfigurasi listener lain, dan tunggu beberapa saat sampai server selesai
melakukan proses konfigurasi listener. Terakhir, klik Finish pada Listener
Configuration Done screen.
Mari kita periksa, apakah konfigurasi listener di server database sudah berhasil ?


C:\>lsnrctl

LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 07-APR-2014
08:02:03

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC-52)(PORT=1521)))
STATUS of the LISTENER
------------------------

Version TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 -
Production
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 Alias LISTENER
Start Date 07-APR-2014 08:01:07
Uptime 0 days 0 hr. 1 min. 4 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
D:\app\oracle\product\12.1.0\dbhome_1\network\admin\listener.ora
Listener Log File D:\app\oracle\diag\tnslsnr\PC-

52\listener\alert\log.xml
Listening Endpoints Summary...

22
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC-52)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

Dari informasi diatas terlihat bahwa konfigurasi listener sudah berhasil dengan nama
alias listener adalah LISTENER melayani koneksi dengan protocol TCP pada port 1521
dengan nama server PC-52. Selanjutnya, mari kita buat database.

TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Membuat Database dengan DBCA



Database Configuration Assistant (DBCA) merupakan Java-based tools dengan
Graphic User Interface (GUI) yang digunakan untuk membuat, menghapus
datababase dan mengatur template database Oracle. DBCA memberikan kemudahan
dalam membuat database Oracle, berikut ini akan kita pelajari bagaimana membuat
database dengan DBCA.
1. Jalankan DBCA, dari desktop Windows, Start  Programs  Oracle-
OraDB12Home1  Configuration And Migration Tools  Database
Configuration Assistant. Akan munculkan Welcome screen seperti dibawah ini,
klik Next untuk melanjutkan.















Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307







GAMBAR 2.7 Welcome screen DBCA




23
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database








Option Keterangan

Create Database akan menuntun kita langkah demi langkah untuk
membuat database. Database bisa dibuat dengan
berdasarkan template yang sudah disediakan atau
dikustomisasi sesuai kebutuhan organisasi

Configuration digunakan untuk melakukan perubahan konfigurasi
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Database Options database dari dedicated server menjadi shared server

Delete a Database digunakan untuk menghapus database secara
keseluruhan baik instance maupun file-file yang
berkaitan dengan database

Manage Templates untuk menajemen database template. Database template
merupakan pendefinisian konfigurasi database yang
disimpan dalam suatu format file XML. Kita bisa
memilih salah satu template dari beberapa template
yang ada untuk membuat atau bisa juga membuat
template sendiri untuk keperluan sistem kita

Manage Pluggable untuk menajemen beberapa database dalam satu
Databases instance

2. Ada dua pilihan untuk membuat database yaitu Create database with default

configuration dan Advanced mode. Jika kita memilih pilihan pertama proses
pembuatan database sederhana dan cepat. Dalam hal ini kita pilih opsi yang
kedua yaitu Advanced mode untuk melihat opsi apa saja yang bisa ditentukan


Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 dalam pembuatan database. Pilih Advanced mode, klik Next.













24
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




GAMBAR 2.8 Opsi pembuatan database

3. DBCA menyediakan tiga template database. Kita bisa memilih salah satu dari
template tersebut untuk membuat database yang sesuai dengan yang kita
inginkan. Template database didesain dan dioptimalisasi berdasarkan beban
kerja dari karakteristik sistem yang ada yaitu General Purpose or Transaction
Processing biasa digunakan untuk sistem yang banyak melakukan operasi
manipulasi data yaitu insert, update dan delete dengan jumlah user yang banyak,
Data Warehouse digunakan untuk menampung data dalam jumlah besar (big
data) dengan intensitas query (SELECT) yang tinggi sedangkan pilihan Custom
Database kita bisa menentukan sendiri ukuran komponen database dan nilai-nilai
parameter tertentu agar konfigurasi database sesuai dengan kebutuhan aplikasi
kita dan berjalan optimal. Untuk menampilkan konfigurasi dari setiap template

klik Show Detail. Untuk saat ini pilih database template General Purpose or
Transaction Processing dan klik Next.






Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307













25
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




GAMBAR 2.8 Template database

4. Suatu database didentifikasi dengan Global Database Name dan SID. Global
database name terdiri dari nama database dan domain database dengan format
nama_database.database_domain. Contohnya adalah dbora12c.inspira.com. Pada
contoh tersebut, nama database adalah dbora12c dan nama domain adalah
inspira.com. Nama domain database biasanya sama dengan nama domain
jaringan. Oracle system identification (SID) adalah nama dari instance yang
dihubungkan ke database. Oracle SID maksimal delapan karater dan harus
unique dalam satu server. Oracle SID biasanya sama dengan nama database.
Untuk saat ini ketik Global Database Name : dbora12c.inspira.com dan Oracle
SID atomatis terisi dbora12c. Check (pilih) “Create as Container Database”,
Check “Use Local Undo tablespace for PDBs dan pilih “Create an empty

Container Database”, klik Next








Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307













26
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




GAMBAR 2.9 Identifikasi database

5. Database Storage Option, Oracle menyediakan dua pilihan untuk konfigurasi
penyimpanan file-file database, yaitu File System dan Automatic Storage
Management (ASM).






















Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 File System Storage, mekanisme penyimpanan dan manajemen file database
GAMBAR 2.10 Storage Database Option




dilakukan oleh sistem operasi. Jika option ini yang dipilih maka selanjutnya
Anda diminta untuk menentukan lokasi direktori untuk menempatkan datafile,

control file dan redolog file. Secara default lokasi dari datafile, control file dan


27
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






redolog file akan diletakkan di folder $ORACLE_BASE\oradata. Selanjutnya jika
kita memilih Use Oracle Managed File maka khusus untuk control file dan
redolog file akan dibuatkan multiplex. Multiplex artinya membuatkan copy dari
suatu file dan diletakkan pada lokasi yang berbeda dari file aslinya.
ASM Storage, merupakan mekanisme penyimpanan dan manajemen file
database yang baru dikenalkan di Oracle 10g keatas. ASM menggunakan disk
group untuk manajemen file database. Oracle menyediakan instance khusus yang
disebut ASM instance untuk mengelola disk group. Dengan disk group Anda bisa
mendefinisikan satu atau beberapa disk menjadi satu logical unit yang akan
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
diperlakukan sebagai satu unit penyimpanan oleh Oracle.
Pada tahap ini pilih “Use template file for database storage attribute”, klik Next.

6. Fast Recovery Option, untuk file-file yang berkaitan dengan backup database
juga bisa disimpan dalam dua bentuk penyimpanan yaitu File sytem dan ASM.
Lokasi tempat file backup disebut Fast Recovery Area lokasinya di
$ORACLE_BASE\fast_recovery_area yang besarnya secara default adalah 11898
MB.

Enable Archiving, jika option ini Anda check, maka database akan diset menjadi
Archivelog mode, setiap isi dari redolog file akan dicopy ke dalam file archivelog.
Setting database Archivelog juga bisa dilakukan setelah database selesai dibuat.
Untuk saat ini, jangan di check option Enable Archiving, klik Next
Pilih jenis penyimpanan untuk file database dan file backup pilih File System













Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307






GAMBAR 2.11 Fast Recovery Option

7. Network Configuration, agar database bisa dikoneksi dari client maka database


28
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






harus didaftarkan pada listener. Listener yang sudah kita buat sebelumnya
adalah LISTENER dan saat ini di server cuma ada satu listener dengan port 1521.
Check pada pilihan LISTENER dan klik Next.









TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN












GAMBAR 2.12 Network Configuration


8. Oracle Data Voult Config Option, Oracle Database Voult dan Oracle Label
Security merupakan software Oracle untuk keamanan dan audit database. Saat
ini tidak memungkinkan bagi kita untuk melakukan konfigurasi, jadi biarkan
default dan klik Next.











Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307








GAMBAR 2.13 Oracle Data Voult Config Option



29
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database







9. Configuration Option, bagian ini digunakan untuk melakukan setting beberapa
parameter database. Ada empat tab kategori parameter untuk manajemen Oracle
instance yang disediakan yaitu Memory, Sizing, Character Sets dan Connection
Mode.

Tab Memory berisi parameter yang berkaitan dengan ukuran komponen memori
atau Random Access Memory(RAM). Ada tiga pilihan yang disediakan yaitu

 Automatic Shared Memory Management (ASMM)
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
 Manual Shared Memory Management (MSMM)
 Automatic Memory Management (AMM)

Jika memilih ASMM maka kita bisa menentukan ukuran dua komponen utama
memory yaitu Shared Memory Area (SGA) dan Program Global Area (PGA).
Ukuran komponen-komponen memory di SGA akan diset otomatis sesuai beban
kerja database.
Jika memilih MSMM, kita bisa menentukan ukuran komponen secara manual.
Hal ini tidak disarankan karena dikhawatirkan alokasi memori yang kita
tentukan tidak sesuai dengan beban kerja database, dengan MSMM database
tidak bisa menyesuaikan ukuran komponen memory berdasarkan beban
kerjanya, DBA yang harus memeriksa dan menyesuaikan secara manual.
Jika memilih AMM, kita cukup menentukan berapa besar kapasitas memory akan
digunakan untuk database Oracle. Selanjutnya Oracle yang akan menyesuaikan
ukuran komponen-kompenen memory berdasarkan beban kerjanya.

Pembahasan fungsi dari komponen-komponen memory untuk Oracle dibahas
pada bab 3 Arsitektur Database Oracle.
Disini kita akan menggunakan ASMM, dan secara otomatis Oracle akan
mengalokasikan 40% dari total memori (RAM), Anda bisa merubah setting
ukuran ini. Dalam kasus ini RAM di komputer yang digunakan adalah 8 GB dan

PGA, klik tab Sizing.
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 memory untuk database akan kita set sebesar 1024M untuk SGA dan 512M untuk












30
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




GAMBAR 2.14 Configuration Option (Memory)

Tab Sizing digunakan untuk setting ukuran block dan process. Block merupakan
unit penyimpanan terkecil, Oracle akan mengangkat dan menurunkan data dari
memori ke disk per-block jadi ukuran block akan berpengaruh terhadap proses
I/O. Pilihan Block Size pada tab Sizing hanya enable jika Anda memilih Custom
Database pada pemilihan template database. Jika Anda memilih Custome
Database maka pilihan ukuran block yang disediakan adalah dari 2 KB sampai 32
KB. Sedangkan field Processes menentukan jumlah maksimal process dari user
sistem operasi yang melakukan koneksi ke database termasuk background
process. Minimal nilai Processes adalah 6 (1 user process dan 5 background
process) defaultnya adalah 150 untuk Oracle 10/ 11g dan 300 untuk Oracle 12c.











Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307








GAMBAR 2.15 Configuration Option (Sizing)



31
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






Tab Character Set digunakan untuk melakukan konfiurasi character set yang
digunakan dalam database. Pada tab ini Anda bisa menentukan database
character set, national character set, bahasa dan format tanggal. Character sets
akan menentukan format penyimpanan data dan bagaimana data ditampilkan.
Secara default character set mengikuti setting yang ada di sistem operasi. Default
Language adalah American dan Date Format adalah United States atau DD-
MON-YYYY. Untuk saat ini biarkan default, klik tab Connection Mode.



TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
















GAMBAR 2.16 Configuration Option (Character Set)
Tab Connection Mode digunakan untuk menentukan layanan koneksi server
database. Ada dua cara melakukan setting koneksi dari client ke database server
yaitu Dedicated dan Shared Server. Koneksi dedicated berarti satu user koneksi
atau session akan dilayani oleh satu server process sedangkan pada koneksi

shared server satu server process akan melayani beberapa user koneksi. Secara
default Connecton mode adalah Dedicated. Klik Next untuk ke proses create
database berikutnya.




Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307













32
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




10. GAMBAR 2.16 Configuration Option (Connection Mode)

10. Management Option, Ada dua pilihan untuk konfigurasi manajemen database
yaitu terpusat dan lokal. Manajemen database secara terpusat maksudnya adalah
beberapa database server dikelola dengan satu management console atau Enterprise
Manager (EM) Cloud Control. Sedangkan manajemen database secara lokal
berarti setiap database disediakan satu database console atau Enterprise Manager
Database Express. Pilih Configure Enterprise Manager Database Express untuk
manajemen database secara lokal dengan Enterprise Manager. Port biarkan
default saja yaitu 5500













Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307








GAMBAR 2.17 Management Option



33
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database







11. Pada saat create database, Oracle akan membuat beberapa user account untuk
keperluan manajemen database yaitu SYS dan SYSTEM. Screen Database
Credential memberi pilihan untuk setting password kedua user tersebut. Jika
Anda menginginkan kedua user tersebut mempunyai password yang sama pilih
Use the Same Administrative Password for All Account dan ketik passwordnya.
Tetapi jika Anda menginginkan keempat user tersebut mempunyai password
yang berbeda maka pilih Use Different Administrative Passwords dan ketik
password untuk setiap user. Ingat, user SYS atau SYSTEM inilah yang nantinya
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
akan digunakan untuk manajemen database, jadi sebaiknya jangan sampai lupa
passwordnya.

Pada field Oracle Home user Password, isikan password user “oracle” yang
merupakan user sistem operasi Windows yang digunakan untuk instalasi
software Oracle. Kemudian, klik Next.
















GAMBAR 2.18 Database User Credentials









Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 12. Creation Option

Pada akhir konfigurasi pembuatan database ada tiga hal yang bisa lakukan yaitu:

Create Database, berarti apa yang sudah kita konfigurasi sebelumnya

langsung dijadikan dasar pembuatan database database





34
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





 Save as a Database Template, konfigurasi yang kita lakukan dijadikan
sebagai template. Template ini nantinya akan muncul pada screen pilihan
template pada saat proses Create Database.
 Generate Creation Database Script, konfigurasi yang kita lakukan
dijadikan file script SQL yang berisi perintah-perintah untuk membuat
database. Jika suatu saat kita akan membuat database cukup jalankan file
script tersebut dengan SQL*Plus
Kita bisa memilih salah satu atau ketiganya. Untuk saat ini pilih saja Create
Database dan klik Next.
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN




















GAMBAR 2.19 Creation Options


13. Summary, pada halaman ini ditampilkan semua hasil konfigurasi yang sudah kita
lakukan sebelumnya. Klik Finish untuk memulai pembuatan database






Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307













35
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN



GAMBAR 2.20 Create Database Summary
Selanjutnya akan muncul progress pembuatan database, lamanya proses
pembuatan database tentuya tergantung dari spesifikasi komputer yang kita
pakai. Pada akhir proses pembuatan database akan muncul screen Database
Configuration Assistant, disitu ada button “Password Management”, klik button
tersebut.




















Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 Password Management, secara default Oracle melakukan lock terhadap semua
GAMBAR 2.21 Password Management


user yang ada di database kecuali user SYS dan SYSTEM. Bagian Password
Management ini digunakan untuk membuka locking dan memberikan password
untuk user yang kita buka lock-nya. Sekedar saran, sebaiknya buka user yang

diperlukan saja hal ini demi keamanan database. Klik OK dan terkahir klik Close.



36
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






Proses pembuatan database dengan Database Configuration Assistant selesai.
Pada komputer kita sudah ada database dbora12c.inspira.com dan siap kita
gunakan untuk belajar manajemen database. Tetapi sebelumnya kita harus
persiapkan dulu tools untuk manajemennya yaitu Enterprise Manager Database
Express.

Enterprise Manager Database Express (EMDE)



TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Enterprise Manager Database Express(EMDE) adalah web-base tools untuk
manajamen database Oracle 12c. EMDE lebih sederhana dan ringan. Pada Oracle 10g
dan 11g untuk web-base tools menggunakan Enterprise Manager (EM). Untuk EM di
Oracle 10g/11g kita tidak perlu melakukan konfigurasi apapun setelah proses
pembuatan database tetapi untuk Oracle 12g, EMDE perlu sedikit konfigurasi agar
bisa digunakan.

EMDE secara keseluruhan dibuat dengan kode PL/SQL dan diletakkan di dalam
schema XDB. Selanjutnya XDB akan memanfaatkan kode PL/SQL tersebut untuk
mengaktifkan konsol yang berbasis web. Secara default kode PL/SQL tersebut sudah
ada, kita tinggal melakukan konfigurasi. Cara configurasinya adalah sebagai berikut:
1. Periksa parameter dispatchers apakah sudah siap dikonfigurasi untuk XDB,
secara default sudah bisa.
SQL> show parameter dispatchers


NAME TYPE VALUE
----------- ------ -----------------------------------

dispatchers string (PROTOCOL=TCP) (SERVICE=db12cXDB)

Sample Ebook
2. Set port untuk https di server, dalam hal ini kita menggunakan port 5500
SQL> exec dbms_xdb_config.sethttpsport (5500);
PL/SQL procedure successfully completed.
SQL>

Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 3. Selanjutnya jangan lupa untuk melakukan query melihat port number yang akan
digunakan untuk EMDE

SQL> select dbms_xdb_config.gethttpsport () from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------

5500


37
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






Sekarang web interface untuk manajemen database yang disebut Enterprise Manager
Database Express siap diakses dengan alamat https://hostname:5500/em. Jika kita
berada di konputer server bisa gunakan localhost sebagai hostname. Di browser ketik
https://localhost:5500/em. Username isikan user sys atau system dan passwordnya,
password case-sensitive. Jika login sebagai user sys pastikan opsi “as sysdba” di
centang. Isian untuk Container Name dikosongkan saja.




TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN











GAMBAR 2.23 EM Express login

Tampilan Database Home dari EM Express setelah berhasil login adalah seperti
dibawah ini.















GAMBAR 2.24 Database Home EM Express
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 Membuat Database dengan CREATE DATABASE
EM Express siap digunakan.





Selain dengan utility Dabatase Configuration Assistant, pembuatan database juga bisa

dilakukan secara manual dengan perintah CREATE DATABASE. Memang, jika



38
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database






membuat database secara manual lebih memerlukan kerja ekstra karena kita harus
menyiapkan semuanya yaitu folder, parameter file dan menjalankan script yang
diperlukan secara manual.

Bagian ini hanya tambahan pengetahuan saja, Anda tidak harus melakukan. Jika Anda
berminat, silahkan ikuti tahapan membuat database secara manual dibawah ini
dengan cermat dan hati-hati.
Asumsi, kita akan membuat database dengan nama “DBMANUAL” lokasi
ORACLE_BASE=‘D:\app\oracle’ dan ORACLE_HOME=’D:\app\oracle\product\
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
12.1.0\dhhome_1’ tahapannya sebagai berikut:
1. Buat folder/direktori yang dibutuhkan sebagai berikut:

d:\app\oracle\oradata\dbmanual

d:\app\oracle\admin\dbmanual\adump
d:\app\oracle\admin\dbmanual\dpdump
d:\app\oracle\admin\dbmanual\pfile
Sample Ebook
d:\app\oracle\admin\dbmanual\xdp_wallet
2. Buat parameter file dengan Notepad. Ketik isi parameter seperti dibawah ini dan
simpan sebagai file initdbmanual.ora di direktori
d:\app\oracle\admin\dbmanual\pfile
#========================================================
# D:\app\oracle\admin\dbmanual\pfile\initdbmanual.ora
# Dibuat oleh Bambang Sutejo
# Tanggal: 10 April 2014
# Untuk keperluan CREATE DATABASE MANUAL dengan Script
#========================================================
db_domain='inspira.com'
db_name='dbmanual'

db_cache_size=150994944
java_pool_size=4194304
large_pool_size=4194304
pga_aggregate_target=100663296
streams_pool_size=0
audit_file_dest='d:\app\oracle\admin\dbmanual\adump'

compatible='11.1.0.0.0'
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 audit_trail='db'
control_files='d:\app\oracle\oradata\dbmanual\control01.ctl'
db_block_size=8192
db_recovery_file_dest='D:\app\oracle\fast_recovery_area'
db_recovery_file_dest_size=5000M
diagnostic_dest='D:\app\oracle'
memory_target=2034M
open_cursors=300
processes=150

remote_login_passwordfile='EXCLUSIVE'


39
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





undo_management=auto
undo_tablespace='UNDOTBS'
3. Buat instance dengan utility ORADIM dari command prompt.
C:\>ORADIM -new -sid dbmanual
Enter password for Oracle service user:
Instance created.
4. Gunakan SQL*Plus untuk koneksi ke instance dbmanual yang baru dibuat
C:\>set ORACLE_SID=dbmanual
C:\>SQLPLUS "/ AS SYSDBA"
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
5. Buat SPFILE dari pfile=’c:\app\oracle\admin\dbman\pfile\initdbman.ora’
SQL> CREATE SPFILE
2 FROM PFILE=’D:\app\oracle\admin\dbmanual\pfile\initdbmanual.ora’;

6. Startup nomount database
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 401743872 bytes
Fixed Size 1333480 bytes
Variable Size 243271448 bytes
Database Buffers 150994944 bytes
Redo Buffers 6144000 bytes

7. Ketik perintah CREATE DATABASE dibawah ini untuk membuat database,
ketik dengan teliti.

SQL> CREATE DATABASE dbmanual
2 USER SYS IDENTIFIED BY Passw0rdSys#
3 USER SYSTEM IDENTIFIED BY Passw0rdSystem#

4 LOGFILE GROUP 1 ('d:\app\oracle\oradata\dbmanual\redo01.log')
5 SIZE 50M,
6 GROUP 2 ('d:\app\oracle\oradata\dbmanual\redo02.log')
7 SIZE 50M,
8 GROUP 3 ('d:\app\oracle\oradata\dbmanual\redo03.log')
9 SIZE 50M

11 MAXLOGMEMBERS 5
12 MAXLOGHISTORY 1
Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307 10 MAXLOGFILES 5
13 MAXDATAFILES 100
14 MAXINSTANCES 1
15 CHARACTER SET US7ASCII
16 NATIONAL CHARACTER SET AL16UTF16
17 DATAFILE 'd:\app\oracle\oradata\dbmanual\system01.dbf' SIZE 325M
18 REUSE
19 EXTENT MANAGEMENT LOCAL

20 SYSAUX DATAFILE 'd:\app\oracle\oradata\dbmanual\sysaux01.dbf'
21 SIZE 512M REUSE

40
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





22 DEFAULT TABLESPACE DATA
23 DATAFILE 'd:\app\oracle\oradata\dbmanual\DATA01.DBF' SIZE 50M
24 DEFAULT TEMPORARY TABLESPACE tempts1
25 TEMPFILE 'd:\app\oracle\oradata\dbmanual\temp01.dbf'
26 SIZE 20M REUSE
27 UNDO TABLESPACE undotbs
28 DATAFILE 'd:\app\oracle\oradata\dbmanual\undotbs01.dbf'
29 SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


8. Jalankan script CATALOG.SQL, CATPROC.SQL dan PUPBLD.SQL untuk
membuat dictionary dan Standard package database. Lokasi file script
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
CATALOG.SQL dan CATPROC.SQL ada di $ORACLE_HOME\RDBMS\Admin
sedangkan PUPBLD.SQL ada di $ORACLE_HOME\sqlplus\Admin. Anda harus
bersabar ketika menjalankan script-script tersebut karena akan membutuhkan
waktu sekitar 15 menit tergantung spesifikasi hardware yang Anda gunakan. Cara
menjalankan scriptnya adalah sebagai berikut.
SQL> connect / as sysdba

SQL> @D:\app\oracle\product\12.1.0\dbhome_1\RDBMS\ADMIN\catalog.SQL

SQL> connect / as sysdba
SQL> @D:\app\oracle\product\12.1.0\dbhome_1\RDBMS\ADMIN\catproc.SQL
Sample Ebook
SQL> connect SYSTEM/manager
SQL>
@D:\app\oracle\product\12.1.0\dbhome_1\sqlplus\Admin\pupbld.SQL

Setelah eksekusi script diatas selesai, berarti proses membuat database secara manual
sudah selesai.










Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307













41
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Create Database





Penutup



Pada bagian ini kita sudah membahas tentang konsep database, user dan schema di
Oracle, kemudian dilanjutkan dengan konfigurasi listener yang merupakan komponen
service Oracle untuk melayani koneksi dari client ke server database. Membuat
database baik dengan utility Oracle Database Configuration Assistant maupun secara
manual dengan perintah CREATE DATABASE. Melakukan konfigurasi web base
interface EM Express.

TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Mari kita lanjutkan bahasan tentang komponen database beserta fungsi-fungsinya.

































Diberikan kepada: MEUTIA JOVI MAHARANI [email protected] Reg. ID : 7002-161014-1307













42
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143


Manajemen BAB


Tablespace dan


Data File 5







Materi yang dibahas dalam bab ini
mencakup:


 Struktur Penyimpanan
 Tablespace

 Extent Management
 Segment Space Management

 Non-standard Block Tablespace

 Temporary Tablespace
 Data File dan Temp File

 Oracle Managed File
 Resize Datafile

 Relokasi Datafile






Terimakasih saya ucapkan kepada saudara MEUTIA JOVI MAHARANI
atas kesediaannya menjaga ebook ini agar tidak beredar secara ilegal.
Semoga buku ini bermanfaat dan bisa menunjang kesuksesan Anda

Salam
Bambang Sutejo

83


Manajemen Tablespace dan Datafile






Pada bagian ini kita akan membahas tentang struktur penyimpanan data di dalam
database Oracle. Bahasan secara sederhana tentang struktur penyimpanan sudah
disampaikan pada bagian arsitektur database, disini kita akan membahas lebih detail
lagi.

Struktur Penyimpanan

TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Oracle mengorganisasi penyimpanan data dalam dua struktur, yaitu struktur logik
dan fisik. Perhatikan gambar 5.1























GAMBAR 5.1 Hubungan antara struktur penyimpanan logik dan fisik

Mari kita bahas struktur yang ada di gamber tersebut mulai dari awal.
Secara logik urutan penyimpanan database bisa kita buat dalam pernyataan berikut:

1) Dalam satu database terdiri dari beberapa tablespace
2) Dalam tablespace ada satu atau banyak segment

3) Dalam satu segment terdiri satu atau banyak extents
Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 7002-161014-1307 Sedangkan secara fisik tempat penyimpanan data terdiri dari data file yang
4) Satu extent terdiri dari banyak database block


didalamnya terdiri dari OS Block (sistem operasi block).

Pernyataan pertama, “Dalam satu database banyak tablespace”, kita buktikan pernyataan

ini. Kita periksa dulu database kita.


84
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Tablespace dan Datafile





SQL> SELECT * FROM global_name;

GLOBAL_NAME
----------------------------------
DBORA12C.INSPIRA.COM

Ada berapa banyak tablespace di dalam database dbora12c.inspira.com
SQL> SELECT tablespace_name FROM dba_tablespaces;

TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
DATA

6 rows selected.

Ada enam tablespace di dalam database dbora12c.inspira.com.
Selanjutnya kita buktikan, pernyataan kedua “Dalam satu tablespace ada satu atau banyak
segment”. Ada berapa segment di dalam tablespace USERS.
SQL> COLUMN segment_name FORMAT A15
SQL> COLUMN segment_type FORMAT A15
SQL> COLUMN tablespace_name FORMAT A15
SQL> COLUMN owner FORMAT A10
SQL> SELECT tablespace_name, segment_name, segment_type, owner
2 FROM dba_segments
3 WHERE tablespace_name='USERS' AND owner NOT LIKE '%SYS%';

TABLESPACE_NAME SEGMENT_NAME SEGMENT_TYPE OWNER
--------------- --------------- --------------- ----------

USERS DEPT TABLE SCOTT
USERS EMP TABLE SCOTT
USERS SALGRADE TABLE SCOTT
USERS PK_DEPT INDEX SCOTT
USERS PK_EMP INDEX SCOTT


Dari hasil query ini bisa saya jelaskan sebagai berikut, di dalam tablespace USERS ada

Kelima segment tersebut merupakan segment milik user SCOTT. Sampai disini
Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 7002-161014-1307 lima segment yaitu tiga tabel (dept, emp,salgrade) dan dua index (pk_dept, pk_emp).
sebenarnya sudah jelas hubungan antara database, user(schema) dengan tablespace
dan segment. User SCOTT punya segment berupa tabel dan index, segment-segment
tersebut disimpan di dalam suatu tablespace yaitu tablespace USERS. Segment sendiri
bisa kita artikan sebagai objek database yang membutuhkan space untuk menyimpan
data. Segment banyak jenisnya, seperti yang sudah kita lihat ada segment jenis tabel

dan index. Selain itu juga ada undo segment, temporary segment, cluster segment dan


85
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Tablespace dan Datafile






partition segment. Setiap jenis segment ini tentunya punya karakteristik dan fungsi
yang berbeda. Kita tinggalkan tentang segment, sebelum kita membahas pernyataan
selanjutnya, kita lihat dulu hubungan antara tablespace dan data file.

Tablespace dan datafile adalah dua hal yang tidak bisa dipisahkan. Tablespace dan
datafile merupakan penghubung antara struktur logik dan fisik. Satu tablespace

minimal mempunyai satu datafile dan satu datafile hanya bisa dimiliki oleh satu

tablespace. Kita lihat informasinya.
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
SQL> COLUMN datafile FORMAT A60
Sample Ebook
SQL> SELECT tablespace_name, file_name AS datafile
2 FROM dba_data_files;

TABLESPACE_NAME DATAFILE
--------------- -----------------------------------------------------------
USERS D:\DATABASE\DBORA12C\DATAFILE\O1_MF_USERS_9NPMVVQ0_.DBF
UNDOTBS1 D:\DATABASE\DBORA12C\DATAFILE\O1_MF_UNDOTBS1_9NPMVXLJ_.DBF
SYSAUX D:\DATABASE\DBORA12C\DATAFILE\O1_MF_SYSAUX_9NPMQ3P9_.DBF
SYSTEM D:\DATABASE\DBORA12C\DATAFILE\O1_MF_SYSTEM_9NPMSHNY_.DBF
DATA D:\DATABASE\DBORA12C\DATAFILE\DATA01.DBF

Tablespace adalah tempat menyimpan data secara logik dan secara fisik data kita
disimpan di data file. Apa makna penyimpanan secara logik?, secara logik artinya
tercatat atau terekam di dictionary. Seperti contoh di halaman sebelumnya, segment
tabel EMP tercatat berada di tablespace USERS. Secara fisik tentunya semua data di
tabel EMP tersimpan di datafile milik tablespace USERS yaitu D:\DATABASE\DBORA12C\
DATAFILE\O1_MF_USERS_9NPMVVQ0_.DBF. Makna penyimpanan logik dan fisik saya
analogikan dengan bank. Misal Anda membuka tabungan di bank ‘ABC’, secara logik
Anda tercatat mempunyai rekening di bank ‘ABC’ tersebut, ketika Anda menyetor
uang maka uang Anda akan disimpan di brankas. Bank ABC adalah tablespacenya

dan brankas adalah datafilenya.
Kita kembali ke urutan penyimpanan secara logik, pernyataan ketiga “dalam satu
segment terdiri dari satu atau beberapa extent”. Extent adalah satuan atau unit alokasi
space untuk suatu segment. Pada saat kita membuat segment seperti tabel atau index
yang diarahkan ke suatu tablespace maka atomatis akan dialokasikan space sebesar

contohnya.
Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 7002-161014-1307 satu extent pada data file dari tablespace tersebut. Berikut ini akan saya berikan
Buat tablespace INVENTORY dengan data file 'D:\DATABASE\DBORA12C\DATAFILE\
inventory01.dbf' dengan kapasitas 20M.
SQL> CREATE TABLESPACE inventory
2 DATAFILE 'D:\DATABASE\DBORA12C\DATAFILE\inventory01.dbf'
3 SIZE 20M;

Tablespace created.

86
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


4 email VARCHAR(35),
5 address VARCHAR (30))
6 TABLESPACE sales_tbl;

Table created.

Kemudian buatlah index CUSTOMER_IDX berdasarkan kolom CUST_ID pada tabel
CUSTOMER dan letakkan pada tablespace SALES_IDX.

SQL> CREATE INDEX customer_idx

2 ON CUSTOMER(cust_id)
3 TABLESPACE sales_idx;

Index created.

Sample Ebook
Mari kita periksa alokasi extent kedua segment tersebut.
SQL> COLUMN tablespace_name FORMAT A13
SQL> COLUMN segment_name FORMAT A15
SQL> COLUMN segment_type FORMAT A13
SQL> SELECT segment_name, segment_type, tablespace_name, blocks, bytes/1024
"Size in KB"
2 FROM user_segments
3 WHERE segment_name in ('CUSTOMER','CUSTOMER_IDX');

SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NA BLOCKS Size in KB
--------------- ------------- ------------- ---------- ----------
CUSTOMER TABLE SALES_TBL 16 128
CUSTOMER_IDX INDEX SALES_IDX 8 64

Pada locally managed tablespace ukuran extent dalam satu tablespace selalu sama
walaupun setiap objek dibuat dengan storage parameter yang berbeda. Hal ini untuk
menghindari fragmentasi atau pemborosan space. Tentang storage parameter akan kita
bahas di bagian Manajemen Tabel.

Segment Space Management

Segment Space Management mengatur pemakaian space dalam satu segment. Ada
dua cara yang digunakan yaitu Manual Segment Space Managemen (MSSM) dan
Automatic Segment Space Managemen (ASSM). ASSM dikenalkan mulai Oracle 9i
dan Oracle merekomendasikan Anda menggunakan ASSM.
Untuk mengetahui apakah tablespace menggunakan ASSM atau MSSM gunakan
query berikut :

SQL> SELECT tablespace_name, segment_space_management
2 FROM dba_tablespaces;

TABLESPACE_NA SEGMEN
------------- ------
SYSTEM MANUAL

94


Manajemen Tablespace dan Datafile





SYSAUX AUTO
UNDOTBS1 MANUAL
TEMP MANUAL
USERS AUTO
DATA AUTO
INVENTORY AUTO
SALES_TBL AUTO
SALES_IDX AUTO

9 rows selected.
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN

 Tablespace Manual Segment Space Management (MSSM)
Pada tablespace MSSM, pengaturan pemakaian space dalam suatu segment dilakukan
dengan menggunakan parameter PCTUSED, PCTFREE dan FREELIST, sedangkan
pada tablespace ASSM hanya parameter PCTFREE saja yang bisa digunakan. Freelist
mencatat block-block yang bisa diisi data dalam satu segment yang ada di bawah high
water mark (HWM). Setiap segment bisa mempunyai lebih dari satu freelist. PCTUSED
menentukan kapan suatu block masuk ke dalam freelist sedangkan PCTFREE
menentukan kapan suatu block dikeluarkan dari freelist. Dengan kata lain bisa
disebutkan bahwa freelist merupakan daftar alamat block yang bisa diisi data. Ketika
terjadi proses INSERT ke suatu segment maka akan dicari dulu block yang ada di
bawah HWM yang bisa diisi dengan melakukan pengecekan ke freelist, jika tidak ada
block yang bisa diisi maka data akan diisikan pada block kosong yang ada di atas
HWM.
Berikut ini adalah ilustrasi pemakaian space dalam satu segment (sebut saja tabel T1)
dengan nilai parameter PCT_FREE=10 dan PCT_USED=40. PCT_FREE 10 % berarti di
dalam setiap block akan disediakan ruang kosong sebesar 10 % dari ukuran block

untuk keperluan antisipasi pemekaran data karena proses update. PCT_USED 40 %
berarti jika isi block tinggal 40 % dari total ukuran block maka block tersebut bisa diisi
lagi atau tercatat.






Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 7002-161014-1307












95
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
HP : 0813-2126-3850


Manajemen Tablespace dan Datafile

















TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN





GAMBAR 4.2 Alokasi extent suatu segment
Gambar diatas menunjukkan tabel T1 sudah terdiri dari dua extent yaitu extent 0 dan
extent 1 atau 16 block dari block dimulai dari block nomor 9 sampai dengan 24. Tabel
T1 sudah terisi data mulai block nomor 9 sampai block nomor 20, block nomor 20 ini
yang disebut high water mark (HWM) yaitu nomor block tertinggi yang terisi data.

Selanjutnya, misalkan ada proses penghapusan data terhadap tabel T1 yang
menyebabkan menyebabkan data yang ada di block nomor 10, 11, 13, 14 dan 16
terhapus sehingga pada block tersebut terdapat ruang kosong. Tetapi sisa ruang
kosong di kelima block tersebut tidak sama, misal pada block 10 tersisa ruang kosong
sebesar 30% artinya pada block 10 masih terpakai 70% ini masih jauh diatas nilai
PCTUSED yang sebesar 40%, sehingga block nomor 10 tidak masuk ke dalam
FREELIST. Demikian juga untuk block nomor 14. Sedangkan untuk block nomor 11
dan 16 sisa ruang kosongnya 75% atau space yang terpakai cuma 25%, ini berarti

nilainya dibawah PCTUSED yang sebesar 40%, maka block nomor 11 dan 16 masuk ke
dalam FREELIST. Bagaimana dengan block nomor 13, sudah pasti masuk ke
FREELIST karena ruang kosongnya 100%. Sehingga jika nanti ada proses insert data
maka data akan diisikan pada block nomor 11, 13 dan 16. Sedangkan block nomor 10
dan 14 belum bisa diisi data lagi karena pengosongannya belum mencapai 60 %. Block

sekali.
Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 7002-161014-1307 nomor 21 sampai 24 merupakan block kosong yang belum pernah dipakai sama


Sample Ebook









96
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
HP : 0813-2126-3850


Manajemen Tabel BAB





8

Materi yang dibahas dalam bab ini
mencakup:


 Jenis Tabel
 Tipe Data

 Membuat Tabel dan Parameter Tabel
 Space management

 Initial Extent

 Transaction
 Nologging

 Compress Table
 Heap Tabel

 Index Organized Tabel (IOT)






Terimakasih saya ucapkan kepada saudara MEUTIA JOVI MAHARANI
atas kesediaannya menjaga ebook ini agar tidak beredar secara ilegal.
Semoga buku ini bermanfaat dan bisa menunjang kesuksesan Anda

Salam
Bambang Sutejo









221


Manajemen Tabel










Sample Ebook
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN







HEAP TABLE


Heap table merupakan tabel default ketika kita membuat tabel dengan perintah
CREATE TABLE. Baris data pada heap table akan disimpan pada database block
secara random dalam satu extent dan ketika ditampilkan dengan perintah SELECT
tanpa diikuti ORDER BY maka data akan diurutkan berdasarkan rowid. Dalam satu
aplikasi sebagian besar tabelnya menggunakan heap table karena tabel jenis ini sangat
baik untuk menyimpan data-data transaksi dimana proses manipulasi datanya cukup
tinggi.

Berikut ini contoh membuat heap tabel secara sederhana.

SQL> CREATE TABLE tabel4
2 ( id NUMBER(4),
Email: [email protected]
3 data VARCHAR2(20));
Table created.

Disini kita akan lihat lebih jauh lagi bagaimana heap tabel mengorganisasi data di
dalam block dan extent. Sesuai namanya heap yang berarti tumpukan, maka data di
heap table tidak diurutkan berdasarkan kolom primary key. Data yang masuk
langsung ditumpuk saja sesuai nomor urut masuknya. Pengisian block dalam satu
extent juga dilakukan secara acak, tidak dimulai dari block pertama.

Diberikan kepada: DARIAMAN SIAGIAN Reg. ID : 7002-161014-1307 Mari kita uraikan satu persatu. Pertama buat dulu tablespace TBS_DATA sebagai
berikut.
SQL> CREATE TABLESPACE tbs_data
2 DATAFILE 'D:\database\tbs_data.dbf' SIZE 20m;
Tablespace created.

Buat tabel DATA1 dengan primary key yang menggunakan index yang disimpan

pada tablespace terpisah. Tabel DATA1 di tablespace TBS_DATA sedangkan index
primary key (IDX1) disimpan di tablespace USERS.


222
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Tabel





SQL> create table data1
2 (angka number(4)
3 PRIMARY KEY
4 USING INDEX (CREATE INDEX
5 idx1 ON data1(angka)
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
6 TABLESPACE users),
7 keterangan long)
8 tablespace tbs_data;
Table created.
Disini akan kita isi satu baris data panjangnya sekitar 7000 byte, tujuannya adalah
agar satu block hanya diisi oleh satu baris data. Ingat, ukuran satu block adalah 8192
byte atau 8Kb. Dengan cara ini, kita akan lebih mudah memantau lokasi data di dalam
block.
Isi satu barus data ke tabel DATA1

SQL> insert into data1 values(1,rpad('data ke 1',7000,'+'));
1 row created.
Kita lihat alokasi extent untuk tabel DATA1 di data file, dimulai dari block nomor
berapa dan berapa block jumlahnya.

SQL> column segment_name for a15
SQL> select segment_name,
2 extent_id,
3 block_id,
4 blocks
5 from dba_extents
6 where segment_name='DATA1';

Email: [email protected]
SEGMENT_NAME EXTENT_ID BLOCK_ID BLOCKS
--------------- ---------- ---------- ----------
DATA1 0 128 8

Extent 0 atau extent pertama dari tabel DATA1 dimulai dari block nomor 128. Apakah
baris pertama dari tabel DATA1 diisikan pada block nomor 128?. Mari kita periksa.

SQL> select dbms_rowid.rowid_block_number(rowid) "Block Number",
2 angka, keterangan
3 FROM data1;

Block Number ANGKA KETERANGAN
Diberikan kepada: DARIAMAN SIAGIAN Reg. ID : 7002-161014-1307 Ternyata block yang pertama diisi data adalah block nomor 134, lihat Gambar 8.2
------------ ---------- --------------------
134 1 data ke 1+++++++++++












223
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Tabel











TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN











GAMBAR 8.2 Pengisian data di block dan extent pada heap table (1)

Selanjutnya coba kita insert lagi data ke tabel DATA1 sebagai berikut.

SQL> insert into data1 values(5,rpad('data ke 5',7000,'+'));

1 row created.
Block nomor berapa yang akan diisi?
SQL> select dbms_rowid.rowid_block_number(rowid) "Block Number",
2 angka, keterangan
3 FROM data1;

Block Number ANGKA KETERANGAN
------------ ---------- --------------------
Email: [email protected]
134 1 data ke 1+++++++++++
135 5 data ke 5+++++++++++




Sample Ebook




Diberikan kepada: DARIAMAN SIAGIAN Reg. ID : 7002-161014-1307














224
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Index BAB





9

Materi yang dibahas dalam bab ini
mencakup:


 Memahami Pencarian dengan index
 B-Tree Index

 Unique index
 Composite Index

 Ascending dan Descending Index
 Reverse Key Index

 Function Based Index
 Compressed Index

 Bitmap Index






Terimakasih saya ucapkan kepada MEUTIA JOVI MAHARANI atas
kesediaannya menjaga ebook ini agar tidak beredar secara ilegal.
Semoga buku ini bermanfaat dan bisa menunjang kesuksesan Anda

Salam
Bambang Sutejo












233


Manajemen Index






Index adalah struktur penyimpanan yang digunakan untuk mempercepat proses
pencarian data. Saat kita akan mengupdate atau menampilkan data tentunya kita
harus mencari dulu data yang akan diupdate atau ditampilkan. Index bisa terbentuk
dengan dua cara, pertama secara otomatis ketika kita mendeklarasikan constraint
primary key atau unique, dan yang kedua dengan perintah CREATE INDEX.
Berbicara tentang index, kita harus tahu tentang cardinalitas data. Data disebut
mempunyai cardinalitas tinggi jika keragamannya tinggi, atau bisa dikatakan makin
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
unique maka cardinalitasnya makin tinggi. Sebaliknya, data dengan keragaman
rendah dikatakan mempunyai cardinalitas yang rendah.

Memahami Pencarian dengan Index



Ketika suatu index terbentuk maka index akan menyimpan data dari kolom yang
diindex dan index key. Sebagai ilustrasi, kita punya tabel PEGAWAI yang terdiri dari
kolom NIP, NAMA, GAJI dan KODE_BAG. Kemudian kita buat index pada kolom
NIP dan index kita beri nama NIP_IDX. Pada saat kita mencari data pegawai berdasar
kolom NIP maka Oracle akan membaca index NIP_IDX terlebih dahulu untuk
mencari KEY, kemudian baru membaca ke tabel PEGAWAI berdasarkan KEY dari
index untuk menampilkan data pegawai yang dicari.




















Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 8010-161014-1307 GAMBAR 9.1 Ilustrasi Pencarian data menggunakan Index










234
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Index






KEY merupakan kolom bantu (psudocolumn) yang sudah disediakan oleh Oracle. Key
yang digunakan pada tabel untuk pencarian berupa ROWID. ROWID merupakan
alamat fisik setiap baris data di disk, jadi bisa dipastikan setiap baris data di tabel akan
mempunyai ROWID yang berbeda.
Mari kita buktikan konsep pencarian dengan index di atas dengan tabel yang
sebenarnya.
Buat tabel PEGAWAI dan isi dengan data sebagai berikut:
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
CREATE TABLE pegawai (
nip NUMBER(4),
nama VARCHAR2(15),
gaji NUMBER(10),
kode_bag NUMBER(2))
TABLESPACE users;

INSERT INTO pegawai VALUES(1001,'TONI',10000000,10);
INSERT INTO pegawai VALUES(1201,'INDRA',7500000,20);
INSERT INTO pegawai VALUES(1023,'EMMA',8000000,20);
INSERT INTO pegawai VALUES(2401,'ANDRE',5000000,10);
INSERT INTO pegawai VALUES(1022,'AMAURA',4500000,10);
INSERT INTO pegawai VALUES(1020,'TINA',6500000,20);
INSERT INTO pegawai VALUES(3021,'YUDI',5000000,30);
INSERT INTO pegawai VALUES(2021,'HENDRI',3500000,20);
INSERT INTO pegawai VALUES(2101,'TANTI',8150000,30);
INSERT INTO pegawai VALUES(1215,'YUDA',4500000,10);


Buat index NIP_IDX berdasarkan kolom NIP pada tabel PEGAWAI.
CREATE INDEX nip_idx ON pegawai(nip);

Kita lihat bagaimana proses pencarian data jika kita mencari data di tabel PEGAWAI
berdasarkan kolom NIP. Cara melihat proses akses data adalah dengan menampilkan
execution plannya.
SQL> SET AUTOTRACE ON;
SQL> SET LINESIZE 200
SQL> SELECT * FROM pegawai

NIP NAMA GAJI KODE_BAG
Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 8010-161014-1307 2 WHERE nip=2021;
---------- --------------- ---------- ----------
2021 HENDRI 3500000 20


Execution Plan
----------------------------------------------------------
Plan hash value: 1761213504



235
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Index





-----------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 48 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID BATCHED| PEGAWAI | 1 | 48 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | NIP_IDX | 1 | | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------------------------


Perhatikan, pertama Oracle akan membaca ke NIP_IDX dengan operasi INDEX
RANGE SCAN, setelah itu akan mengakses ke tabel PEGAWAI dengan menggunakan
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
ROWID yang di dapat dari index (TABLE ACCESS BY INDEX ROWID BATCHED).
Hal ini tentunya akan berbeda jika Kita mencari data pegawai menggunakan kolom
NAMA seperti ini:
SQL> SELECT * FROM pegawai
2 WHERE nama='HENDRI';

NIP NAMA GAJI KODE_BAG
---------- --------------- ---------- ----------
2021 HENDRI 3500000 20


Execution Plan
----------------------------------------------------------
Plan hash value: 1404920277

-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 17 | 3 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| PEGAWAI | 1 | 17 | 3 (0)| 00:00:01 |
-----------------------------------------------------------------------------

Oracle akan mengakses ke tabel pegawai langsung dengan operasi FULL TABLE


SCAN.
Sampai disini semoga sudah mulai paham bagaimana Oracle mengakses data melalui
index.


Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 8010-161014-1307 JENIS INDEX


Oracle menyediakan banyak jenis index, kita tinggal memilih mau mnggunakan index
jenis apa sesuai dengan kebutuhan. Pemilihan jenis index yang salah bisa berakibat
menurunnya performance.



236
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Index






Secara garis besar, berdasarkan struktur penyimpanannya index dibagi dua yaitu
 B-Tree Index (Balanced Tree index)
 Bitmap Index


B-TREE INDEX

TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Struktur B-Tree index mempunyai bentuk seperti pohon terbalik yang terdiri dari tiga
level dan maksimal sampai empat level untuk tabel dengan ukuran yang sangat besar.
Level pertama disebut root, level dibawahnya disebut branch dan level terakhir disebut
leaf.




















GAMBAR 9.2 Struktur B-Tree Index

Struktur B-Tree index selalu balance dan sangat sangat baik untuk proses binary



searching dengan cardinalitas yang tinggi.





Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 8010-161014-1307 Sample Ebook










237
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Manajemen Index






Penutup

Pada bagian ini kita sudah mempelajari dua jenis struktur index yaitu B-Tree index
dan Bitmap index.
B-Tree index sangat baik untuk data dengan kardinalitas tinggi sementara Bitmap
index sangat baik untuk data dengan kardinalitas rendah. Bitmap index tidak baik
untuk tabel yang operasi DML nya tinggi dan distinct value lebih dari 100.
TIDAK UNTUK DISEBARLUASKAN atau DIPERJUALBELIKAN
Struktur B-Tree index mempunyai varian atau opsi unique index, composit index,
ascending dan descending index, reverse key index, function based index dan
compressed index.


































Diberikan kepada: MEUTIA JOVI MAHARANI Email: [email protected] Reg. ID : 8010-161014-1307










238
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com

Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143


Click to View FlipBook Version