نشر بواسطة : Obay Salah , November 19, 2024

 

الصلاحيات وResource Manager:

سنستخدم هنا الحزمة DBMS_RESOURCE_MANAGER_PRIVS وتحتوي هذه الحزمة على أربعة إجراءات وهي:

DESC DBMS_RESOURCE_MANAGER_PRIVS;


1- GRANT_SWITCH_CONSUMER_GROUP: ويستخدم هذا الإجراء لمنح المستخدم صلاحية الانضمام إلى Group Consumer، وذلك بعد تحديد المستخدم وGroup في الإجراء.

والوضع الافتراضي أن المستخدم لا يستطيع التحول إلى Group معينة ما لم يمنح صلاحية لذلك، ولنفترض الآن أننا نريد منح المستخدم OBAY صلاحية الانضمام إلى NEW_GROUP Consumer Group.

DECLARE

GRANTEE_NAME VARCHAR2(200);

CONSUMER_GROUP VARCHAR2(200);

GRANT_OPTION BOOLEAN;

BEGIN

GRANTEE_NAME := 'OBAY';

CONSUMER_GROUP := 'NEW_GROUP';

GRANT_OPTION := FALSE;

SYS.DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONS UMER_GROUP ( GRANTEE_NAME, CONSUMER_GROUP, GRANT_OPTION );

COMMIT;

END;


الآن المستخدم OBAY يستطيع الانضمام للمجموعة NEW_GROUP Consumer Group.

ولكن لا يستطيع الانضمام لمجموعة لا يملك صلاحية الانضمام لها.

2 - GRANT_SYSTEM_PRIVILEGE:

وهذا الإجراء لمنح صلاحيات إدارة Resource Manager للمستخدمين، حيث يتم تحديد المستخدم والصلاحية التي نريد منحها له أثناء تنفيذ الإجراء.

DECLARE

GRANTEE_NAME VARCHAR2(200);

PRIVILEGE_NAME VARCHAR2(200);

ADMIN_OPTION BOOLEAN;

BEGIN

GRANTEE_NAME := 'OBAY';

PRIVILEGE_NAME := 'ADMINISTER_RESOURCE_MANAGER';

ADMIN_OPTION := FALSE;

SYS.DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SYSTEM_PRIVILEGE ( GRANTEE_NAME, PRIVILEGE_NAME, ADMIN_OPTION );

COMMIT;

END;


منحنا صلاحية إدارة Resource Manager للمستخدم OBAY.

3 - REVOKE_SWITCH_CONSUMER_GROUP: من خلال هذا الإجراء، يمكننا سحب صلاحية الانضمام لمجموعة معينة من المستخدم الذي يمتلك هذه الصلاحية، والتي تم منحها من خلال الإجراء GRANT_SWITCH_CONSUMER_GROUP.

DECLARE

REVOKEE_NAME VARCHAR2(200);

CONSUMER_GROUP VARCHAR2(200);

BEGIN

REVOKEE_NAME := 'OBAY';

CONSUMER_GROUP := 'NEW_GROUP';

SYS.DBMS_RESOURCE_MANAGER_PRIVS.REVOKE_SWITCH_CONSU MER_GROUP ( REVOKEE_NAME, CONSUMER_GROUP );

COMMIT;

END; 


4 - REVOKE_SYSTEM_PRIVILEGE: وهو إجراء لسحب صلاحيات إدارة Resource Manager من المستخدمين.

ولنفترض أننا نريد سحب صلاحية إدارة Resource Manager من المستخدم OBAY الذي قمنا بمنحها له سابقاً.

DECLARE

REVOKEE_NAME VARCHAR2(200);

PRIVILEGE_NAME VARCHAR2(200);

BEGIN

REVOKEE_NAME := 'OBAY';

PRIVILEGE_NAME := 'ADMINISTER_RESOURCE_MANAGER';

SYS.DBMS_RESOURCE_MANAGER_PRIVS.REVOKE_SYSTEM_PRIVI LEGE ( REVOKEE_NAME, PRIVILEGE_NAME );

COMMIT;

END; 


علامات : Database

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان