• Tidak ada hasil yang ditemukan

BASIS DATA LANJUT. ORACLE 9i (DATABASE ADMINISTRATOR) MODUL. Disusun Oleh : Saepudin Nirwan, S.Kom., M.Kom.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BASIS DATA LANJUT. ORACLE 9i (DATABASE ADMINISTRATOR) MODUL. Disusun Oleh : Saepudin Nirwan, S.Kom., M.Kom."

Copied!
67
0
0

Teks penuh

(1)

Database Administrator || ii

BASIS DATA LANJUT

ORACLE 9i

(DATABASE ADMINISTRATOR)

MODUL

Disusun Oleh :

Saepudin Nirwan, S.Kom., M.Kom.

JURUSAN TEKNIK INFORMATIKA

POLITEKNIK POS INDONESIA

(2)

Database Administrator || i

KATA PENGANTAR

Modul ini disusun sebagai pedoman bagi mahasiswa dilingkungan Politeknik Pos Indonesia yang mengikuti matakuliah Basisdata Lanjut (Oracle). Tujuannya agar mahasiswa memiliki panduan dalam bahasa indonesia sebagai sumber kedua, dimana sumber utama adalah buku-buku teks Oracle.

Modul ini menjelaskan teori dan pengelolaan administrasi pada Oracle 9i, dalam modul ini juga mengulas arsitektur dan konfigurasi Oracle. Materi yang diberikan dalam modul tentunya masih belum lengkap dan untuk itu mahasiswa dan dosen diharapkan dapat mencari referensi tambahan yang diperlukannya baik di perpustakaan maupun melalui media internet.

Modul ini masih belum sempurna, sehingga perlu dikaji baik oleh dosen pengajar, instruktur, asisten maupun praktikan yang terlibat dalam matakuliah ini. Oleh karena itu penyusun berharap agar para pemakai modul ini dapat memberikan sumbangan saran untuk perbaikan modul rekayasa perangkat lunak ini.

Semoga modul ini dapat bermanfaat serta dapat meningkatkan kemampuan mahasiswa dalam menguasai pengelolaan administrasi Oracle 9i.

Bandung, September 2008 Penyusun

(3)

Database Administrator || ii

DAFTAR ISI

DAFTAR ISI ... i

DAFTAR GAMBAR ... v

DAFTAR TABEL ... vi

LANDASAN TEORI ORACLE 9i ... 1

1.1 Tujuan Pembelajaran ... 1 1.2 ARSITEKTUR ORACLE ... 2 1.2.1 Background Process ... 2 1.2.1.1 Background Processes ... 2 1.2.1.2 Foreground Processes ... 2 1.2.2 Instance... 3 1.2.3 Database ... 5

1.2.4 Data, Log dan Metadata ... 6

1.2.5 INSTANCE ... 7

1.2.6 Instance Name ... 7

1.2.7 PEMBUATAN DATABASE DENGAN SCRIPT ... 9

1.2.7.1 Pembuatan Database ... 9

1.2.7.2 Pembuatan Tablespace ... 10

1.2.7.3 Pembuatan Repository... 10

1.2.8 ARSITEKTUR DATABASE ORACLE ... 11

1.2.8.1 Arsitektur Fisik ... 11

1.2.8.2 Arsitektur Logikal ... 12

1.2.8.3 Arsitektur Fisik dan Arsitektur Logikal ... 12

1.2.9 CONFIGURATION FILE/ FILE CONTROL ... 13

1.2.9.1 Configuration-Files/ Control-Files ... 13

1.2.9.2 Mirroring ... 14

1.2.9.3 Startup Nomount ... 14

1.2.9.4 Startup Mount ... 15

1.2.9.5 Startup Open ... 15

(4)

Database Administrator || iii

1.2.10.1 Log-Files ... 16

1.2.10.2 Mekanisme : Rotasi ... 16

1.2.10.3 Mirroring ... 17

1.2.10.4 Operasi : SWITCH ... 18

1.2.10.5 Operasi : DROP - Group ... 20

1.2.10.6 Operasi : ADD MEMBER ... 21

1.2.10.7 Operasi : ADD GROUP ... 22

1.2.10.8 Operasi : DROP - Member ... 23

1.2.11 TABLESPACE... 25

1.2.11.1 Jenis Tablespace ... 25

1.2.11.2 Operasi untuk Tablespace ... 27

1.2.12 DATAFILES ... 32

1.2.13 SEGMENT, EXTENT DAN BLOCK ... 36

1.2.13.1 Segment ... 36 1.2.13.2 Klausa Storage... 37 1.2.13.3 Extent ... 38 1.2.13.4 Block ... 38 1.2.13.5 Storage Extent ... 39 1.2.13.6 Storage Block ... 39 1.2.14 TABLE SEGMENT ... 40 1.2.15 Membuat Table ... 40

1.2.16 Index-Organized Table (IOT) ... 41

1.2.17 Menghapus Table ... 43

1.2.18 Truncate Table... 43

1.2.19 Partitioning Table ... 44

1.2.20 Range Partitioning ... 44

1.2.21 Melihat isi Partitioning ... 45

1.2.22 List Partitioning ... 45

1.2.23 Composite Partitioning ... 46

1.2.24 Mengubah Nama Partitioning ... 47

(5)

Database Administrator || iv

1.2.26 INDEX SEGMENT... 47

1.2.26.1 Struktur B-Tree Index ... 47

1.2.26.2 Struktur Bitmap Index ... 48

1.2.26.3 Membuat Index ... 48 1.2.26.4 Menghapus Index ... 48 1.2.26.5 PRAKTIKUM MANDIRI... 49 1.2.27 CLUSTER SEGMENT ... 50 1.2.27.1 Membuat Cluster ... 51 1.2.27.2 Index Cluster ... 52 1.2.27.3 Menghapus Cluster ... 53

1.2.28 USER DAN PROFILE ... 55

1.2.28.1 Membuat USER ... 55

1.2.28.2 Mengubah USER... 55

1.2.28.3 Menghapus USER ... 55

1.2.28.4 PROFILE ... 56

(6)

Database Administrator || v

DAFTAR GAMBAR

Gambar 1 Oracle Process ... 3

Gambar 2 Instance Oracle ... 3

Gambar 3 Background Process Oracle ... 4

Gambar 4 Instance Type ... 4

Gambar 5 Database Type ... 5

Gambar 6 Struktur Instance dan Database Oracle ... 6

Gambar 7 Sebuah tabel yang sudah dikenal instance ... 6

Gambar 8 Sebuah tabel yang sudah diisi sebuah record ... 6

Gambar 9 Nama database pada stuktur direktori Oracle ... 7

Gambar 10 Intance pada Service Windows ... 8

Gambar 11 Register Oracle di Windows ... 8

Gambar 12 Start/ Stop Instance Oracle dari Service Windows ... 9

Gambar 13 Arsitektur Database Oracle ... 12

Gambar 14 Arsitektur Lojik Oracle ... 12

Gambar 15 Arsitektur Fisik dan Lojik Oracle ... 13

Gambar 16 Mekanisme Rotasi Log Files ... 17

Gambar 17 Mirroring Log Files ... 18

Gambar 18 Jenis – Jenis Tablespace ... 25

Gambar 19 Extend Datafile secara otomatis ... 33

(7)

Database Administrator || vi

DAFTAR TABEL

Tabel 1 Nama – Nama Tablespace Oracle ... 26 Tabel 2 Tipe Segment ... 37

(8)

Database Administrator || 1

LANDASAN TEORI ORACLE 9i

1.1 Tujuan Pembelajaran

a) Memahami Arsitektur Oracle. b) Memahami Instance Oracle.

c) Dapat membuat Database Dengan Script d) Memahami Arsitektur Database Oracle

e) Dapat membuat Configuration File/ File Control f) Memahami Log File/ Transaction Log File g) Dapat membuat Tablespace

h) Dapat mengelola Datafiles

i) Dapat membuat Segment, Extent Dan Block j) Memahami Table Segment

k) Memahami Index Segment l) Memahami Cluster Segment m) Memahami User dan Profile n) Memahami Administrasi Oracle.

(9)

Database Administrator || 2 1.2 ARSITEKTUR ORACLE

1.2.1 Background Process

Kumpulan proses yang membentuk arsitektur Oracle terdiri dari dua bagian, yaitu : 1.2.1.1 Background Processes

Proses yang di-run dilatar belakang, dan tidak memiliki tampilan GUI (Graphical User Interface). Di DBMS ORACLE proses yang mandatory untuk background processes terdiri dari :

a. Background processes pembentuk instance. b. Listener.

c. Server Processes.

Sedangkan proses yang optional, terdiri dari : a. Dispatcher.

b. Management Server.

c. Network Management Agent. d. Data Gatherer.

1.2.1.2 Foreground Processes

Proses yang di-run di latar depan, dan biasanya memiliki tampilan GUI. Di DBMS ORACLE proses foreground processes terbagi atas :

a. Server Application b. Client Application

(10)

Database Administrator || 3 Process

Background Foreground

Mandatory Optional Server Application. Client Application

Gambar 1 Oracle Process

1.2.2 Instance

Instance sebagai operasi (process) didalam arsitektur ORACLE instance dari sudut pandang processes dan bagian pembentuknya dapat digambarkan sebagai berikut :

Gambar 2 Instance Oracle

