Privileges & Resource Manager
نشر بواسطة : 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;
Comments
لايوجد تعليق حتى الان