首页 > 数据库 > Oracle > 正文

Oracle 9i 角色的管理

2024-08-29 13:45:35
字体:
来源:转载
供稿:网友
Oracle 9i预定义的角色

表8.2 Oracle 9i预定义的角色角色名称说明CONNECT数据库连接角色,用于连接数据库,具有创建簇、数据库链接、序列、同义词、表和视图,以及修改会话的权利DBA数据库治理员角色,具有所有使用ADMIN选项创建的系统权限,可以将系统权限授予其他用户或角色DELETE_CATALOG_ROLE删除目录角色,可以删除或重建数据字典EXECUTE_CATALOG_ROLE执行目录角色,能够执行所有系统包EXP_FULL_DATABASE能够使用导出程序执行数据库的完全和增量导出IMP_FULL_DATABASE能够使用导入程序执行数据库的完全导入RESOURCE可以创建簇、表、序列以及PL/SQL编程用方案对象,包括过程、程序包、触发器等SELECT_CATALOG_ROLE查询数据字典表或视图在【企业治理器】中创建角色

    (1)如图8.16所示。
Oracle 9i 角色的治理
    (2)出现如图8.17所示的创建角色的【一般信息】选项卡。
    (3)图8.18所示为创建角色的【角色】选项卡。用于为多个角色分配子角色。
Oracle 9i 角色的治理
    (4)图8.19所示为创建角色的【系统权限】选项卡。
    (5)如图8.20所示为创建角色的【对象权限】选项卡。

(图片较大,请拉动滚动条观看)
    (6)图8.21所示为创建角色的【使用者组】选项卡。
    (7)成功创建角色后出现如图8.22所示界面。
Oracle 9i 角色的治理
    (8)上述过程创建角色的SQL代码如下。
    ―――――――――――――――――――――――――――――――――――――
    CREATE ROLE "TEMPROLE"
        IDENTIFIED BY "temprole";
    GRANT ALTER ANY INDEX TO "TEMPROLE" WITH ADMIN OPTION;
    GRANT SELECT ANY TABLE TO "TEMPROLE" WITH ADMIN OPTION;
    GRANT "CONNECT" TO "TEMPROLE" WITH ADMIN OPTION;
    GRANT "DBA" TO "TEMPROLE" WITH ADMIN OPTION;
    BEGIN
        dbms_resource_manager_privs.grant_switch_consumer_group(
            grantee_name => 'TEMPROLE',
            consumer_group => 'DEFAULT_CONSUMER_GROUP',
            grant_option => FALSE
       );
    END;
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第8章/createrole.sql。

在【SQLPlus Worksheet】中创建角色

    (1)在【SQLPlus Worksheet】中直接执行createrole.sql文件将完成角色的创建,执行结果如图8.23所示。

    (2)表明已经成功创建角色TEMPROLE。
Oracle 9i 角色的治理

角色的修改

    (1)如图8.24所示。
Oracle 9i 角色的治理
    (2)在出现的各选项卡中可以修改角色的各种配置参数,对应角色的修改的SQL语句为“ALTER ROLE”或者“REVOKE”。
    实例1:将角色的验证方式更改为“外部”的SQL代码如下。
    ―――――――――――――――――――――――――――――――――――――
    ALTER ROLE "TEMPROLE" IDENTIFIED EXTERNALLY;
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第8章/alterrole.sql。
    实例2:将角色的系统权限“DBA”删除的SQL代码如下。
    ―――――――――――――――――――――――――――――――――――――
    REVOKE "DBA" FROM "TEMPROLE";
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第8章/revokerole.sql。

角色的删除

    (1)如图8.25所示【角色删除确认】界面。
Oracle 9i 角色的治理
    (2)上述过程对应的SQL代码如下。
    ―――――――――――――――――――――――――――――――――――――
       DROP ROLE TEMPROLE;
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:第8章/droprole.sql。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表