Terlihat bahwa instance dan server processes digambarkan sebagai suatu operasi, sementara database digambarkan sebagai sebuah tipe.

Bahwa instance adalah suatu background process dapat dilihat dari menu Control Panel|

Administrative Tools|Services pada windows anda.

Sebuah instance merupakan sebuah kumpulan background process, dimana harus terdiri atas : a. Checkpointer, disingkat ckpt

Database Instance

Server Processes

(11)

Database Administrator || 4 b. Database Writer, disingkat dbw0

c. Log-Writer, disingkat lgwr d. Process-Monitor, disingkat pmon e. System-Monitor, disingkat smon f. Recover disingkat reco

Gambar 3 Background Process Oracle

akan tetapi instance bisa dipandang tidak hanya sebagai sebuah operasi, melainkan juga sebagai sebuah tipe. Dapat dilihat pada gambar disamping.

Gambar 4 Instance Type Database Database

Writer

Server Processes

Log Writer Checkpointer

Process Monitor System Monitor Recover Instance Data cache Log cache Repository cache Miscellaneous cache Java cache Start Stop

(12)

Database Administrator || 5 Dapat dijelaskan disini, kotak pertama berisi nama tipe, kotak kedua berisi bagian-bagian tipe, kotak ketiga adalah operasi-operasi eksternal yang bisa dilakukan ke objek dari tipe tersebut

1.2.3 Database

Seperti halnya dengan instance yang dimodelkan sebagai tipe, database juga dapat dimodelkan sebagai sebuah tipe, seperti dapat dilihat pada gambar berikut ini :

Gambar 5 Database Type

Dapat dilihat terdapat keterkaitan antara database dan instance, yaitu pada instance terdapat Data cache dan Log cache, sedangkan pada database terdapat Data file dan Log file.

Dimana Data file adalah data yang disimpan didalam Disk, sedangkan Data cache adalah data yang disimpan didalam memori. Log File merupakan transaction log yang berada didalam Disk, sedangkan Log cache adalah transaction log yang berada di memori.

Di Oracle istilah yang telah digambarkan tadi agak berbeda dalam penulisannya meskipun mempunyai arti yang sama, berikut ini adalah istilah yang dipakai dalam Oracle.

Database Data file Log file Configuration file Mount Open

(13)

Database Administrator || 6 Gambar 6 Struktur Instance dan Database Oracle

1.2.4 Data, Log dan Metadata

Untuk memudahkan pemahamannya, perhatikan ilustrasi berikut ini. Misal kita memiliki sebuah table dengan nama T, dengan sebuah column dengan nama C, yang pada awalnya tidak memiliki atau tidak berisi satu record pun. Seandainya table ini sudah dimasukkan kedalam memori, maka pada saat itu memori instance akan berisi sebagai berikut :

Log cache Data cache T C Metadata cache DBA_tables Table_Name Num_rows T 0

Gambar 7 Sebuah tabel yang sudah dikenal instance

kemudian jika kita memasukkan satu record ke dalam table T dengan statement INSERT INTO T VALUES (3). Maka akan didapat gambaran sebagai berikut :

Log cache

insert into t values (3); Data cache T C Metadata cache DBA_tables Table_Name Num_rows T 1 3

Gambar 8 Sebuah tabel yang sudah diisi sebuah record

Instance Buffer cache Log buffer Shared pool Large pool Java pool Database Data file

Redo logfile

(14)

Database Administrator || 7 Disini terlihat jelas bahwa data cache berisi data, log cache berisi transaction log statement pemasukkan data (bukan berisi datanya itu sendiri), dan metadata cache berisi informasi tentang data. Perubahan pada data cache akan masuk ke data file, perubahan pada log cache akan masuk ke log files.

1.2.5 INSTANCE

1.2.6 Instance Name

Nama instance pada intinya berbeda dengan nama database, karena instance dikenal di background process, sedangkan nama database adalah nama untuk membangun database dalam hal ini kita lihat nama database tersebut menjadi nama folder dari database yang dibangun.

Nama instance dapat dilihat setelah sebuah database tersebut dibangun di menu Control

Panel|Administrative Tools|Services. Berikut ini adalah contoh tampilan folder database dan

background processes dari database d1 dengan nama instance i1.

(15)

Database Administrator || 8 Gambar 10 Intance pada Service Windows

Setelah database tercipta, maka pada register windows, instance untuk database tersebut juga tercipta. Lihat pada tampilan berikut ini :

Gambar 11 Register Oracle di Windows

Operasi-operasi yang dapat dilakukan pada instance adalah operasi Start, Stop, Alter. Operasi Start dan Stop mudah dilakukan di windows, sedangkan untuk operasi Alter biasanya lebih

(16)

Database Administrator || 9 banyak dilakukan dalam programming. Lihat tampilan berikut untuk operasi Start dan Stop dalam menu Administrative Tools|Services

Gambar 12 Start/ Stop Instance Oracle dari Service Windows 1.2.7 PEMBUATAN DATABASE DENGAN SCRIPT

1.2.7.1 Pembuatan Database

Dalam membuat database di Oracle, terlebih dulu kita harus mempersiapkan folder-folder yang akan digunakan untuk membangun database tersebut. Folder yang dibutuhkan untuk membangun database tersebut dapat dibangun dari mode DOS (Disk Operating System) atau dari Windows Explorer, antara lain sebagai berikut :

set ORACLE_BASE = C:\ORACLE

set ORACLE_HOME = %ORACLE_BASE%\90 set ORACLE_SID=<InstanceDatabaseName> mkdir %ORACLE_BASE%\admin\<DatabaseName>

mkdir %ORACLE_BASE%\admin\<DatabaseName>\bdump mkdir %ORACLE_BASE%\admin\<DatabaseName>\cdump mkdir %ORACLE_BASE%\admin\<DatabaseName>\udump mkdir %ORACLE_BASE%\oradata\<DatabaseName>

(17)

Database Administrator || 10 Berikut ini adalah sintaks untuk membuat database

CREATE DATABASE <DatabaseName>

MAXINSTANCES 1

MAXLOGHISTORY 1

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXDATAFILES 100

DATAFILE '<ORACLE_BASE>\oradata\<DatabaseName>\system01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

CHARACTER SET WE8MSWIN1252

NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 ('<ORACLE_BASE>\oradata\<DatabaseName>\redo01.log') SIZE 2560K [,

GROUP 2 ('<ORACLE_BASE>\oradata\<DatabaseName>\redo02.log') SIZE 2560K, GROUP 3 ('<ORACLE_BASE>\oradata\<DatabaseName>\redo03.log') SIZE 2560K];

1.2.7.2 Pembuatan Tablespace

Berikut ini adalah sintaks untuk membuat tablespace

CREATE TABLESPACE "INDX" LOGGING DATAFILE

'<ORACLE_BASE>\oradata\<DatabaseName>\indx01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

CREATE TABLESPACE "TOOLS" LOGGING DATAFILE

'<ORACLE_BASE>\oradata\<DatabaseName>\tools01.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT 320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

CREATE TABLESPACE "USERS" LOGGING DATAFILE

'<ORACLE_BASE>\oradata\<DatabaseName>\users01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL; 1.2.7.3 Pembuatan Repository

Berikut ini adalah sintaks untuk membuat repository @<ORACLE_HOME>\rdbms\admin\catalog.sql; @<ORACLE_HOME>\rdbms\admin\catexp7.sql; @<ORACLE_HOME>\rdbms\admin\catblock.sql; @<ORACLE_HOME>\rdbms\admin\catproc.sql; @<ORACLE_HOME>\rdbms\admin\catoctk.sql; @<ORACLE_HOME>\rdbms\admin\catobtk.sql; @<ORACLE_HOME>\rdbms\admin\caths.sql; @<ORACLE_HOME>\rdbms\admin\owminst.plb; connect SYSTEM/manager @<ORACLE_HOME>\sqlplus\admin\pupbld.sql; connect SYSTEM/manager set echo on

spool <ORACLE_HOME>\assistants\dbca\logs\sqlPlusHelp.log @<ORACLE_HOME>\sqlplus\admin\help\hlpbld.sql helpus.sql;

(18)

Database Administrator || 11 1.2.8 ARSITEKTUR DATABASE ORACLE

1.2.8.1 Arsitektur Fisik

Secara fisik, dalam sebuah database Oracle terdiri atas :

- Configuration Files

Digunakan untuk menyimpan konfigurasi dari database (bukan konfigurasi dari instance). Configuration files berisi fixed-length records. Configuration files berisi antara lain :

a) Nama Database b) Checkpoint c) Backup History d) Log Sequence

e) Nama-nama data files

f) Timestamp pembuatan database g) Nama-nama tablespaces

- Data Files

Digunakan untuk menyimpan data. Data files selalu merupakan bagian dari suatu tablespace

- Log Files

Digunakan untuk menyimpan transaction-Log. File ini menyimpan SQL statement yang berisikan transaksi. Log files juga menyimpan informasi dalam bentuk record.

Note : Operasi SELECT (tanpa clausa FOR UPDATE) tidak akan direkam pada log files karena bukan sebuah transaksi.

(19)

Database Administrator || 12 Dalam sebuah database, umumnya terdiri atas satu atau lebih configuration-files dan data-files dan dua atau lebih log-files. Untuk ilustrasinya dapat dilihat pada gambar berikut ini.

