Satrio Yudho (c)2009 Konsep Dasar Administrasi Oracle : User Management
Pada sesi ini anda akan mempelajari tentang : • administrasi user(pengguna) dalam oracle • latihan “Tools yang hebat akan menjadi tidak berguna karena tidak tahu cara menggunakannya”
Peran pengguna (user) dalam sistem merupakan salah satu hal yang penting dalam keberhasilan sebuah sistem informasi, sehingga hal ini menjadi keharusan untuk dimengerti oleh setiap administrator database system. Setiap user akan memiliki peranan dan tanggung jawab berbeda dalam sistem, dan tentu saja alasan keamanan menjadi pusat perhatian. Dalam oracle, pengelolaan user sudah di desain sedemikian rupa, dengan segala fasilitas yang ada, kita dapat dengan mudah mengatur peran dan tanggung jawab user terhadap object vital seperti database, tabel dan record itu sendiri. Pengelolaan User dalam oracle memiliki banyak sekali opsi dan konfigurasi yang anda dapat pilih, yang jelas pada domain ini anda sudah harus dapat memilah dengan teliti tentang penggolongan setiap user. Misalnya adalah user default sistem, user aplikasi atau user untuk pengembangan sistem dan sebagainya.
Satrio Yudho (c)2009
User Privileges and Roles Saat kita membuat user, kita harus memberikan grant privileges agar user dapat terkoneksi ke database, terdapat dua jenis privileges dari user yaitu :
•
System privileges, merupakan perijinan yang diberikan untuk melakukan tugas yang umum, atau dapat juga untuk melakukan tindakan pada jenis objek yang umum. Contoh adalah privileges untuk membuat tabel dan menghapus record dari tabel dalam database.
•
Object privileges, merupakan perijinan untuk melakukan tindakan pada skema objek yang speisifik. Pada setiap objek juga dapat diberikan privileges untuk beberapa skema dengan berbeda. Contoh, privileges untuk menghapus rows pada tabel BARANG.
Secara standar oracle (XE) menyediakan role yang sudah dipermudah agar user dapat melihat dan memilih apa saja yang akan diberikan, lihat tabel dibawah ini : Oracle Database Express Edition Predefined Roles Role Name Description CONNECT
Memungkinkan user untuk terkoneksi ke database, berikan grant ini untuk user atau aplikasi yang memerlukan akses ke database.
RESOURCE memungkinkan user untuk membuat tipe dari object schema dalam skema pribadinya. Role ini memberikan grant pada subset atau dibawah skema user yang ananti akan membuat objek. Contoh user nanti dapat membuat tabel dengan grant CREATE TABLE. DBA
Enables a user to perform most administrative functions, including creating users and granting privileges; creating and granting roles; creating and dropping schema objects in other users' schemas; and more. It grants all system privileges, but does not include the privileges to start up or shut down the database. It is by default granted to user SYSTEM.
Satrio Yudho (c)2009 Role Name Description Memungkinkan user untuk melakukan fungsi adminstrasi secara keseluruhan, termasuk membuat user dan memberikan privileges, membuat role,membuat dan menghapus skema dan lainlain, namun ingat fungsi start up dan shut down hanya di grant pada user system.
Sebagai contoh lihat tampilan pengelolaan user oracle XE sebagai berikut :
Untuk awal instalasi database user yang dapat anda gunakan adalah SYS dan SYSTEM, sehingga diharuskan menggunakan User tersebut untuk membuat user, saat anda membuat user, secara default ORACLE XE akan memberikan grant privileges yaitu CONNECT dan RESOURCE, khusus DBA ini harus anda telaah lebih lanjut. Karena tidak bisa sembarang memberikan GRANT ini.
Satrio Yudho (c)2009 Tahap pembuatan user melalui APEX sangat mudah yaitu dengan cara berikut ini :
•
login sebagai SYSTEM
•
kemudian oracle APEX akan membawa pada halaman berikut :
•
pilih menu create user, kemudian APEX akan membawa anda pada halaman berikut :
Satrio Yudho (c)2009
•
berikan nama pada field USERNAME
•
berikan password
•
kemudian berikan tanda centang pada EXPIRE PASSWORD ◦ maksud dari EXPIRE PASSWORD adalah saat nanti user sudah terbentuk, maka saat ia login pertama kali pada database , sistem akan langsung meminta dia untuk mengganti password.
•
Account Status, berisi dua pilihan LOCKED atau UNLOCKED.
•
Default tablespace USER, ini sudah secara otomatis diarahkan.
•
Kemudian untuk Roles dan Grant system privileges. Merupakan opsi yang bisa dipilih. Untuk masing masing pengertian system priviledges akan dijelaskan pada sesi berikutnya.
Satrio Yudho (c)2009 •
Jika sudah selesai, anda pilih tombol CREATE, dan APEX akan menampilkan seperti ini
selain menggunakan APEX , kita juga dapat membuat user melalui command line dengan cara
selanjutnya anda diminta untuk mengetikan perintah pada SQL window seperti contoh dibawah ini :
Satrio Yudho (c)2009
setelah anda memberikan instruksi pada SQL window, dan klik RUN maka user akan terbentuk, namun perlu diingat bahwa anda harus memberikan perintah GRANT terhadap user yang baru saja terbentuk.. Berikut adalah penjelasan lebih komprehensif berkaitan pembuatan user pada oracle generasi 10g.
Satrio Yudho (c)2009
CREATE USER Penggunaan CREATE USER adalah untuk membuat dan melakukan konfigurasi terhadap database user, yang nantinya akan dapat log in kedalam sistem dan sekaligus mengatur perijinan akses dalam database.
Persyaratan : untuk dapat menjalankan perintah CREATE USER, anda harus memiliki izin atau privilege, dan saat anda membuat USER dengan perintah tersebut biasanya privilege nya masih kosong ( umumnya lupa, sehingga merasa sudah membuatkan user namun tidak bisa logon ), untuk masalah umum tersebut kita harus memberikan privilege terhadap user tersebut dengan memberikan perintah CREATE SESSION. Sehingga perlu diingat untuk selalu memberikan privilege dengan perintah CREATE SESSION setelah user terbentuk, nanti kita akan bahas ini dalam opsi perintah GRANT. Oracle memiliki skema tersendiri dalam pengelolaan user, anda dapat lebih jelas melihat alurnya dengan diagram berikut :
Satrio Yudho (c)2009
diagram diatas merupakan alur yang sudah diberikan, saat anda ingin mengelola USER dalam database oracle anda harus mengikuti pola dari oracle, gambar diatas merupakan bentuk lain dari syntax yang nantinya akan anda gunakan sebagai berikut :
CREATE USER user IDENTIFIED { BY password } [ DEFAULT TABLESPACE tablespace | TEMPORARY TABLESPACE { tablespace | tablespace_group_name } | QUOTA size_clause | UNLIMITED } ON tablespace [ QUOTA size_clause | UNLIMITED } ON tablespace ]... | PROFILE profile | PASSWORD EXPIRE | ACCOUNT { LOCK | UNLOCK } [ DEFAULT TABLESPACE tablespace | TEMPORARY TABLESPACE
Satrio Yudho (c)2009 { tablespace | tablespace_group_name } | QUOTA size_clause | UNLIMITED } ON tablespace [ QUOTA size_clause | UNLIMITED } ON tablespace ]... | PROFILE profile | PASSWORD EXPIRE | ACCOUNT { LOCK | UNLOCK } ]...
] ;
syntax diatas merupakan perintah atau statement yang anda akan gunakan dalam mendefinisikan user dalam database oracle. Opsi yang ada bisa anda gunakan seluruhanya atau sebagian, tergantung dari kebutuhan anda. Jika anda sudah mempelajari secara global penjelasan diatas, mari kita lihat lebih detil secara bertahap ; Semantics
user pada semantik ini anda diminta untuk memberikan nama secara spesifik, nama ini hanya boleh mengandung karakter dari aturan yang telah ditentukan, oracle merekomendasikan ahwa user name setidaknya mengandung satu byte karakter.
Contoh : CREATE USER yudho IDENTIFIED BY seringlupa DEFAULT TABLESPACE divkomputer QUOTA 10M ON divkomputer TEMPORARY TABLESPACE temp QUOTA 5M ON system PROFILE app_user PASSWORD EXPIRE;
Perhatian !! oracle merekomendasikan bahwa user name dan password yang anda berikan akan di encoded
Satrio Yudho (c)2009 kedalam ASCII atau EBCDIC, namun sekali lagi ini akan juga bergantung pada platform yang anda gunakan. IDENTIFIED klausa identified berarti adalah mendefinisikan tentang otentifikasi user dalam database oracle BY password dan klausa BY password adalah pembuatan password bagi user yang nantinya akan digunakan untuk logon kedalam sistem. Password ini dapat terdiri dari banyak karakter, namun setidaknya anda isi dengan satu karakter.
end