3 Oracle kullanıcısı A, B, C var ve B (A) olarak bir tabloyu C'den A'ya almak için kullanmak istiyorum. B'ye bağlandığında, "Tablo A.T1'i T1'den select * olarak oluştur" C". Ama sql deyimini B'nin yarattığı/sahibi olduğu bir prosedüre koyduğumda, "ORA-01031: yetersiz ayrıcalıklar" elde etmeye devam ediyorum. Sysdba olarak, tüm haklarımı (dba) B'ye verdim. Burada neyi özlüyorum? Teşekkür ederim.Bir Oracle prosedürü, yaratıcısının ayrıcalıklarını mi devralıyor?
2
A
cevap
2
Aşağıdaki kullanıcıya B
kullanıcısını verdiniz mi? Bir Definer prosedürü (varsayılan) saklanan hakları mevcuttur yalnızca ayrıcalıklı olarak
sql> grant create any table to b;
5
doğrudan kullanıcıya verilmiş olanları değil (DBA) gibi bir rolü sayesinde verilmiş olanlardır. Dolayısıyla Pablo'nun B'nin doğrudan hibe olarak CREATE HERHANGİ BİR TABLO ayrıcalığına sahip olması gerektiği doğrudur.
Varsayılan değer, "Sahip Hakkı" değildir. – redcayuga
@redcayuga - +1 ve yakalama için teşekkürler! Kesinlikle haklısın. Cevabımı düzeltmek için güncelledim. –
"AUTHID DEFINER" ...;) Bu varsayılan değerdir. Alternatif, denemek istediğim "AUTHID CURRENT_USER" ... –