Gambar 13 Arsitektur Database Oracle 1.2.8.2 Arsitektur Logikal

Dalam database Oracle, arsitektur memisahkan secara logis antara basis data dengan tablespaces. Setiap basis data memiliki satu atau lebih tablespaces, dimana setiap tablespace memiliki nol atau lebih segment, setiap segmet memiliki satu atau lebih extent, dan setiap extent memiliki satu atau lebih database block. Untuk ilustrasinya dapat dilihat pada gambar disamping.

Gambar 14 Arsitektur Lojik Oracle 1.2.8.3 Arsitektur Fisik dan Arsitektur Logikal

Untuk lebih memperjelas hubungan antar arsitektur fisik dan arsitektur Logik dalam database Oracle, dapat dilihat pada ilustrasi gambar berikut ini:

Config-Files Log-Files DATABASE Data-Files 2 Segment Extent Database Tablespace DB-block

(20)

Database Administrator || 13 Gambar 15 Arsitektur Fisik dan Lojik Oracle

1.2.9 CONFIGURATION FILE/ FILE CONTROL

1.2.9.1 Configuration-Files/ Control-Files

Configuration files/ Control files adalah sebuah file biner yang dibaca oleh Oracle instance untuk membuka data files dan log files. Selama database beroperasi / aktif, Oracle instance akan me-refresh nilai-nilai record pada config-file.

Besar kecilnya database configuration-file tergantung pada banyaknya jumlah file dalam database tersebut, makin banyak jumlah file dalam database maka database configuration-file juga turut membesar, akan tetapi hal ini terjadi bukan pada saat penambahan file, melainkan pada saat database configuration-file di-ReCreate.

Ukuran configuration-file dipengaruhi juga nilai parameter-parameter berikut ini : a) MAXLOGFILES, diset pada saat pembuatan database

Config-Files Log-Files DATABASE Data-Files 2 Segment Extent Tablespace DB-block

(21)

Database Administrator || 14 b) MAXDATAFILES, diset pada saat pembuatan database

c) DB_FILES, dispesifikasikan pada instance-configuration files

Default nama extention dari configuration-files yang diberikan oleh Oracle jika dilihat dengan windows explorer mempunyai extention CTL.

1.2.9.2 Mirroring

Mirroring dalam hal ini adalah adanya salinan (backup) dari file-file yang sedang dioperasikan dan dibuka pada saat yang sama dan memberikan layanan yang sama pula. Mirroring database files dalam level DBMS hanya berlaku untuk configuration-files dan log-files (tidak berlaku untuk data-files). ########################################### # File Configuration ########################################### control_files=("C:\oracle\oradata\POS\control01.ctl", "C:\oracle\oradata\POS\control02.ctl")

Pada contoh di atas terdapat dua buah configuration-file yang bersifat mirroring yang dimaksudkan untuk mempermudah proses operasi database. Setelah mirroring diciptakan, perubahan ini harus disimpan dan instance harus di-Restart agar dapat segera berfungsi. Restart disini dimaksudkan agar instance sekarang mengoperasikan dua buah configuration-file sekaligus.

1.2.9.3 Startup Nomount

Pada saat suatu instance di-Start tanpa menggunakan fungsi Mount, maka instance tersebut tidak akan memperdulikan nilai parameter pada control_files. Artinya Instance akan tetap di mulai (di-Start) walaupun configuration-files tidak terdapat pada lokasi (folder) yang disebutkan.

(22)

Database Administrator || 15 1.2.9.4 Startup Mount

Pada saat suatu instance di-Start dengan menggunakan fungsi Mount, maka instance akan mulai mengecek nilai parameter pada control_files. Dimana instance akan memeriksa apakah benar configuration-files ada pada lokasi (folder) yang disebutkan. Jika tidak ada, maka instance akan tetap di mulai (di-Start), akan tetapi instance akan memberikan pesan kesalahan Database Not Mounted.

Saat database di-Mount, instance baru hanya melakukan pemeriksaan ke configuration-files. Instance belum memeriksa apakah semua log files dan data files yang tertera pada configuration-files benar-benar ada secara fisik.

1.2.9.5 Startup Open

Pada tahap ini, instance mulai melakukan pemeriksaan apakah data files dan log files memang benar-benar ada dilokasi (folder) yang telah disebutkan. Jika terdapat file yang missing atau corrupt, instance akan tetap di mulai (di-Start) sambil memberikan pesan kesalahan yang terjadi. Open Database dapat dicapai dengan sequence berikut ini :

SQL> STARTUP NOMOUNT

SQL> ALTER DATABASE MOUNT; SQL> ALTER DATABASE OPEN; Atau

SQL> STARTUP Atau

(23)

Database Administrator || 16 1.2.10 LOG FILE/ TRANSACTION LOG FILE

1.2.10.1 Log-Files

files/ Transaction files merupakan jenis file yang terpenting kedua, dimana jika Log-files ini terjadi missing atau corrupt, maka akan mengakibatkan database tersebut tidak dapat dibuka sama sekali. Operasi-operasi yang dilakukan dalam Log-files adalah :

a. ADD GROUP b. DROP GROUP c. ADD MEMBER d. DROP MEMBER e. SWITCH (group) f. RENAME 1.2.10.2 Mekanisme : Rotasi

Log-files menyimpan semua aktifitas transaction log yang dilakukan dalam database. Log-files biasanya tidak ingin disimpan terlalu lama, karena jika semuanya disimpan maka disk yang ada akan penuh dengan log-files saja. Sehingga dibutuhkan sebuah life-time transaction log sehingga tidak jatuh terlalu singkat untuk menyimpan data transaction yang dilakukan dalam sebuah database ataupun terlalu lama sehingga disk akan penuh dengan data transaksi yang tidak diinginkan. Log transaction yang ada akan hilang atau dihapus setelah mencapai saat life-time yang telah ditentukan, sehingga kita tidak bisa me-Recover data transaction yang telah hilang tersebut.

Oracle memberikan keleluasaan untuk mengatur life-time tersebut dengan Mekanisme Rotasi. Ilustrasi mekanisme ini dapat dilihat pada gambar berikut ini :

(24)

Database Administrator || 17 Gambar 16 Mekanisme Rotasi Log Files

Pada gambar di atas, bila Grup 1 telah penuh, maka instance akan menyimpan data transaksi di Grup 2. dan bila Grup 2 telah penuh maka instance akan menyimpan data transaksi kembali ke Grup1.

1.2.10.3 Mirroring

Mirroring dalam Log-files mempunyai peranan yang penting seperti halnya dengan configuration-file. Oracle menyediakan cara mirroring log files untuk meningkatkan kehandalan pengoperasian databasenya. Hal ini dikarenakan database sangat rentan dengan kegagalan atau mungkin kehilangan data. Proses mirroring ini biasanya dilakukan pada media disk yang berbeda untuk keamanan semata, sehingga jika pada media disk yang ada terjadi kerusakan fisik, maka yang pada posisi mirror diharapkan tidak terjadi kerusakan dan masih dapat dilakukan pengaksesan data. Ilustrasi mirror ini dapat dilihat pada gambar disamping. Pada intinya mirroring disini adalah pemisahan member-member (dalam Group yang sama) ke media disk yang berbeda, dan bukan memisahkan group ke media disk yang berbeda.

Group 1 Group 2

Redo1a. log

Redo2a. log

(25)

Database Administrator || 18 Group 1 Group 2 Redo1 a.log Redo2 a.log Redo1 b.log Redo2 b.log Disk C Disk D

Gambar 17 Mirroring Log Files

1.2.10.4 Operasi : SWITCH

Operasi SWITCH ini dipakai untuk memindahkan group yang aktif dalam implementasinya. SQL> connect/ as sysdba

SQL> archive log list

Database log mode No Archive Mode Automatic archival Disabled

Archive destination C:\oracle\920\RDBMS Oldest online log sequence 87

Current log sequence 89 SQL> set linesize 120

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- --- --- --- --- --- 1 1 88 2621440 1 NO INACTIVE 157465 2 1 89 2621440 1 NO CURRENT 177539

(26)

Database Administrator || 19

3 1 87 2621440 1 NO INACTIVE 157463

SQL> column member format a50 SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 STALE ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG

2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG 3 ONLINE C:\ORACLE\ORADATA\POS\REDO03.LOG kemudian kita lakukan operasi SWITCH agar mengaktifkan group 1. SQL> alter system switch logfile;

System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 88 2621440 1 NO INACTIVE 157465 2 1 89 2621440 1 NO ACTIVE 177539 3 1 90 2621440 1 NO CURRENT 177553

SQL> alter system switch logfile; System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 91 2621440 1 NO CURRENT 177554 2 1 89 2621440 1 NO INACTIVE 177539 3 1 90 2621440 1 NO INACTIVE 177553

SQL> archive log list

Database log mode No Archive Mode Automatic archival Disabled

Archive destination C:\oracle\920\RDBMS Oldest online log sequence 89

(27)

Database Administrator || 20 1.2.10.5 Operasi : DROP - Group

Operasi DROP ini dipakai untuk menghapus group yang ada. Sebagai contoh kita akan menghapus group 3.

SQL> alter database drop logfile group 3; Database altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 91 2621440 1 NO CURRENT 177554 2 1 89 2621440 1 NO INACTIVE 177539

SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG

2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG kemudian cek di Operating System apakah file tersebut telah terhapus. SQL> host dir C:\ORACLE\ORADATA\POS\REDO*.log

