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

**URL:** <https://www.batmunkh.net/t/schema-object-select/332>\
**Category:** Oracle Database\
**Tags:** privileges, security\
**Created:** [September 21, 2017, 4:01am UTC](https://www.batmunkh.net/t/schema-object-select/332 "2017-09-21T04:01:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tumenzul](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenzul/32/6_2.png) [@tumenzul](https://www.batmunkh.net/u/tumenzul)\
**Post date:** [September 21, 2017, 4:01am UTC](https://www.batmunkh.net/t/schema-object-select/332/1 "2017-09-21T04:01:07Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Gansukh](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/g/e95f7d/32.png) [@Gansukh](https://www.batmunkh.net/u/Gansukh)\
**Post date:** [September 21, 2017, 6:11am UTC](https://www.batmunkh.net/t/schema-object-select/332/2 "2017-09-21T06:11:12Z")

</div>

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;

---

<div class="post-metadata">

**Author:** ![tumenzul](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenzul/32/6_2.png) [@tumenzul](https://www.batmunkh.net/u/tumenzul)\
**Post date:** [September 21, 2017, 6:25am UTC](https://www.batmunkh.net/t/schema-object-select/332/3 "2017-09-21T06:25:08Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Ho0lahan](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@Ho0lahan](https://www.batmunkh.net/u/Ho0lahan)\
**Post date:** [September 21, 2017, 8:14am UTC](https://www.batmunkh.net/t/schema-object-select/332/4 "2017-09-21T08:14:16Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [September 23, 2017, 6:15am UTC](https://www.batmunkh.net/t/schema-object-select/332/5 "2017-09-23T06:15:56Z")

</div>

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