Schema-н бүх object-г select хийх эрх олгох

Манай бааз дээр A, B, C гэдэг хэрэглэгч байгаа. A хэрэглэгч дээр B хэрэглэгчийн бүх object-г зөвхөн select хийх эрх олгох гэсэн юм. A хэрэглэгч нь гэхдээ C хэрэглэгчийн ямар ч object руу хандах эрхгүй байна. Яаж хийвэл хамгийн амар байдлаар хийж болох вэ? SELECT ANY гэсэн system privilege нэмчихээр C хэрэглэгчийн object руу хандах болчихоод байх юм.

B User deeree eniig ajilluulchih.

Declare
sql_str varchar2(1000);
CURSOR c1 IS
select * from user_tables;
BEGIN
FOR rec IN c1 LOOP
sql_str := ’ Grant select on ‘||rec.table_name ||’ to A_USER’;
execute immediate sql_str;

END LOOP;
end;

Ингэхээр зөвхөн table-уудыг л харах эрх олгочихоод байгаа юм. Би бол ганц table ч гэлтгүй тухайн схем дээр байгаа бүх обьект руу хандах эрх өгчихмөөр байгаа юм. /View, procedure, package, synonym гэх мэт…/

Сайхан нэг нэгээр grant хийсэн нь дээр байлгүй дээ

1 Like

Байнга хийгдэх үйлдэл бол эхлээд нэг role үүсгээд уг role-д харгалзах эрхүүдийг оноо. (Угаасаа жаахан ажиллагаатай. Эхэлж хийхдээ загвар бэлдээд ав. object type тус бүр дээр ажиллах байх)
Дараа нь уг role оо хэрэглэгч нарт өг.