Volume in drive C is SYSTEM

Volume Serial Number is 10FA-A36F Directory of C:\ORACLE\ORADATA\POS

13/11/2005 22:52 2.621.952 REDO01.LOG 13/11/2005 22:51 2.621.952 REDO02.LOG 13/11/2005 22:52 2.621.952 REDO03.LOG 3 File(s) 7.865.856 bytes 0 Dir(s) 694.345.728 bytes free

Terlihat bahwa file tidak terhapus di level Operating System. Sehingga penghapusan file harus dilakukan di level Operating System.

(28)

Database Administrator || 21 1.2.10.6 Operasi : ADD MEMBER

Operasi ADD MEMBER ini dipakai untuk menambah member untuk menciptakan mirroring log-files.

SQL> alter database

2 add logfile member

3 'C:\ORACLE\ORADATA\POS\REDO01B.LOG' to group 1, 4 'C:\ORACLE\ORADATA\POS\REDO02B.LOG' to group 2; Database altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 91 2621440 2 NO CURRENT 177554 2 1 89 2621440 2 NO INACTIVE 177539

SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG

2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG 1 INVALID ONLINE C:\ORACLE\ORADATA\POS\REDO01B.LOG 2 INVALID ONLINE C:\ORACLE\ORADATA\POS\REDO02B.LOG

perhatikan bahwa v$logfile menyatakan bahwa status member yang baru saja dibuat adalah INVALID, kemudian akan kita ubah menjadi VALID.

SQL> alter system switch logfile; System altered.

SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG

2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG 1 INVALID ONLINE C:\ORACLE\ORADATA\POS\REDO01B.LOG 2 ONLINE C:\ORACLE\ORADATA\POS\REDO02B.LOG SQL> alter system switch logfile;

(29)

Database Administrator || 22 System altered.

SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG

2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01B.LOG 2 ONLINE C:\ORACLE\ORADATA\POS\REDO02B.LOG SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 93 2621440 2 NO CURRENT 177572 2 1 92 2621440 2 NO INACTIVE 177570

1.2.10.7 Operasi : ADD GROUP

Operasi ADD GROUP ini dipakai untuk menambah Group kedalam database. SQL> alter database 2 add logfile 3 ('C:\ORACLE\ORADATA\POS\REDO03.LOG', 4 'C:\ORACLE\ORADATA\POS\REDO03B.LOG') 5 size 1M; Database altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 93 2621440 2 NO CURRENT 177572 2 1 92 2621440 2 NO INACTIVE 177570 3 1 0 1048576 2 YES UNUSED 0

SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG

(30)

Database Administrator || 23 2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01B.LOG 2 ONLINE C:\ORACLE\ORADATA\POS\REDO02B.LOG 3 ONLINE C:\ORACLE\ORADATA\POS\REDO03.LOG 3 ONLINE C:\ORACLE\ORADATA\POS\REDO03B.LOG 6 rows selected.

Lihat untuk pertama kali, SEQUENCE# bernilai 0 untuk group yang baru, dengan status UNUSED. Kemudian akan diubah dengan operasi SWITCH.

SQL> alter system switch logfile; System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 93 2621440 2 NO ACTIVE 177572 2 1 92 2621440 2 NO INACTIVE 177570 3 1 94 1048576 2 NO CURRENT 177582

1.2.10.8 Operasi : DROP - Member

Operasi DROP ini dipakai untuk menghapus member yang ada. Sebagai contoh kita akan menghapus member dari group 3 yang baru dibuat. (yang sekarang statusnya current)

SQL> alter database

2 drop logfile member

3 'C:\ORACLE\ORADATA\POS\REDO03B.LOG'; alter database

*

ERROR at line 1:

ORA-01609: log 3 is the current log for thread 1 - cannot drop members ORA-00312: online log 3 thread 1: 'C:\ORACLE\ORADATA\POS\REDO03.LOG' ORA-00312: online log 3 thread 1: 'C:\ORACLE\ORADATA\POS\REDO03B.LOG' Kesalahan terjadi karena kita tidak dapat menghapus member (dan group) bila sedang dalam keadaan current. Oleh karena itu harus kita switch terlebih dahulu.

(31)

Database Administrator || 24 SQL> alter system switch logfile;

System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# --- --- 1 1 96 2621440 2 NO CURRENT 177589 2 1 95 2621440 2 NO INACTIVE 177587 3 1 94 1048576 2 NO INACTIVE 177582 SQL> alter database

2 drop logfile member

3 'C:\ORACLE\ORADATA\POS\REDO03B.LOG'; Database altered.

SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER

--- --- --- --- 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01.LOG 2 ONLINE C:\ORACLE\ORADATA\POS\REDO02.LOG 1 ONLINE C:\ORACLE\ORADATA\POS\REDO01B.LOG 2 ONLINE C:\ORACLE\ORADATA\POS\REDO02B.LOG 3 ONLINE C:\ORACLE\ORADATA\POS\REDO03.LOG Latihan :

1) Hilangkan member dan group 3

(32)

Database Administrator || 25 1.2.11 TABLESPACE

Tablespace berasal dari dua kata ‘Table’ dan ‘Space’ yang mempunyai makna ruang untuk

tabel. Sehingga motivasi utama dari tablespace adalah manageability, untuk memudahkan pengelolaan table. Tanpa adanya tablespace, semua table akan menumpuk di satu tempat. Dengan adanya tablespace, kita dapat mengelompokkan beberapa table diruang tertentu, dan beberapa table yang lain diruang yang lainnya. Saat ini beberapa DBMS lainnya juga memakai konsep tablespace (contohnya DB2, Informix) dan mengimplementasikan tablespace (contoh SQL Server memakai istilah ‘Database’).

1.2.11.1 Jenis Tablespace

Jenis-jenis tablespace yang ada pada oracle dapat dilihat pada gambar berikut ini :

Gambar 18 Jenis – Jenis Tablespace

Didalam sebuah Oracle database, hanya satu tablespace yang harus ada (mandatory), yakni tablespace bernama SYSTEM, dan bersifat system-defined (‘system’ disini berarti Database Management System atau DBMS). Tablespace ini juga khusus, karena merupakan satu-satunya tablespace yang bisa berisi objek non-segment.

TABLESPACE

User-defined System-defined

Locally-managed Globally-managed

(33)

Database Administrator || 26 Untuk tablespace yang lain harus buat oleh user (hal ini dapat dilihat pada script pembuatan sebuah database, dimana untuk tablespace yang lain diletakkan pada script yang berbeda dengan script pembuatan tablespace ‘SYSTEM’), itu sebabnya tablespace ini disebut ‘user-defined’. Sedangkan untuk Globally-managed, Locally-managed, Permanent dan Temporary akan dibahas pada bab selanjutnya.

Berikut ini adalah 7 buah tablespace yang paling umum atau sering digunakan dalam membangun database Oracle.

Nama Tablespace Tipe Segment Sifat dan Keterangan

Tables Table User’s table/ data

Indexes Index User’s indexes

Clusters Cluster User’s clusters

Undos Undo System’s undos

Sorts Sort System’s sorts

System Table and Index System’s repository,User’s library

Tool Table and Index User’s metadata

Tabel 1 Nama – Nama Tablespace Oracle

Dari sini dapat dilihat bahwa kriteria utama untuk memisahkan tablespace adalah melalui tipe segment yang ada didalamnya. Kemudian kita baru dapat memisahkan tablespace dari sifat metadatanya. Dalam hal ini, kriteria ini yang membedakan tablespace SYSTEM dan TOOL dengan tablespace yang lainnya. Kriteria berikutnya adalah memisahkan antara apa yang berasal dari Oracle (system-defined) dan dengan apa yang berasal dari user (user-defined). Kriteria inilah yang membedakan antara tablespace SYSTEM dengan tablespace TOOL. Dari tabel tersebut juga dapat dilihat bahwa untuk lima tablespace yang pertama (Tables sampai dengan Sorts) memakai nama benda jamak, dalam hal ini adalah untuk memperlihatkan bahwa tablespace ini berisi kumpulan segments. Sedangkan untuk dua

(34)

Database Administrator || 27 tablespace terakhir (System dan Tool) memakai nama benda tunggal, hal ini untuk memperlihatkan pemisahan kedua tablespace ini dengan tablespace yang lainnya bukan berdasarkan jenis segmennya.

1.2.11.2 Operasi untuk Tablespace

Operasi-operasi yang digunakan pada umumnya sama dengan operasi-operasi objek yang lainnya, antara lain :

 CREATE

(35)

Database Administrator || 28 Contoh sintaks membuat tablespace

CREATE TABLESPACE POLTEKPOS

DATAFILE ‘C:\ORACLE\ORADATA\POLTEK\DTPOS.DBF’ SIZE 5 M;

 ALTER

(36)
(37)

Database Administrator || 30 Contoh sintaks mengubah tablespace

ALTER TABLESPACE POLTEKPOS

ADD DATAFILE ‘C:\ORACLE\ORADATA\POLTEK\DTPOS1.DBF’ SIZE 5 M;

 DROP

Ada tiga kasus dalam menghapus sebuah tablespace, hal ini dikarenakan : - Tablespace tidak berisi segment

(38)

Database Administrator || 31

DROP TABLESPACE POLTEKPOS;

