Object Privilege: কোন অবজেক্ট এর উপর বিশেষ কর্ম সম্পাদনের জন্য যে অধিকার দেওয়া হয় তাকে Object Privilege বলে। নিচের টেবিলে বিভিন্ন Object Privilege এর
জন্য প্রদত্ত প্রিভিলেজ এর তালিকা দেওয়া হল……
জন্য প্রদত্ত প্রিভিলেজ এর তালিকা দেওয়া হল……
Object Privilege
|
Table
|
View
|
Sequence
|
Procedure
|
ALTER
|
*
|
*
|
||
DELETE
|
*
|
*
|
||
EXECUTE
|
*
|
|||
INDEX
|
*
|
|||
INSERT
|
*
|
*
|
||
REFERENCES
|
*
|
|||
SELECT
|
*
|
*
|
*
|
|
UPDATE
|
*
|
*
|
[একটি অবজেক্ট এর যে সকল প্রিভিলেজ কাজ করে সে গুলো এস্টারিস্ট মার্ক দিয়ে দেখান হয়েছে]
Syntax: GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION];
উদাহরণঃ GRANT লিখে প্রিভিলেজ এর নাম, On লিখে অবজেক্ট এর নাম এবং To এর পর যে ইউজার কে দিব তার নাম দিতে হবে। কোন নির্দিষ্ট কলামের উপরে দিতে চাইলে প্রিভিলেজ এর পর কলামের নাম উল্লেখ করে দিতে হবে। যেমন……
GRANT update (department_name, location_id)
ON departments
TO scott, manager;
Passing Privilege: একটি Object এর উপর কোন ইউজারকে দেওয়া প্রিভিলেজ অন্য কোন ইউজারকে দেওয়ার প্রয়োজন হতে পারে। অর্থাৎ আমাকে দেওয়া প্রিভিলেজ যখন অন্য কাওকে আমি দিব এইটাই হল Passing Privilege। এটা আমি কোন নির্দিষ্ট ইউজারকে দিতে পারি আবার সবাইকে (Public) দিতে পারি। প্রিভিলেজ Passing এর সময় WITH GRANT OPTION এবং PUBLIC এই দুটি কিওয়ার্ড ব্যাবহার করা হয়।
WITH GRANT OPTION: কোন অবজেক্ট এর উপর ইউজারকে প্রিভিলেজ দেবার সময় অনুরুপ প্রিভিলেজ অন্য ইউজারকে দেবার জন্য WITH GRANT OPTION ব্যবহার করা হয়।
যেমনঃ GRANT select, insert
ON departments
TO scott
WITH GRANT OPTION;
এখানে scott কে departments টেবিলের উপরselect এবং insert প্রিভিলেজ দেওয়া হয়েছে। WITH GRANT OPTION দেবার ফলেscott অনুরুপ প্রিভিলেজ অন্যান্য ইউজার কে দিতে পারবে।
PUBLIC: একই সাথে সকল ইউজারকে প্রিভিলেজ দেবার জন্য PUBLIC কিওয়ার্ড ব্যবহার করা হয়।
যেমনঃ GRANT select
ON alice.departments
TO PUBLIC;
এখানে alice ইউজারের departments টেবিলে সবাইকেselect করার প্রিভিলেজ দেওয়া হয়েছে।
Dictionary View থেকে প্রিভিলেজ দেখাঃ Session Privs থেকে কোন ইউজারকে দেওয়া সমস্ত প্রিভিলেজ দেখা যায়। যেমন HR এ কানেক্ট থাকা অবস্থায় এর প্রিভিলেজ দেখার জন্য……
select * from session_privs;
Role View: কোন ইউজারকে দেওয়া রোল দেখার জন্য……
select * from user_role_privs;
Privilege View: রোল এবং System Privilege দেখার জন্য………
select * from role_sys_privs;
রোল এবং Object Privilege দেখার জন্য………
select * from role_tab_privs;
Revoke: কোন ইউজারের কাছ থেকে প্রিভিলেজ প্রত্যাহার করে নেওয়া হল Revoke।
Syntax: REVOKE {privilege [, privilege…]|ALL}
ON object
FROM {user[, user…]|role|PUBLIC}
[CASCADE CONSTRAINTS];
Example: Revoke System Privilege-
REVOKE CREATE USER, CREATE SESSION
FROM scott;
Example: Revoke Object Privilege-
REVOKE select, insert
ON departments
FROM scott;
……………………End……………………