1. Dokumen tersebut membahas tentang pembuatan user baru, penggunaan privileges, dan login menggunakan user yang telah dibuat pada database Oracle. Langkah-langkah pembuatan user baru meliputi penggunaan perintah CREATE USER dan ALTER USER, sedangkan privileges dibagi menjadi system privileges dan object privileges.
1. 1. Pembuatan USER
Untuk membuat sebuah user/schema baru , statement yang harus digunakan adalah :
1 CREATE USER user IDENTIFIED BY password;
Schema yang berhak untuk bisa membuat user adalah SYS atau SYSTEM atau
schema yang sudah diberi privilage untuk CREATE USER. untuk membuat user baru
caranya login dulu di editor SQL*Plus dengan melakukan perintah /as sysdba seperti
terlihat pada gambar berikut
atau jika sudah masuk pada SQL*Plus .. tinggal masukan statement berikut ,
1 SQL> connect / as sysdba
jika meminta password isikan password sesuai dengan password yang diisi pada awal
penginstalan .. password yang saya gunakan adalah ORACLE.
untuk mengetahui nama user yang telah terkoneksi gunakan perintah berikut :
1 SQL> SHOW USER;
setelah masuk ke dalam system kemudian buatlah sebuah skema baru ...
dengan perintah
1
2
SQL> create user hrd -- hrd adalah username
identified by oracle -- oracle adalah sebuah password
default tablespace users
2. 3
4
quota 10M on users;
untuk mengubah password dari suatu user, maka gunakan perintah ALTER USER
username IDENTIFIED by new_password; contoh password HRD yang semula
oracle diubah menjadi orcl
1 SQL> ALTER USER hrd IDENTIFIED BY orcl;
untuk menampilkan seluruh user yang terdapat di dalam database , gunakan perintah
berikut
1 SQL> select * from all_users;
untuk menghapus user maka gunakan perintah DROP USER nama_user ,misalkan kita
akan menghapus user HRD, maka tinggal lakukan perintah :
1 SQL> DROP USER hrd;
Untuk mengubah password maupun menghapus user dilakukan oleh
user SYSatau SYSTEM, tapi jika user sudah mempunyai objek, akan dihapus maka
harus ditambahkan perintah CASCADE . Misalkan user HRD sudah memiliki Objek
maka maka tambahkan perintah CASCADE, perintah nya menjadi :
1 SQL> DROP USER hrd CASCADE;
2. Privileges
Privileges sama dengan Hak akses..di dalam Database Oracle, DBA bisa memberikan
system privileges kepada user lain. Privileges dibagi 2 jenis yaitusystem
privileges dan object privileges. System Privileges adalah hak akses terhadap
database. sedangkan Object Privileges adalah hak untuk memanipulasi isi dari record
database.
2.1. USER SYSTEM PRIVILEGES
user system privileges yang bisa diberikan DBA ke suatu user diantaranya sebagai
berikut :
CREATE SESSION : privileges agar user dapat berhubungan / login ke
database
CREATE TABLE : privileges agar user dapat membuat tabel dalam skema user
3. CREATE SEQUENCE : privileges agar user dapat membuat sequence dalam
skema user
CREATE VIEW : privileges agar user dapat membuat view dalam skema user
CREATE PROCEDURE : privilgese agar user dapat membuat stored procedure
dalam skema user
Untuk mengetahui Semua Jenis Privilege yang ada, gunakan perintah berikut :
1 SQL> SELECT distinct privilege FROM dba_sys_privs;
langsung aja ke contoh penggunaannya ... misalkan DBA akan memberikan system
privileges ke user hrd dengan system privileges antara lain untuk bisa berhubungan
dengan database / login ke database , lalu user hrd bisa melakukan pembuatan table
dan pembuatan index....
lakukan perintah berikut :
1 SQL> grant create session, create table, create indextype to hrd;
kemudian kita akan memberikan hak akses kepada user hrd agar bisa membuat table
employees, departments , dan locations yang dimiliki oleh user HR, dengan melakukan
perintah berikut :
1
2
3
SQL> GRANT select
on hr.employees
to hrd;
perintah diatas adalah memberikan hak akses untuk pembuatan table dengan nama
empoloyees yang dimiliki oleh user HR.
2.2. User Object Privileges
Objek privilege dapat diberikan ke user atau role. setelah user diberi system privilege ,
user tersebut hanya bisa melakukan Data Definition Language, namun belum bisa
melakukan Retrieval maupun Data Manipulation Language (INSERT, UPDATE,
DELETE) ke suatu tabel. agar user bisa melakukan DML, maka berilah object
privileges.
ALTER : privilege untuk mengubah struktur tabel atau ijin
DELETE : privilege untuk menghapus data
EXECUTE : privilege untuk mengeksekusi stored procedure, function, package
INDEX : privilege untuk membuat index berdasarkan kolom-kolom yang ada di
tabel
4. INSERT : privilege untuk melakukan INSERT
REFERENCES : privilege untuk membuat foreign key suatu kolom di tabel
SELECT : privilege untuk melihat data
UPDATE : privilege untuk melakukan perubahan data
contoh penggunaan, misalkan SYSTEM akan memberikan Hak Akses terhadap User
HRD, agar bisa melakukan manipulasi terhadap tabel employees.. gunakan perintah
berikut :
1
2
3
SQL> GRANT SELECT,INSERT,UPDATE,DELETE
ON hr.employees
TO hrd;
3. Login Sebagai User
Untuk melakukan login sebagai skema yang telah dibuat sebelumnya , lakukan logout
terlebih dulu dari user sys atau system,. dengan statement berikut ..
1 SQL> disconnect;
setelah itu kita login dengan user hrd , gunakan perintah berikut :
1 SQL> connect hrd;
jika meminta password , isikan dengan oracle (sesuikan dengan password pada saat
pembuatan user baru).. setelah itu kita akan membuat beberapa tabel baru dengan
mengambil dari tabel yang dimiliki oleh Skema HR
berikut perintahnya :
1
2
SQL> create table employees
as select * from hr.employees;
perintah diatas adalah bagaimana membuat tabel dgn nama employees yg di ambil dari
tabel employees milik HR, lakukan perintah yang sama untuk melakukan pembuatan
tabel DEPARTMENT , dan LOCATIONS. dengan mengganti nama tabel
employeesnya.
kemudian setelah itu tampilkan struktur tabel yang dimiliki oleh table tertentu misalnya
tabel employees, gunakan perintah berikut :
1 SQL> DESC employees;
atau gunakan perintah berikut :
5. 1 SQL> DESCRIBE employees;
untuk melihat keseluruhan isi record atau data yang dimiliki oleh suatu tabel gunakan
perintah berikut :
1 SQL> select * from employees;
untuk menampilkan nama tabel yang dimiliki oleh suatu user bisa menggunakan
perintah :
1 SQL> select table_name from user_tables;
jika ingin menghapus sebuah tabel gunakan perintah berikut : contoh dibawah ini
adalah untuk menghapus tabel locations
1 SQL> drop table locations;
jika ingin menghapus sebuah tabel gunakan perintah berikut : contoh dibawah ini
adalah untuk menghapus tabel locations
Apa Itu Synonym
Biasanya kita kalau mengakses sebuah object di database dari schema atau user lain misalkan table,
maka kita harus menyertakan secara komplit nama_schema.nama_object. Contoh
schema HR mempunyai tabel EMPLOYEE. dan schema lainnya misal ACCOUNTING ingin mengakses
tabel EMPLOYEE milik HR, maka schema accounting harus mengaksesnya secara full
yaitu HR.EMPLOYEE.
Selain untuk tujuan diatas, synonym juga dapat digunakan untuk:
Memperpendek nama dari sebuah object di database.
Dengan menggunakan keyword PUBLIC, kita bebas mengakses object di database dari user atau
schema lain.
Sintax Dasar
Di bawah ini adalah sintak dasar pembuatan synonym di Oracle:
6. 1 CREATE [OR REPLACE] [PUBLIC] SYNONYM nama_synonym
2 FOR nama_schema.object;
Penjelasan sintak:
[public] digunakan agar synonym dapa diakses secara bebas oleh user atau schema lainnya di
database.
object adalah object di Oracle yang akan digunakan sebagai synonym. Object disini bisa
berupa table, view, procedure, function, materialized view, sequence, dan lain sebagainya.
Membuat Synonym
Misalkan Anda ingin membuat sebuah synonym di tabel EMPLOYEE milik schema HR agar bisa diakses
oleh user diluar schema HR, Anda bisa menggunakan perintah dibawah ini.
1 CREATE SYNONYM H_EMP
2 FOR HR.EMPLOYEE;
Setelah anda berhasil membuat synonym H_EMP, maka user diluar schema HR dapat mengakses secara
bebas synonym H_EMP. Untuk mengaksesnya, dapat menggunakan perintah SELECT Query.
1 SELECT * FROM H_EMP;
Menampilkan Daftar Synonym
Anda dapat menampilkan daftar synonym yang ada di database dengan menggunakan query dibawah
ini:
1 SELECT synonym_name, table_owner, table_name
2 FROM user_synonyms;
Mengubah Synonym
Anda dapat mengubah synonym dengan menggunakan perintah dibawah ini:
1 CREATE OR REPLACE nama_synonym
2 FOR nama_skema.nama_object;
7. Menghapus Synonym
Untuk menghapus sebuah synonym, Anda dapat menggunakan sintak berikut:
1 DROP SYNONYM nama_synonym;
atau
1 DROP PUBLIC SYNONYM nama_synonym;
Contoh:
1 DROP SYNONYM H_EMP;