- Tablespace berisi segment tanpa kendala referensial ke objek pada tablespace yang lain

Contoh sintaks menghapus tablespace

DROP TABLESPACE POLTEKPOS INCLUDING CONTENTS;

- Tablespace berisi segment dengan kendala referensial ke objek pada tablespace yang lain

Contoh sintaks menghapus tablespace

DROP TABLESPACE POLTEKPOS INCLUDING CONTENTS CASCADE CONSTRAINTS; Dalam Oracle versi 9i ada fasilitas untuk membuang tablespace secara langsung berikut dengan data file nya. Contohnya :

(39)

Database Administrator || 32 1.2.12 DATAFILES

Seperti halnya Configuration-files dan log-files, data-files adalah bentuk fisik yang dapat dilihat oleh user dalam menggunakan database Oracle. Operasi yang berlaku untuk datafiles adalah : a) ADD b) OFFLINE c) ONLINE d) RESIZE e) RENAME

Dalam operating system yang mempunyai arsitektur 32-bit, ukuran data file yang dibuat tidak memungkinkan untuk membuat sebuah data-files dengan ukuran lebih dari 2048 MB (atau sama dengan 2 GB), hal ini dikarenakan cara perhitungan ukuran di database Oracle yang menggunakan Signed-bit. Akan tetapi jika operating system yang digunakan mempunyai arsitektur 64-bit dan database Oracle-nya juga 64-bit, maka kita dapat membuat sebuah datafiles yang mempunyai ukuran data file lebih dari 2048 MB (atau sama dengan 2 GB). Selanjutnya ukuran sebenarnya data yang dibuat dapat dilihat dari rumus berikut ini:

Data-File = Spesifikasi Ukuran + DB-block-size

Sebagai contoh, jika kita menspesifikasikan ukuran data sebesar 5120 KB (atau sama dengan 5 MB) dan besarnya DB-block-size adalah 2 KB, maka ukuran sebenarnya data-file yang dibuat adalah 5122 KB (bukan 5 MB).

Tidak seperti configuration-files dan log-files yang dapat melakukan proses mirroring, untuk keamanan transaksinya, data-files tidak dapat melakukan proses mirroring secara langsung,

(40)

Database Administrator || 33 akan tetapi harus menggunakan perangkat keras yang khusus (disk yang khusus) dan perangkat lunak yang khusus (contohnya Veritas).

Data-files dapat diperbesar (extend), satuan untuk perbesaran ini disebut dengan extension. Dengan menggunakan Database Configuration Assistant kita dapat menset spesifikasi ini melalui kotak dialog seperti berikut. Pada gambar dapat dilihat bahwa data ditentukan dapat diperbesar 10 MB setiap kali perbesaran. Ekuivalensi dalam script untuk contoh gambar tersebut adalah sebagai berikut :

DATAFILE ‘C:\ORACLE\ORADATA\POLTEK\DTPOS.DBF’ SIZE 5 M REUSE AUTOEXTEND ON NEXT 10240 KB;

(41)

Database Administrator || 34 bila data dispesifikasikan agar tidak dapat diperbesar, maka AUTOEXTEND OFF, dan pada kotak dialog akan terlihat tampilan sebagai berikut :

Gambar 20 Extend Otomatis dimatikan

Latihan:

1. Buatlah sebuah tablespace dengan nama Kelas Anda. Contoh :

CREATE TABLESPACE TI2A

DATAFILE ‘C:\ORACLE\ORADATA\POLTEK\TI2A.DBF’ SIZE 5 M;

2. Jalankan statement berikut ini :

SELECT * FROM DBA_TABLESPACES;

Analisa hasil dari statement tersebut. 3. Jalankan statement berikut ini :

SELECT * FROM DBA_DATA_FILES;

(42)

Database Administrator || 35 4. Jalankan statement berikut ini :

SELECT NAME, FILE#,

STATUS FROM v$datafile;

Analisa hasil dari statement tersebut. 5. Ubahlah ukuran tablespace yang anda buat

Contoh :

ALTER TABLESPACE TI2A

ADD DATAFILE ‘C:\ORACLE\ORADATA\POLTEK\TI2A1.DBF’ SIZE 5 M;

Lihat perubahan yang terjadi dengan DBA_TABLESPACES dan v$datafile 6. Ubah status tablespace anda yang semula ONLINE menjadi OFFLINE

Contoh :

ALTER TABLESPACE TI2A OFFLINE NORMAL;

7. Pindahkan tablespace yang anda buat ke tablespace yang baru. Contoh :

ALTER TABLESPACE TI2A RENAME

DATAFILE ‘C:\ORACLE\ORADATA\POLTEK\TI2A1.DBF’ TO ‘C:\ORACLE\ORADATA\POLTEK1\TI2A1.DBF’;

o Apa yang terjadi pada saat menjalankan perintah tersebut, amati dan lakukan sampai terjadi pemindahan tablespace.

o Cek perubahan yang terjadi dengan DBA_TABLESPACES dan v$datafile 8. Buatlah sebuah USER yang mempunyai default ke tablespace yang anda buat.

Contoh Format Penulisan :

CREATE USER <NamaUser>

IDENTIFIED BY <PasswordUser>

DEFAULT TABLESPACE <NamaTablespace>

ACCOUNT UNLOCK;

9. Berikan hak akses pada user yang anda buat sebagai DBA, CONNECT dan RESOURCE.

Contoh Format Penulisan :

GRANT <HakAkses> TO <NamaUser>;

Kemudian logout dengan

DISCONNECT;

(43)

Database Administrator || 36 10.Buatlah table dibawah dengan contoh format penulisan sebagai berikut :

CREATE USER <NamaTabel>

(<NamaField-1> <NamaTipe-1> <Length-1>, <NamaField-2> <NamaTipe-2> <Length-2>,... <NamaField-n> <NamaTipe-n> <Length-n>)

TABLESPACE <NamaTablespace>;

Table : Mahasiswa

Field Name Data Tipe Primary Key

NPM VarChar2(7) Yes

Nama VarChar2(20) No

Alamat VarChar2(30) No

TglLahir Date No

Table : MataKuliah

Field Name Data Tipe Primary Key

KodeMK VarChar2(7) Yes

NamaMK VarChar2(20) No

SKS Integer No

Table : Perkuliahan

Field Name Data Tipe Primary Key

NPM VarChar2(7) Yes

KodeMK VarChar2(7) Yes

HariJamPertemuan VarChar2(20) No

RuangPertemuan VarChar2(20) No

11.Isilah masing-masing table yang dibuat tadi dengan minimal 5 buah data 1.2.13 SEGMENT, EXTENT DAN BLOCK

1.2.13.1 Segment

Segment adalah tipe untuk object-object yang persistent (disimpan permanen didalam disk). Secara sederhana ada 5 jenis segment yang sering dipergunakan dalam database oracle, yaitu : 1) Table Segment

2) Index Segment 3) Cluster Segment 4) Undo Segment

(44)

Database Administrator || 37 5) Sort Segment

Dari kelima segment ini hanya Table Segment, Index Segment, dan Undo Segment dapat dilakukan proses eksplisist CREATE, ALTER, dan DROP. Untuk lebih lengkapnya, berikut ini adalah tipe-tipe segment yang ada pada database Oracle

Tipe Segment Keterangan

Cache Dikendalikan seluruhnya oleh Instance bukan oleh DBA

Undo Sering juga disebut dengan ROLLBACK SEGMENT, diatur oleh DBA

Table Sering juga disebut dengan DATA SEGMENT, diatur oleh DBA Cluseter Jarang dipergunakan, diatur oleh DBA

Index Diatur oleh DBA

Non-Segment Digunakan untuk operasi Procedure, function, trigger, package Sort Sering juga disebut dengan TEMPORARY SEGMENT

Table Partition Muncul mulai Oracle versi 8i Index Partition Muncul mulai Oracle versi 8i Table

Subpartition Muncul mulai Oracle versi 8i Index

Subpartition Muncul mulai Oracle versi 8i

Tabel 2 Tipe Segment 1.2.13.2 Klausa Storage

Klausa storage digunakan sejalan dengan hirarki logical aspec dari suatu database, yaitu : a) Database

b) Tablespace c) Segment

Contoh penggunaan storage dapat dilihat sebagai berikut :

CREATE TABLESPACE Tables

DATAFILE ‘C:\ORACLE\ORADATA\DTPOS\TABLES01.DBF’ SIZE 5M AUTOEXTEND ON NEXT 5M

(45)

Database Administrator || 38

CREATE TABLE t (a number) TABLESPACE tables

STORAGE (INITIAL 80K NEXT 80K PCTINCREASE 0);

Pada contoh pertama, klausa storage dispesifikasikan pada level tablespace, sedangkan pada contoh kedua, klausa storage dispesifikasikan pada level segment. Pada contoh pertama, menyatakan bahwa extent-extent ditablespace tables akan berukuran 160k, sedangkan pada contoh kedua extent-extent di segment t akan berukuran 80K.

Dalam hal ini memang tidak ada hubungan langsung antara Tablespace dengan Extent, yang ada hanyalah hubungan langsung antara Tablespace dengan Segment, dan antara Segment dengan Extent. Artinya, statement pada contoh pertama menyatakan secara tidak langsung bahwa semua segment dalam tablespace tables akan memiliki extent sebesar 160K.

1.2.13.3 Extent

