Hurriyet

27 Kasım 2013 Çarşamba

Oracle Veritabanı: Oracle Error ORA-01918 User Name Does Not Exist

Bu hatayı bir tablespace içerisinde bir object yaratmaya çalıştığım zaman aldım. Ancak bu işlemi yapmaya çalıştığım zaman kullanıcımın schema'sını göremeyip bu hatayı verdi.

Bu sorunun çözümü için ilk olarak gerçekten doğru olarak kullanıcıyı yazıp yazmadığımızı kontrol etmemiz gerekir.

 SELECT * FROM ALL_USERS;  

Eğer yukarıdaki sorgumuzda kullanıcımızı görüyorsak ve daha önceden de buna bağlı tablespace'i yarattıysak şimdi kullanıcımızın gerekli hakları olup olmadığını kontrol etmemiz gerekir.

 SELECT * FROM DBA_ROLES; 

Ayrıca aşağıdaki object'lere de bakmamız gerekebilir. Ayrıcalıklar için en çok sorgulanan object'ler bunlardır.

 dba_role_privs  
 dba_sys_privs  
 dba_tab_privs  

Buralarda gerekli yetkilerin varlığını sorgulayabiliriz. Bunlar için de en önemlileri "connect" ve "resource" yetkileridir. Burada yetkilerini sorguladığımız kullanıcı tablespace içerisinde object yaratmaya çalışan kullanıcıdır.

Sonuç olarak yukarıdaki hatayı aldığımızda ilk önce kullanıcının varlığı ve buna bağlı olarak schema'nın varlığını kontrol ederiz. Ertesinde de o schema üzerinde object yaratabilme yetkilerimizi sorgularız. Bu işlemlerin sonucuna göre aksiyon alabiliriz.



Hiç yorum yok:

Yorum Gönder