Oracle Kullanıcı Yönetimi

Ekim 27 2009

1 – “sys” ve “system” Kullanıcıları

SYS kullanıcısı oracle kurulumu ile gelen veritabanının en yetkili kullanıcısıdır. sys kullanıcısı:
• DBA rolüne sahiptir.
• Tüm yetkilere ADMIN OPTION ile sahiptir.
• Veritabanını açma kapatma ve bazı yönetim işlemleri için gerekli kullanıcıdır.
• Data Dictionary’nin sahibidir.
• AWR (Automatic Workload Repository)’nin sahibidir.

SYSTEM kullanıcısı ise yine kurulumla gelen ve DBA rolüne sahip bir başka kullanıcıdır. SYS ve SYSTEM kullanıcıları veritabanındaki rutin işlemler için kullanılmaz.

2 – Kullanıcı Yaratılması ve Doğrulama Yöntemleri

Oracle kullanıcısı aşağıdaki komutla yaratılabilir:

SQL> CREATE USER "USERNAME" PROFILE "DEFAULT" IDENTIFIED BY PASSWORD
         DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP"

Kullanıcıya varsayılan bir tablespace atanarak, bu kullanıcının yaratacağı objeler için varsayılan depolama alanı belirlenir. Ayrıca kullanıcının ihtiyaç duyduğunda kullanacağı Temporary tablespace de bu komutla belirtilir.

Yukarıdaki komuttaki gibi kullanıcı parola ile doğrulanabildiği gibi, doğrulama yöntemi olarak external ya da global da seçilebiilr. External kullanıcılar OS gibi harici bir doğrulamadan geçtikten sonra veritabanına şifresiz bağlanabilir. Global kullanıcılar da yine veritabanına bağlanmak için parolaya ihtiyaç duymaz, bunun yerine “enterprise directory service” tarafından doğrulanır.

3 – Yetki Mekanizması

Oracle kullanıcıları veritabanına bağlanma, obje oluşturma, değiştirme, silme ya da veri sorgulama gibi işlemler için yetkilere ihtiyaç duyarlar. Bu yetkiler “System Privilege” ve “Object Privilege” olarak ikiye ayrılmaktadır. System Privilege’lar kullanıcının veritabanında bazı işlemler yapabilmesini sağlarken, Object Privilege’lar kullanıcıya belirli bir veritabanı objesine erişim ve düzenleme hakkını verir. Aşağıda system ve object privilege atama için örnek komutlar bulunmaktadır.

SQL>GRANT CREATE TABLE TO "USENAME" WITH ADMIN OPTION
SQL>GRANT INSERT ON "HR"."EMPLOYEES" TO "USERNAME" WITH GRANT OPTION

Bu komutların sonlarında kırmızı ile belirtilen bölümler opsiyoneldir. Eğer bir yetki “WITH ADMIN OPTION” ya da “WITH GRANT OPTION” ile verilirse, yetki verilen kullanıcı aldığı yetkileri başka kullanıcılara verme hakkına sahip olur. Verilen bir yetkinin geri alınması için kullanılan komut ise aşağıdaki gibidir.

SQL>REVOKE CREATE TABLE FROM "USENAME" WITH ADMIN OPTION
SQL>REVOKE INSERT ON "HR"."EMPLOYEES" FROM "USERNAME" WITH GRANT OPTION

Burada ise durum farklıdır. Bir object privilege “WITH GRANT OPTION” ile geri alındığında yetkisi alınan kullanıcının daha önce bu yetkiyi verdiği kullanıcılardan da yetki kalkar. Ancak “WITH ADMIN OPTION” ile geri alınan bir system privilege sadece o kullanıcıdan alınır. Yetkisi kalkan kullanıcının daha önce yetki verdiği kullanıcılardan kalkmaz. Aşağıda bu durumu gösteren şekiller bulunmaktadır.

4 – Role Mekanizması

Role yetkilerden oluşan bir yapıdır ve yetki yönetimini kolaylaştırmak ve dinamikleştirmek amaçlıdır. Gerekli yetkileri bir role altında toplayarak bu role’ü kullanıcılara verebiliriz. Role altındaki yetkiler değiştiğinde bu o role’e sahip tüm kullanıcıları etkiler. Role’ler de privilege gibi grant komutu ile verilir.

SQL> GRANT "DBA" TO "USERNAME";

Ayrıca Oracle veritabanlarında kurulumla gelen bazı roller bulunmaktadır. Bunlardan bazıları: connect, resource, dba, select_catalog_role’dir. Bu roller yetki yönetimini kolaylaştırır.

5 – Kullanıcı Profilleri

Profiller kullanıcıların kaynak tüketimini, kullanıcı hesaplarının ve parolalarının geçerliliğini kontrol ederler. Bir Oracle kullanıcısı sadece bir profile atanabilir. Profiller aracılığı ile kullanıcıların işlemci kullanımı, bağlantı süresi, eşzamanlı oturum sayısı, SGA kullanımı kısıtlanabilir, parolalarının ne kadar süre için geçerli olacağı, son kaç parolanın saklanarak benzerlik kontrolü yapılacağı, parolanın karmaşıklık kontrolünün ne şekilde yapılacağı gibi hususlar belirlenebilir.

Emre Baransel tarafından yayınlandı

“Oracle Kullanıcı Yönetimi” için 6 cevap

  1. ridvanarik diyor ki:

    Merhaba süper bir site türkçe Oracle kaynak sıkıntısının olduğu bir durumda böyle bir kaynak inanın büyük nimettir.

    Sizlere ve bu kaynakları türkçeleştirerek ve uygulamaları test ederek analatan ,anlatımı yayınlayan tün site sahiplerine teşekkür ederim.

    Bu tür sitelerin ve bilgi paylaşımlarının çoğalması dileğimle çok teşekkür eder işlerinizde başarılar dilerim.

    RIDVAN ARIK
    ridvanarik@gmail.com

  2. Emre Baransel diyor ki:

    Rıdvan merhaba;
    Yorumun için çok teşekkürler. Yapılan uğraşların ardından bu gibi yorumlar almak çok mutlu edici.

  3. ertugrulaslan diyor ki:

    Merhaba,

    Emre Hocam degerli vakitlerinizi ayirip bilgilerinizi bizlerle paylasmaniza, binlerce Tesekkur bile az gelir..

    Bizler icin altin niteliginde bir yazi. Cok tesekkur ederim.

  4. Emre Baransel diyor ki:

    Merhaba Ertugrul, bu motive edici yorumun icin ben de sana cok tesekkur ederim :) Yazilarin faydali olmasina sevindim.

  5. ömer kaya diyor ki:

    merhaba çok güzel bi makale olmuş, teşekkürler…

  6. fatso diyor ki:

    makale için teşekkürler bizim şöyle bir durumumuz var okul ağında oracle express 10g kurduk ve öğrencilerimize ayrı ayrı kullanıcı tanımlayıp öğretmen makinesine tablo oluşturmalarını ve değişik uygulamalar yapmalrını istiyoruz öğrenci kullanıcılarının veritabanın da yaptığı bütün işlemleri kontrol amaçlı görmek istiyoruz bunu nasıl yapabiliriz.

Bir Cevap Yazın