Extent adalah sebuah objek yang merupakan gabungan satu atau lebih objek bertipe block sehingga block-block tersebut contiguous.

Sederetan blok-blok yang tidak contiguous bukanlah suatu extent. Operasi yang berlaku pada extent hanyalah ALLOCATE dan DEALLOCATE

1.2.13.4 Block

Block adalah bagian terkecil dari sebuah extent. Operasi yang berlaku pada block adalah DEALLOCATE.

(46)

Database Administrator || 39 1.2.13.5 Storage Extent

Perhatikan contoh penggunaan dalam operasi CREATE TABLE berikut ini :

CREATE TABLE Departemen (DeptId NUMBER(4), DeptName VARCHAR2(40)) TABLESPACE tables

STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS 256);

Bandingkan dengan code imaginer untuk melihat keterkaitan hirarki database secara logis

CREATE TABLE SEGMENT Departemen (DeptId NUMBER(4),

DeptName VARCHAR2(40)) TABLESPACE tables

EXTENT (INITIAL 10K NEXT 10K PCTINCREASE 0 MAX 256);

Terlihat adanya keterkaitan hirarki tablespace  segment  extent dalam penulisan kode diatas, dimana membuat segment (bertipe table) dengan nama Departemen, pada tablespace bernama tables, dengan initial extent 10Kb, next 10Kb dan maksimum dari extent sebanyak 256.

Sintaks storage extent di dalam tablespace umumnya harus didahului dengan kata kunci DEFAULT. Perhatikan contoh berikut ini :

CREATE TABLESPACE Tables

DATAFILE ‘C:\ORACLE\ORADATA\DTPOS\TABLES01.DBF’ SIZE 5M AUTOEXTEND ON NEXT 5M MAXSIZE 2040M

DEFAULT STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS UNLIMITED);

1.2.13.6 Storage Block

Penggunaan blok diatur oleh nilai dari 2 buah parameter, yaitu : a) PCTFREE

(47)

Database Administrator || 40 Dimana parameter ini diberikan pada saat operasi CREATE TABLE, CREATE INDEX, ALTER TABLE atau ALTER INDEX. Bila pemakaian suatu blok mempunyai nilai dibawah nilai PCTUSED, maka operasi INSERT diperbolehkan untuk memasukkan sebuah row atau record kedalam blok tersebut. Bila persentasi pemakaian suatu blok mencapai (100 - PCTFREE), maka operasi INSERT tidak bisa lagi memasukkan row atau record kedalam blok tersebut.

Contoh penggunaannya : Jika DB_BLOCK_SIZE = 40 PCTFREE = 10

PCTUSED = 80, maka :

a) Operasi INSERT tidak akan bisa memasukkan row atau record kedalam blok bila blok sudah dipakai sebanyak 90% (100% - 10%). Artinya operasi INSERT tidak akan memasukkan row atau record kedalam blok tersebut bila operasi INSERT-INSERT sebelumnya telah memakai ukuran 36Kb.

b) Operasi INSERT kembali dapat memasukkan row atatu record kedalam blok jika pemakaian blok sudah dibawah 80% (sudah dibawah 32KB).

1.2.14 TABLE SEGMENT

Table segment biasa disebut dengan table, hal ini dikarenakan table adalah sebuah tipe, salah satu dari tipe segment.

1.2.15 Membuat Table

Membuat table berarti membuat segment, adapun sintak untuk membuatnya adalah sebagai berikut :

(48)

Database Administrator || 41

CREATE TABLE table_name

( field_name type_expr [NOT] {NULL}

[CONSTRAINT constraint_name PRIMARY KEY PK_field_name] | [CONSTRAINT constraint_name UNIQUE Unique_field_name] | [CONSTRAINT constraint_name FOREIGN KEY FK_field_name] | [CONSTRAINT constraint_name CHECK expr_logic]

)

[ORGANIZATION INDEX]

[TABLESPACE tablespace_name] [STORAGE [MINEXTENTS number] |

[MAXEXTENTS number] | [INITIAL number] | [NEXT number] |

[PCTINCREASE number]] [PCTFREE number | PCTUSED number];

1.2.16 Index-Organized Table (IOT)

Sebuah IOT bisa disebut sebagai index, dan bisa disebut sebagai table. Sebuat IOT disebut sebagai table karena operasi-operasi berikut ini :

a) CREATE TABLE b) ALTER TABLE c) DROP TABLE d) TRUNCATE TABLE e) SELECT f) INSERT g) UPDATE h) DELETE

Selain itu, IOT disebut sebagai sebuah index karena sebuah IOT disimpan secara fisik sebagai sebuah B-Tree (Index Segment). Berikut ini adalah contoh penggunaan IOT.

(49)

Database Administrator || 42

CREATE TABLE IOT_Pesanan

( KodePesanan NUMBER(5) NOT NULL, KodeCust NUMBER(5),

Tanggal DATE,

TOTAL NUMERIC(11,2), BrgDiterima CHAR,

CONSTRAINT PK_IOT_PESANAN PRIMARY KEY (KodePesanan),

CONSTRAINT C_IOT_PESANAN CHECK (BrgDiterima IN (‘N’,’Y’)) ) ORGANIZATION INDEX

TABLESPACE indexes PCTTHRESHOLD 20

OVERFLOW TABLESPACE tables;

Kemudian cek isi dari USER_SEGMENTS

SELECT segment_name, segment_type, tablespace_name From user_segments;

Hasilnya adalah :

SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME --- --- --- SYS_IOT_OVER_5251 TABLE TABLES

PK_IOT_PESANAN INDEX INDEXES

Perhatikan terdapat satu table dengan nama yang system-defined (tidak didefinisikan oleh user) [SYS_IOT_OVER_5251] dan ada satu index yang namanya berasal dari nama constraint yang didefinisikan oleh user. Kemudian cobalah sintaks berikut ini dan kemudian perhatikan hasil yang muncul.

SELECT table_name, tablespace_name From user_tables;

Hasilnya adalah :

TABLE_NAME TABLESPACE_NAME

--- --- IOT_PESANAN

SYS_IOT_OVER_5251 TABLES

SELECT index_name, tablespace_name From user_indexes;

(50)

Database Administrator || 43

INDEX_NAME TABLESPACE_NAME

--- --- PK_IOT_PESANAN INDEXES

Terlihat bahwa ada tabel tambahan bernama [SYS_IOT_OVER_5251] dan justru table yang system-defined inilah yang jelas tablespacenya (TABLES). IOT_PESANAN sendiri tidak terdefinisi tablespacenya. Segment yang juga terdefinisi tablespacenya adalah

PK_IOT_PESANAN yang bertipe index. Dari sini terlihat bahwa IOT memang secara storage (segment) merupakan sebuah index, namun sebagai ‘object’ dapat dioperasikan sebagai table (dengan operasi SELECT, UPDATE, DELETE, INSERT).

1.2.17 Menghapus Table

Sintaks untuk menghapus tabel seperti telah dipraktekkan sebelumnya adalah sebagai berikut :

DROP TABLE table_name [CASCADE CONSTRAINTS];

Drop hanya bisa dilakukan per satu Table. Membuang satu segment (table) berarti membuang semua extent milik segment tersebut dari data files. Membuang suatu table juga berarti membuang semua objek yang bergantung kepadanya. Cascade Constraints digunakan jika tabel yang akan dibuang adalah Master-Table, dimana table ini diacu oleh table lain. Tanpa sintaks ini, suatu Master-Table akan gagal untuk dihapus.

1.2.18 Truncate Table

Operasi TRUNCATE berguna untuk mengosongkan table. Operasi ini jauh lebih cepat daripada menghapus semua record yang ada pada table dengan diikuti perintah COMMIT. Adapun sintaksnya adalah sebagai berikut :

(51)

Database Administrator || 44 1.2.19 Partitioning Table

Partitioning table pada Oracle adalah berguna untuk memisahkan kelompok data yang dibuat sesuai dengan keinginan. Adapun beberapa macam partitioning table yang terdapat didalam Oracle adalah sebagai berikut

a) Range Partitioning

Umumnya partisi ini digunakan untuk memisahkan data menurut tanggal b) List Partitioning

Umumnya partisi ini digunakan untuk memisahkan data menurut tipe data yang diinginkan c) Hash Partitioning

Partisi yang dibangun menggunakan Hashing d) Composite Partitioning

Gabungan dari Partisi yang ada diatas.

1.2.20 Range Partitioning

Berikut ini adalah contoh penggunaan Range Partitioning table pada Oracle CREATE TABLE cust_order (

order_nbr NUMBER(7) NOT NULL, cust_nbr NUMBER(5) NOT NULL, order_dt DATE NOT NULL,

sales_emp_id NUMBER(5) NOT NULL, sale_price NUMBER(9,2),

expected_ship_dt DATE, cancelled_dt DATE, ship_dt DATE,

status VARCHAR2(20))

PARTITION BY RANGE (order_dt) (PARTITION orders_2002

VALUES LESS THAN (TO_DATE('01-JAN-2003','DD-MON-YYYY')), PARTITION orders_2003

VALUES LESS THAN (TO_DATE('01-JAN-2004','DD-MON-YYYY')), PARTITION orders_2004

(52)

Database Administrator || 45 );

Untuk melihat hasil partition yang dibangun gunakan sintaks berikut ini : SQL> SELECT TABLE_NAME, PARTITION_NAME, SUBPARTITION_COUNT FROM USER_TAB_PARTITIONS;

