1/13/2013

Oracle Object Privileges

السلام عليكم
Oracle Object Privileges


اذا كان لديك صلاحيات الـ DBA  فـ انت بلتالى تمتلك اعطاء وسحب هذه الكائنات من والى المستخدمين وان لم يكن لديك صلاحيات ال DBA ولديك بعض الصلاحيات على اى من الكائنات الموضحه بلجدول فـ بأمكانك اعطاء ما تملك لمن يستحق :)
كما هو موضح بلجدول تعريف للكائنات -objects- وصلاحياتها وكيفيه استخدمها على سبيل المثال يمكنك استخدام امر ALTER مع table ولا يمكنك استخدامه مع ال VIEW وهكذا

كيف يمكنك اعطاء بعض الكائنات -objects- الى مستخدمين اخرين من الـ Schema الخاصه بك.. الخاصه بك تعنى هنا اى التى لديك انت عليها صلاحيات.
يمكنك استخدام الكود التالى لـ اعطاء الكائن المناسب للمستخدم المطلوب
فى المثال التالى سوف اعطى الكائن SELECT لمستخدمين 
اخريين



Code
GRANT SELECT
ON         EMPLOYEES
TO          ARAFA , AHMED ;

فى المثال التالى سوف امنح كائن UPDATE لـ مستخدم و ROLE على اعمده معينه 
Code
GRANT UPDATE (DEPARTMENT_NAME,LOCATION_ID)
ON        DEPARTMENTS
TO         AHMED , TEST_ROLE;

كما قولنا مسبقا اعطى ما تملك لمن يستحق اى فى حاله انك لم تكن تمتلك هذه ال سكيما لن تتمكن من منح المستخدمين كائنات منها
واذا كنت انت مالك هذه السكيما فيمكنك اعطاء اى كائنات لـ اى مستخدم او ضمه الى اى ROLE داخل قواعد البيانات

كيف يتمكن اى من المستخدمين احمد او عرفه باستخدام الكائن SELECT فى جدول ال EMPLOYEES
Code
SELECT * FROM HR.EMPLOYEES;
ويوجد طريقه اخرى وهى بأستخدم ال SYNONYM  
Code
CREATE SYNONYM EMP FOR HR.EMPLOYEES;

SELECT * FROM EMP;
قولت فى بدايه المقال انه لو لم تكن DBA فيمكنك اعطاء الصلاحيات او الكائنات التى تمتلكها الى مستخدمين اخرين
كيف ذلك ؟ ترجع هذه الصلاحيه نفسها فى حاله ان ال DBA اعطاك امكانيه لذلك 
فى المثال التالى سوف امنح المستخدم ARAFA كائنين هما SELECT and INSERT على جدول الادارات مع اعطاء المستخدم عرفه صلاحيه بمنح الكائنات الى مستخدمين اخرين
Code
GRANT SELECT , INSERT
ON         DEPARTMENTS
TO          ARAFA
WITH     GRANT OPTION;
مثال اخر
فى هذا المثال سوف اجعل جميع المستخدمين يقوم بعمل استعلام من ARAFA.DEPARTMENTS
Code
GRANT SELECT
ON        ARAFA.DEPARTMENTS
TO         PUBLIC;

السلام عليكم
Revoking Object Privileges 

درس اليوم عن كيفيه سحب الصلاحيات التى تم اعطائها للمستخدمين فى قاعده البيانات وقد شرحنا فى درس سابق عن 

يمكنك استخدام الامر REVOKE لسحب الصلاحيات من المستخدمين وايضا تقوم بسحب الامتيازات او الصلاحيات من المستخدمين فى حاله استخدامك WITH GRANT OPTION
ملحوظه : لأى سبب من الاسباب غادر موظف معين الشركه وهذا الموظف كان لديه صلاحيات معينه او امتيازات معينه واعطى بعض من صلاحياته الى مستخدمين اخرين فى حاله قمت بسحب الصلاحيات من هذا المستخدم ف بذلك تم سحبها ايضا من المستخدمين الاخرين.
Code
REVOKE SELECT , INSERT
ON           DEPARTMENTS
FROM      ARAFA;

No comments:

Post a Comment