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所示。
(2)出现如图8.17所示的创建角色的【一般信息】选项卡。
(3)图8.18所示为创建角色的【角色】选项卡。用于为多个角色分配子角色。
(4)图8.19所示为创建角色的【系统权限】选项卡。
(5)如图8.20所示为创建角色的【对象权限】选项卡。
(6)图8.21所示为创建角色的【使用者组】选项卡。
(7)成功创建角色后出现如图8.22所示界面。
(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。
角色的修改
(1)如图8.24所示。
(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所示【角色删除确认】界面。
(2)上述过程对应的SQL代码如下。
―――――――――――――――――――――――――――――――――――――
DROP ROLE TEMPROLE;
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第8章\droprole.sql。