TABLE_NAME PARTITION_NAME SUBPARTITION_COUNT --- --- --- CUST_ORDER ORDERS_2002 0 CUST_ORDER ORDERS_2003 0 CUST_ORDER ORDERS_2004 0 Untuk melihat nilai partisi yang telah dibangun, gunakan sintaks berikut ini : SQL> SELECT TABLE_NAME, HIGH_VALUE, PARTITION_NAME FROM

USER_TAB_PARTITIONS;

TABLE_NAME HIGH_VALUE PARTITION_NAME --- --- --- CUST_ORDER TO_DATE(' 2003-01-01 00:00:00' ORDERS_2002

, 'SYYYY-MM-DD HH24:MI:SS', 'N LS_CALENDAR=GREGORIA

CUST_ORDER TO_DATE(' 2004-01-01 00:00:00' ORDERS_2003 , 'SYYYY-MM-DD HH24:MI:SS', 'N

LS_CALENDAR=GREGORIA

CUST_ORDER TO_DATE(' 2005-01-01 00:00:00' ORDERS_2004 , 'SYYYY-MM-DD HH24:MI:SS', 'N

LS_CALENDAR=GREGORIA

Kemudian cobalah mengisi table tersebut dengan beberapa data. 1.2.21 Melihat isi Partitioning

Untuk melihat isi data pada table kita menggunakan sintaks berikut ini

SELECT * FROM cust_order;

SELECT * FROM cust_order PARTITION (order_2004);

1.2.22 List Partitioning

Berikut ini adalah contoh penggunaan List Partitioning table pada Oracle CREATE TABLE sales_fact (

state_cd VARCHAR2(3) NOT NULL, month_cd NUMBER(2) NOT NULL, year_cd NUMBER(4) NOT NULL,

product_cd VARCHAR2(10) NOT NULL, tot_sales NUMBER(9,2) NOT NULL) PARTITION BY LIST (state_cd)

(PARTITION sales_newengland VALUES ('CT','RI','MA','NH','ME','VT'), PARTITION sales_northwest VALUES ('OR','WA','MT','ID','WY','AK'),

(53)

Database Administrator || 46 PARTITION sales_southwest VALUES ('NV','UT','AZ','NM','CO','HI'),

PARTITION sales_southeast VALUES ('FL','GA','AL','SC','NC','TN','WV'), PARTITION sales_east VALUES ('PA','NY','NJ','MD','DE','VA','KY','OH'), PARTITION sales_california VALUES ('CA'),

PARTITION sales_south VALUES ('TX','OK','LA','AR','MS'),

PARTITION sales_midwest VALUES ('ND','SD','NE','KS','MN','WI','IA', 'IL','IN','MI','MO')

);

1.2.23 Composite Partitioning

Berikut ini adalah contoh penggunaan Composite Partitioning table pada Oracle CREATE TABLE cust_order (

order_nbr NUMBER(7) NOT NULL, cust_nbr NUMBER(5) NOT NULL, order_dt DATE NOT NULL,

sales_emp_id NUMBER(5) NOT NULL, sale_price NUMBER(9,2),

expected_ship_dt DATE, cancelled_dt DATE, ship_dt DATE,

status VARCHAR2(20))

PARTITION BY RANGE (order_dt)

SUBPARTITION BY HASH (cust_nbr) SUBPARTITIONS 4 STORE IN (system,system,system,system)

(PARTITION orders_2002

VALUES LESS THAN (TO_DATE('01-JAN-2003','DD-MON-YYYY')) (SUBPARTITION orders_2002_s1,

SUBPARTITION orders_2002_s2, SUBPARTITION orders_2002_s3, SUBPARTITION orders_2002_s4), PARTITION orders_2003

VALUES LESS THAN (TO_DATE('01-JAN-2004','DD-MON-YYYY')) (SUBPARTITION orders_2003_s1,

SUBPARTITION orders_2003_s2, SUBPARTITION orders_2003_s3, SUBPARTITION orders_2003_s4), PARTITION orders_2004

VALUES LESS THAN (TO_DATE('01-JAN-2005','DD-MON-YYYY')) (SUBPARTITION orders_2004_s1,

SUBPARTITION orders_2004_s2, SUBPARTITION orders_2004_s3, SUBPARTITION orders_2004_s4));

Untuk melihat hasil partition yang dibangun gunakan sintaks berikut ini : SQL> SELECT TABLE_NAME, PARTITION_NAME,SUBPARTITION_COUNT FROM USER_TAB_PARTITIONS;

TABLE_NAME PARTITION_NAME SUBPARTITION_COUNT --- --- --- SALES_FACT SALES_NEWENGLAND 0 SALES_FACT SALES_NORTHWEST 0

(54)

Database Administrator || 47 SALES_FACT SALES_SOUTHWEST 0 SALES_FACT SALES_SOUTHEAST 0 SALES_FACT SALES_EAST 0 SALES_FACT SALES_CALIFORNIA 0 SALES_FACT SALES_SOUTH 0 SALES_FACT SALES_MIDWEST 0 CUST_ORDER ORDERS_1999 4 CUST_ORDER ORDERS_2000 4 CUST_ORDER ORDERS_2001 4 1.2.24 Mengubah Nama Partitioning

Berikut ini adalah contoh untuk mengubah nama partisi yang telah dibangun ALTER TABLE cust_order

RENAME PARTITION orders_2005 TO order_thn_2005;

1.2.25 Menghapus Partitioning

Berikut ini adalah contoh untuk menghapus partisi yang telah dibuat ALTER TABLE cust_order

DROP PARTITION order_thn_2005; 1.2.26 INDEX SEGMENT

Index segment biasa disebut dengan Index, hal ini dikarenakan index adalah sebuah tipe, salah satu dari tipe segment. Operasi-operasi yang berlaku pada index lebih terbatas dibandingkan dengan table, yaitu :

- CREATE INDEX - ALTER INDEX - DROP INDEX

1.2.26.1 Struktur B-Tree Index

Struktur B-Tree adalah struktur yang paling umum dalam index didalam database Oracle. Sesuai dengan namanya ‘tree’ dimana terdapat percabangan dan daun pada struktur ‘tree’ nya. Akan tetapi Oracle instance secara otomatis akan berusaha agar kedalaman dari cabang di ‘tree’ untuk indeks tersebut akan sama antara cabang yang satu dengan cabang yang lainnya.

(55)

Database Administrator || 48 1.2.26.2 Struktur Bitmap Index

Struktur Bitmap index berguna untuk mengindeks kolom-kolom yang mempunyai rentang nilainya rendah, contohnya adalah kolom jenis kelamin (dengan ‘L’ untuk Laki-laki, dan ‘P’ untuk Perempuan). Bitmap index untuk kolom seperti ini akan menghabiskan space jauh lebih kecil daripada B-Tree Index.

1.2.26.3 Membuat Index

Index bisa dibuat secara otomatis maupun manual. Objek-objek yang dibuat secara otomatis terjadi saat sebuah table memiliki Constraints Primary Key atau Unique Key. Untuk pembuatan index secara manual, kita bisa menggunakan operasi Create Index dengan sintaks sebagai berikut :

CREATE [BITMAP] INDEX index_name

ON table_name (column_name)

[TABLESPACE tablespace_name];

1.2.26.4 Menghapus Index

Menghapus Index juga bisa dilakukan secara otomatis maupun manual. Index-index yang ada secara otomatis terhapus saat sebuah table yang memiliki Constraints, dihapus Constraint Primary-Key atau Unique-Keynya. Untuk menghapus index secara manual, kita bisa menggunakan sintaks berikut ini :

DROP INDEX index_name;

(56)

Database Administrator || 49 1.2.26.5 PRAKTIKUM MANDIRI

1. Buatlah sebuah tablespace dengan nama Hotel + Kelas Anda. Contoh : HotelTI2A

CREATE TABLESPACE HotelTI2A DATAFILE 'C:\HotelTI2A.DBF'

SIZE 5M AUTOEXTEND ON NEXT 5M MAXSIZE 2040M

DEFAULT STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS UNLIMITED)

2. Buatlah user untuk mengakses tablespace yang baru anda buat tersebut. Contoh : Username : admin

Password : adm

CREATE USER ADMIN IDENTIFIED BY ADM

DEFAULT TABLESPACE HOTELTI2A ACCOUNT UNLOCK;

3. Berikan hak akses pada user yang anda buat untuk dapat membuat dan mengakses table. Contoh :

GRANT DBA, CONNECT, RESOURCE TO ADMIN;

4. Login dengan nama user yang telah anda buat tersebut Contoh : Username : admin

Password : adm

SQL> connect

Enter user-name: admin Enter password: ***

5. Rancanglah sebuah Sistem Informasi Reservasi Hotel, dengan kriteria sebagai berikut: - Hotel memiliki kamar-kamar yang mempunyai tipe yang berbeda-beda,

contoh : Kamar nomor 101 s/d 110 adalah kamar dengan tipe Deluxe, Kamar nomor 201 s/d 210 adalah kamar dengan tipe VIP - Masing-masing Tipe Kamar memiliki fasilitas yang berbeda-beda - Hotel memiliki fasilitas Restaurant, Laundry dan Drug Store

(57)

Database Administrator || 50 - Harga kamar ditentukan pada saat Reservasi (Pemesanan)

- Pemesanan Kamar yang dilakukan oleh Pelanggan Baru tidak mendapatkan diskon harga kamar, sedangkan untuk pelanggan lama mendapatkan diskon 10 Persen dari harga yang telah ditentukan.

- Kamar yang mempunyai status ‘AVAILABLE’ saja yang dapat dipesan oleh seorang pelanggan untuk hari tertentu. Setelah kamar tersebut dipesan, status ‘AVAILABLE’ berubah status menjadi ‘BOOKED’. Status ‘BOOKED’ berubah menjadi status ‘AVAILABLE’ jika pelanggan membatalkan Reservasi.

6. Gunakan CONSTRAINT untuk membangun database yang ada.

7. Buatlah TRIGGER untuk menggantikan status kamar dari ‘AVAILABLE’ menjadi ‘BOOKED’ dan sebaliknya

8. Coba isi table yang anda buat tersebut. 1.2.27 CLUSTER SEGMENT

Cluster segment biasa disebut dengan Cluster, hal ini dikarenakan cluster adalah sebuah tipe, salah satu dari tipe segment. Operasi-operasi yang berlaku pada cluster lebih terbatas dibandingkan dengan table, yaitu :

a) CREATE CLUSTER b) ALTER CLUSTER c) DROP CLUSTER

