Manajemen Database Oracle A Oracle 11 dministrator dan 12 · database secara manual dengan perintah...
Transcript of Manajemen Database Oracle A Oracle 11 dministrator dan 12 · database secara manual dengan perintah...
Bambang Sutejo, S.Si, OCP
Manajemen Database Oracle Database Administrator Bisa diterapkan pada Oracle 11g dan 12c
Pemesanan hubungi :
Email : [email protected]
Whatsapp : 0822-144-14143 BUKU HANYA DIJUAL ONLINE
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 | 1
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 | 2
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 | 3
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 | 4
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
16
Create Database 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
BAB
2
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
17
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
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)
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
18
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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 :
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
membuat user atau schema. Nama user atau schema sebaiknya mencerminkan nama
aplikasi yang akan kita buat, sebagai contoh ketika kita akan membuat aplikasi
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”
19
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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 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
Jika Anda menggunakan lingkuman command prompt atau Linux, untuk mengecek
apakah pada server database Anda terdapat listener atau belum gunakan tool
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
20
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
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
GAMBAR 2.4 Listener screen
21
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
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.
GAMBAR 2.6 Select Protocol
5. Secara default listener dengan nama LISTENER akan melayani permintaan
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
22
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 -
Production
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...
23
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
(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.
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.
GAMBAR 2.7 Welcome screen DBCA
24
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
Database Options
digunakan untuk melakukan perubahan konfigurasi
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
Databases
untuk menajemen beberapa database dalam satu
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
dalam pembuatan database. Pilih Advanced mode, klik Next.
25
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
26
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
27
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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).
GAMBAR 2.10 Storage Database Option
File System Storage, mekanisme penyimpanan dan manajemen file database
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
28
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
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
GAMBAR 2.11 Fast Recovery Option
7. Network Configuration, agar database bisa dikoneksi dari client maka database
29
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
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.
GAMBAR 2.13 Oracle Data Voult Config Option
30
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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)
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
memory untuk database akan kita set sebesar 1024M untuk SGA dan 512M untuk
PGA, klik tab Sizing.
31
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
GAMBAR 2.15 Configuration Option (Sizing)
32
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
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.
33
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
GAMBAR 2.17 Management Option
34
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
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
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
35
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
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
36
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
GAMBAR 2.21 Password Management
Password Management, secara default Oracle melakukan lock terhadap semua
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.
37
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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)
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)
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>
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
Sample Ebook
38
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
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
EM Express siap digunakan.
Membuat Database dengan CREATE DATABASE
Selain dengan utility Dabatase Configuration Assistant, pembuatan database juga bisa
dilakukan secara manual dengan perintah CREATE DATABASE. Memang, jika
39
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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\
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
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'
audit_trail='db'
compatible='11.1.0.0.0'
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'
Sample Ebook
40
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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"
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
10 MAXLOGFILES 5
11 MAXLOGMEMBERS 5
12 MAXLOGHISTORY 1
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
41
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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
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
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.
Sample Ebook
42
Create Database
Dib
erikan k
epada:
ME
UT
IA J
OV
I M
AH
AR
AN
I
me
uti
ajo
vi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
Whatsapp : 0822-1441-4143
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.
Mari kita lanjutkan bahasan tentang komponen database beserta fungsi-fungsinya.
83
Manajemen Tablespace dan Data File 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
BAB
5
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
84
Manajemen Tablespace dan Datafile
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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
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
4) Satu extent terdiri dari banyak database block
Sedangkan secara fisik tempat penyimpanan data terdiri dari data file yang
didalamnya terdiri dari OS Block (sistem operasi block).
Pernyataan pertama, “Dalam satu database banyak tablespace”, kita buktikan pernyataan
ini. Kita periksa dulu database kita.
85
Manajemen Tablespace dan Datafile
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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;
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
lima segment yaitu tiga tabel (dept, emp,salgrade) dan dua index (pk_dept, pk_emp).
Kelima segment tersebut merupakan segment milik user SCOTT. Sampai disini
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
86
Manajemen Tablespace dan Datafile
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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.
SQL> COLUMN datafile FORMAT A60
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
satu extent pada data file dari tablespace tersebut. Berikut ini akan saya berikan
contohnya.
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.
Sample Ebook
94
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.
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
Sample Ebook
95
Manajemen Tablespace dan Datafile
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
HP : 0813-2126-3850
SYSAUX AUTO
UNDOTBS1 MANUAL
TEMP MANUAL
USERS AUTO
DATA AUTO
INVENTORY AUTO
SALES_TBL AUTO
SALES_IDX AUTO
9 rows selected.
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.
96
Manajemen Tablespace dan Datafile
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
HP : 0813-2126-3850
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
nomor 21 sampai 24 merupakan block kosong yang belum pernah dipakai sama
sekali.
Sample Ebook
221
Manajemen Tabel 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)
BAB
8
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
222
Manajemen Tabel
Dib
erikan k
epada:
DA
RIA
MAN
SIA
GIA
N
Em
ail: d
ari
am
an
.sia
gia
n@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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),
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.
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.
Sample Ebook
223
Manajemen Tabel
Dib
erikan k
epada:
DA
RIA
MAN
SIA
GIA
N
Em
ail: d
ari
am
an
.sia
gia
n@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
SQL> create table data1
2 (angka number(4)
3 PRIMARY KEY
4 USING INDEX (CREATE INDEX
5 idx1 ON data1(angka)
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';
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
------------ ---------- --------------------
134 1 data ke 1+++++++++++
Ternyata block yang pertama diisi data adalah block nomor 134, lihat Gambar 8.2
224
Manajemen Tabel
Dib
erikan k
epada:
DA
RIA
MAN
SIA
GIA
N
Em
ail: d
ari
am
an
.sia
gia
n@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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
------------ ---------- --------------------
134 1 data ke 1+++++++++++
135 5 data ke 5+++++++++++
Sample Ebook
233
Manajemen Index 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
BAB
9
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
234
Manajemen Index
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jm@
gm
ail.c
om
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 8
010-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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
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.
GAMBAR 9.1 Ilustrasi Pencarian data menggunakan Index
235
Manajemen Index
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jm@
gm
ail.c
om
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 8
010-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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:
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 2 WHERE nip=2021; NIP NAMA GAJI KODE_BAG ---------- --------------- ---------- ---------- 2021 HENDRI 3500000 20 Execution Plan ---------------------------------------------------------- Plan hash value: 1761213504
236
Manajemen Index
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jm@
gm
ail.c
om
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 8
010-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
----------------------------------------------------------------------------------------------- | 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
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.
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.
237
Manajemen Index
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jm@
gm
ail.c
om
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 8
010-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
Secara garis besar, berdasarkan struktur penyimpanannya index dibagi dua yaitu
B-Tree Index (Balanced Tree index)
Bitmap Index
B-TREE INDEX
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.
Sample Ebook
238
Manajemen Index
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jm@
gm
ail.c
om
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 8
010-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
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.
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.
250
Backup Database Materi yang dibahas dalam bab ini mencakup:
Memahami Backup, Restore dan Recovery
Archivelog
Terminologi Backup dan Recovery
Recovery Manager (RMAN)
Lokasi dan Jenis File Backup
Konfigurasi Parameter RMAN
Melakukan Backup Database
Online Backup
Offline Backup
Incremental Backup
Pemeliharaan File Backup
BAB
10
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
251
Backup Database
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
Menjaga availability database merupakan salah satu tugas DBA yang sangat penting.
Aplikasi bagus, tetapi jika database sering rusak maka semua itu tidak ada artinya.
Berkaitan dengan availability database ada beberapa prinsip yang harus diperhatikan,
yaitu:
Sebisa mungkin database jangan sampai rusak
Jika sampai rusak, persingkat down time database
Jika sampai rusak, minimalkan data yang hilang
Untuk mengimplementasikan ketiga prinsip diatas, maka yang harus dilakukan DBA
adalah:
Buatkan redundant untuk komponen-komponen vital database yaitu control
file, redo log file dan archivelog file.
Lakukan backup database secara regular
Membuat redundant komponen vital database dengan melakukan multiplex control
file, multiplex redo log file member dan konfigur database menjadi archivelog mode
sudah dilakukan pada Bab 6 Majamenen Control File dan Redo Log File. Silahkan
baca kembali bab tersebut jika belum jelas. Pada bab ini kita akan membahas
bagaimana melakukan backup database.
Memahami Backup, Restore dan Recovery
GAMBAR 10.1 Ilustrasi Proses Backup, Restore dan Recovery Database
252
Backup Database
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
Sebelum melangkah lebih jauh pembahasan tentang backup database, mari kita
pahami dulu pengertian backup, restore dan recovery database. Sebagian pemula
kadang masih belum bisa membedakan antara proses restore dan recovery. Restore
dan recovery masih dianggap proses yang sama, padahal keduanya adalah proses
yang sangat berbeda.
Perhatikan gambar 10.1 diatas :
1. t0 adalah saat pertama kali dibuat
2. t1 adalah proses backup database dan kita punya file backup (tabung hijau).
3. Setelah dibackup database beroperasi secara normal, dan pada t2 database
mengalami kerusakan (crash).
4. Untuk memperbaiki database maka kita restore dari file backup, setelah
proses restore selesai database kembali ke kondisi backup yang terakhir atau
kondisi t1, sementara saat terjadi kerusakan database sudah dalam kondisi t2
5. Untuk mengambalikan semua transaki yang terjadi mulai t1 dari sampai
dengan t2 maka diperlukan proses recovery.
Dari uraian diatas bisa kita ambil pengertian tentang backup, restore dan recovery.
Backup artinya melakukan copy data dari file database ke file lain. Restore adalah
proses mengembalikan database ke kondisi backup yang terakhir sedangkan recovery
adalah proses mengembalikan transaksi mulai dari backup terakhir sampai ke
transaksi terakhir. Jadi restore dan recovery adalah dua hal yang berbeda.
Archivelog
Selain file backup, archivelog file adalah komponen penting dalam proses recovery.
Agar bisa direcovery database harus dikonfigur menjadi archivelog mode.
Keuntungan lain database dikonfigur menjadi archivelog adalah database bisa
dibackup dalam kondisi open.
Periksa apakah database sudah dalam konfigurasi archivelog mode atau belum.
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOG
253
Backup Database
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
Sample Ebook
265
Recovery Database Materi yang dibahas dalam bab ini mencakup:
Mendeteksi kerusakan dari proses startup
Melakukan recovery database
Recovery Datafile
- Closed Recovery
- Open Recovery
Recovery Control File
Recovery Redo Log File
- Inactive/Active Group
- Current Group
BAB
11
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
266
Recovery Database
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
Recovery dilakukan jika database mengalami kerusakan. Database dikatakan rusak
jika database tidak bisa diakses atau status instance database tidak bisa open. Ingat
kembali tahapan proses startup database pada bab 4 Manajemen Instance.
Proses startup bisa berhasil sampai open jika :
SPFILE ada dan bisa dibaca
Semua control file ada dan konsisten
Semua datafile yang statusnya online ada dan konsisten
Dalam satu redo log group , mnimal ada satu redo log file member
Dengan kata lain, database tidak bisa diakses jika:
SPFILE rusak
Salah satu atau semua control rusak
Salah satu atau semua data file rusak
Semua redo log file member dalam satu group rusak
Bagaimana cara mengetahui file apa yang rusak?
Mendeteksi Kerusakan dari Proses Startup
Memahami tahapan proses startup database sangat penting dalam recovery database.
Dengan mengetahui status instance database, kita dengan mudah bisa mengetahui
jenis file apa yang rusak.
Perhatikan gambar 11.1 dibawah ini.
GAMBAR 11.1 Tahapan startup database dan file yang dibaca
267
Recovery Database
Dib
erikan k
epada:
MEU
TIA
JO
VI M
AH
ARA
NI
Em
ail: m
eu
tia
jovi@
gm
ail
.co
m
TID
AK U
NTU
K D
ISEBARLU
ASKAN
ata
u D
IPERJU
ALB
ELI
KAN
Reg. ID
: 7
002-1
61014-1
307
Penulis : BAMBANG SUTEJO
Website : https://oracleid.wordpress.com
Pemesanan buku dan Informasi Training
Email : [email protected]
WhatsApp : 0822-1441-4143
1. Dari kondisi SHUTDOWN menuju ke tahap NOMOUNT Oracle akan membaca
SPFILE, jika berhasil nomount maka status instane STARTED.
2. Dari NOMOUNT menuju ke MOUNT yang dibaca adalah control file, jika berhasil
mount status instance menjadi MOUNTED
3. Dari MOUNT menuju OPEN yang dibaca data file dan redo log file yang
statusnya online. Jika berhasil maka status instance OPEN.
Dari tahapan startup tersebut bisa kita simpulkan, jika database Anda tidak bisa
diakses atau rusak, langkah pertama yang harus anda lakukan adalah periksa status
instance database dengan perintah sebagai berikut:
SQL> connect sys/Admin_123# as sysdba SQL> SELECT status FROM v$instance;
Jika hasilnya :
SQL> SELECT status FROM v$instance; SELECT status FROM v$instance * ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
Berarti database sedang DOWN coba startup. Jika gagal startup dan Anda periksa lagi
statusnya masih sama seperti di atas berarti SPFILE database rusak atau ada nilai
parameter database di SPFILE yang nilainya salah. Solusi recovery kehilangan SPFILE
silahkan baca bab 4 Manajemen Instance pada bagian Parameter Database dan
Parameter File.
Sample Ebook