An object-level privilege is a permission granted to an Oracle database user account or role to perform some action on a database object.

Object Privilege: কোন অবজেক্ট এর উপর বিশেষ কর্ম সম্পাদনের জন্য যে অধিকার দেওয়া হয় তাকে Object Privilege বলে। নিচের টেবিলে বিভিন্ন Object Privilege এর জন্য প্রদত্ত প্রিভিলেজ এর তালিকা দেওয়া হল -

Object Privilege Table View Sequence Procedure
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE

প্রিভিলেজ দেওয়া 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 করার প্রিভিলেজ দেওয়া হয়েছে।

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;

প্রিভিলেজ দেখাঃ 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;