Sebagai sebuah tipe segment, cluster dapat dibagi menjadi dua subtipe, yaitu a) Index Cluster

(58)

Database Administrator || 51 Dimana secara umum kedua jenis cluster ini mempunyai persamaan.

1.2.27.1 Membuat Cluster

Untuk mempermudahkan pengelompokan dan membedakan antara tipe cluster dengan tipe yang lain. Buatlah terlebih dahulu sebuah tablespace CLUSTERS untuk meletakkan cluster-cluster yang akan dibuat.

CREATE TABLESPACE Clusters DATAFILE 'C:\Clusters01.DBF'

SIZE 5M AUTOEXTEND ON NEXT 5M MAXSIZE 20M

DEFAULT STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS UNLIMITED)

Berikut ini adalah contoh membuat sebuah cluster.

CREATE CLUSTER Cls_NPM (NPM CHAR(7))

SIZE 200 TABLESPACE Clusters

STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS 300);

Kemudian kita lihat segment yang telah terbentuk pada USER_CLUSTERS dan USER_SEGMENTS

SQL> SELECT CLUSTER_NAME, TABLESPACE_NAME FROM USER_CLUSTERS; CLUSTER_NAME TABLESPACE_NAME --- ---

CLS_NPM TABLES SQL> SELECT SEGMENT_NAME, SEGMENT_TYPE FROM USER_SEGMENTS;

SEGMENT_NAME SEGMENT_TYPE

--- --- CLS_NPM CLUSTER

Kemudian buatlah sebuah table MAHASISWA yang mengacu kepada cluster yang telah dibuat tadi. Adapun sintaks penulisannya adalah sebagai berikut :

CREATE TABLE Mahasiswa (NPM CHAR(7) NOT NULL,

(59)

Database Administrator || 52

Nama VARCHAR(20), Alamat VARCHAR(30),

CONSTRAINT PK_Mahasiswa PRIMARY KEY (NPM) )

CLUSTER Cls_NPM (NPM);

Cek USER_SEGMENTS yang telah terbentuk

SQL> SELECT SEGMENT_NAME, SEGMENT_TYPE FROM USER_SEGMENTS; SEGMENT_NAME SEGMENT_TYPE

--- --- CLS_NPM CLUSTER

PK_MAHASISWA INDEX

Kemudian cobalah mengisi table tersebut dengan sebuah data berikut ini

SQL> INSERT INTO Mahasiswa

2 VALUES ('0101001','Joni','Jl. Riau No.11'); INSERT INTO Mahasiswa

* ERROR at line 1:

ORA-02032: clustered tables cannot be used before the cluster index is built

1.2.27.2 Index Cluster

Berikut ini adalah contoh pembuatan Index-Cluster

CREATE INDEX Cls_NPM_Index ON CLUSTER Cls_NPM

TABLESPACE INDX

STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS UNLIMITED);

Cek USER_SEGMENTS yang telah terbentuk

SQL> SELECT SEGMENT_NAME, SEGMENT_TYPE FROM USER_SEGMENTS; SEGMENT_NAME SEGMENT_TYPE

--- --- CLS_NPM CLUSTER

PK_MAHASISWA INDEX CLS_NPM_INDEX INDEX

(60)

Database Administrator || 53 Kemudian cobalah membuat sebuah table ANGSURAN yang memiliki constraint ke table MAHASISWA akan tetapi tidak memiliki hubungan ke cluster CLS_NPM.

CREATE TABLE Angsuran( NPM CHAR(7) NOT NULL, Angsuran_Ke NUMBER, Jumlah NUMBER,

CONSTRAINT pk_Angsuran PRIMARY KEY (NPM,Angsuran_Ke),

CONSTRAINT fk_Angsuran_Mahasiswa FOREIGN KEY (NPM) REFERENCES Mahasiswa (NPM));

Selanjutnya buatlah sebuah table NILAI yang memiliki hubungan constraint ke table MAHASISWA dan memiliki hubungan ke cluster CLS_NPM.

CREATE TABLE Nilai( NPM CHAR(7) NOT NULL, KodeMK CHAR(7) NOT NULL, UTS NUMBER,

UAS NUMBER)

CLUSTER Cls_NPM(NPM);

Untuk mengecek table yang telah dibuat apakah memiliki hubungan dengan cluster yang telah dibangun, lakukan perintah berikut ini

SQL> SELECT * FROM USER_CLU_COLUMNS;

CLUSTER_NAME CLU_COLUMN_NAME TABLE_NAME TAB_COLUMN_NAME --- --- --- ---

CLS_NPM NPM MAHASISWA NPM CLS_NPM NPM NILAI NPM

Terlihat bahwa table ANGSURAN tidak muncul karena table yang dibuat tidak memiliki hubungan dengan cluster yang ada.

1.2.27.3 Menghapus Cluster

(61)

Database Administrator || 54 1. Membuang cluster dengan sintaks INCLUDING TABLES

2. Membuang cluster table dulu, baru kemudian membuang cluster Berikut ini adalah sintak untuk menghapus cluster untuk cara pertama

DROP CLUSTER nama_cluster

[INCLUDING TABLES] [CASCADE CONSTRAINT];

(62)

Database Administrator || 55 1.2.28 USER DAN PROFILE

User diperlukan untuk mengendalikan hak-hak dan akses dari pengguna sebuah sistem atau sebuah database. Operasi-operasi yang berlaku pada user, adalah :

a) CREATE USER b) ALTER USER c) DROP USER

1.2.28.1 Membuat USER

Sintaks untuk membuat sebuah user adalah sebagai berikut :

CREATE USER user_name

IDENTIFIED [EXTERNALLY | BY password]

[DEFAULT TABLESPACE nama_tablespace] [TEMPORARY TABLESPACE nama_tablespace] [ACCOUNT ( LOCK | UNLOCK )]

1.2.28.2 Mengubah USER

Berikut ini adalah contoh penggunaan ALTER untuk mengubah PASSWORD

ALTER USER Administrator IDENTIFIED BY Admin PASSWORD EXPIRE;

Berikut ini adalah contoh untuk mengubah agar user tidak dapat mengakses tablespace POLTEK

ALTER USER Joni QUOTA 0M ON POLTEK;

1.2.28.3 Menghapus USER

Sintaks untuk menghapus user yang ada adalah sebagai berikut :

Gambar

Gambar  1 Oracle Process
Gambar  4 Instance Type
Gambar  5 Database Type
Gambar  7  Sebuah tabel yang sudah dikenal instance
+7

Referensi

Dokumen terkait

Puji dan syukur kepada ALLAH SWT yang telah memberikan berkah dan karunia-Nya yang melimpah, sehingga penulis dapat menyelesaikan laporan akhir ini guna memenuhi salah satu

3) Outfit yang digunakan oleh model menambah kesan cantik , seperti warna pink atau pun putih, gerakan tubuh yang gemulai, accesoris, desain baju yang berlayer,

Tidak memaksakan suatu agama dan kepercayaan terhadap Tuhan Yang Maha Esa kepada orang lain.. Contoh: Kita dilarang memaksakan suatu agama kepada orang lain karena itu urusan

memberikan pelayanan yang tepat dan secepat mungkin kepada setiap masyarakat yang datang untuk mengurus surat Izin Mendirikan Bangunan (IMB), tapi karna kakak

Projek yang dicadangkan adalah untuk memberi rekabentuk dan konsep yang baru bagi pawagam Golden Screen Cinema di samping memberikan susana yang lebih praktikal dan

Penggunaan Ac-Di-Sol sebagai disintegran dengan kadar 3% (F3) memberikan hasil yang optimal terhadap mutu fisik dan laju disolusi Orally Disintergating Tablet Piroksikam dengan

Model pendapatan nasional negara-negara ASEAN-9 dengan persamaan simultan spasial autoregressive dengan 2 persamaan struktural yaitu Gross Domestic Product (GDP) dan

pengambilan keputusan dalam identifikasi masalah dari kebutuhan, perencanaan program, pelaksanaan program serta dalam evaluasi dan menikmati hasil. Partisipasi masyarakat