Birisi bana Oracle 11g'de bir kullanıcının nasıl oluşturulacağı ve bu kullanıcıya yalnızca belirli bir saklı yordamı ve bu yordamdaki tabloları çalıştırma yetkisinin nasıl verileceği konusunda tavsiyede bulunabilir mi?
Bunu nasıl yapacağımdan gerçekten emin değilim!
SİSTEM olarak bağlanın.
CREATE USER username IDENTIFIED BY apassword;
GRANT CONNECT TO username;
GRANT EXECUTE on schema.procedure TO username;
Ayrıca şunlara da ihtiyacınız olabilir:
GRANT SELECT [, INSERT] [, UPDATE] [, DELETE] on schema.table TO username;
prosedür hangi tabloları kullanıyorsa o tablolara.
Oracle dokümantasyonu kapsamlı, çevrimiçi ve ücretsizdir. Kullanmayı öğrenmelisiniz. CREATE USER için sözdizimini burada]1 ve GRANT için burada bulabilirsiniz,
Veritabanına bağlanmak için bir kullanıcıya CREATE SESSION ayrıcalığı vermemiz gerekir.
Bir saklı yordam üzerinde yeni kullanıcı haklarına izin vermek için EXECUTE ayrıcalığını vermemiz gerekir. Veren bunlardan biri olmalıdır:
Normalde yordamı kullanmak için saklı yordam tarafından kullanılan nesneler üzerinde haklar vermemiz gerekmeyeceğini unutmayın. Varsayılan izin, prosedürü prosedür sahibiyle aynı haklarla çalıştırmamız ve prosedürü çalıştırırken onların haklarını devralmamızdır. Bu AUTHID cümlesi tarafından kapsanır. Varsayılan tanımlayıcıdır (yani prosedür sahibi). Yalnızca AUTHID CURRENT_USER (çağıran, yani yeni kullanıcımız) olarak ayarlanırsa, prosedür tarafından kullanılan nesneler üzerinde haklar vermemiz gerekir. Daha fazlasını öğrenin.