oracle创建用户

上传人:第*** 文档编号:31313583 上传时间:2018-02-06 格式:DOCX 页数:10 大小:33.18KB
返回 下载 相关 举报
oracle创建用户_第1页
第1页 / 共10页
oracle创建用户_第2页
第2页 / 共10页
oracle创建用户_第3页
第3页 / 共10页
oracle创建用户_第4页
第4页 / 共10页
oracle创建用户_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《oracle创建用户》由会员分享,可在线阅读,更多相关《oracle创建用户(10页珍藏版)》请在金锄头文库上搜索。

1、 角色概述角色是 Oracle 引入的权限的集合,通过将各种权限赋予角色,使得权限的赋予和回收非常方便,尤其是对于一个大的数据库系统中有很多不同的数据库用户,使用角色可以很好的减少 DBA 的用户权限的管理 角色是数据库各种权限的集合,使用角色可以方便的管理数据库特权,角色可以赋予其他用户也可以赋予其他角色,下图形象的说明了角色的作用。 创建角色 创建角色的语法格式,如下所示。CREATE ROLE role_name NOT IDENTIFIED|IDENTIFIED BY password | EXTERNALLY | GLOBALLY | USING package 下面详细介绍各个参数

2、的含义: role_name:角色名字 NOT IDENTIFIED::在激活角色时不需要密码验证。 IDENTIFIED:在激活角色时需要密码验证。 BY PASSWORD:设置激活角色的验证密码。 USING package:创建应用角色,该角色只能由应用通过授权的 package 激活。用户 用户用户M A N A G E R ( 经理角色 ) C L E R K ( 雇员角色 )C R E A T E T A B L E C R E A T E S E S S I O NU P D A T E O N T A B L E _ N A M ES E L E C T O N T A B L

3、 E _ N A M EI N S E R T I N T OT A B L E _ N A M E用 户定义的角色权 限 EXTERNALLY:说明角色在激活前,必须通过外部服务如操作系统或第三方服务授权。 GLOBALLY:当使用 SET ROLE 激活角色时,用户必须通过企业路径服务授权来使用角色。 创建角色 示例:创建角色 mk_clerk,该角色不需要任何口令标识 。SQL connect system/oracleorcl已连接。SQL create role mk_clerk; 创建角色 at_clerk,该角色在激活时需要口令标识 。SQL create role at_cle

4、rk2 identified by rmb;创建角色 manager,该角色使用外部服务来标识。 修改角色 示例:将角色 AT_CLERK 的验证方法改为不需要任何标识 。SQL alter role at_clerk2 not identified; 将角色 MANAGER 的验证方法改为需要密码标识 。SQL alter role manager2 identified by rmb; 赋予角色权限我们知道角色是权限的集合,所以在创建了角色后,就需要将各种权限赋予该角色,赋予角色权限的语法格式如下所示。GRANT 权限 | 角色 TO 角色名 为角色 CLERK 赋予权限 SQL gran

5、t create session,select any table,create viewto at_clerk; 将权限和角色 AT_CLERK 授予角色 MANAGER SQL grant create any table,at_clerkto manager; 赋予用户角色我们知道角色是权限的集合,所以在创建了角色后,就需要将各种角色赋予用户,或赋予所有用户(PUBLIC),将角色赋予用户的语法格式如下所示。GRANT role , role TO user | role | public | , user | role | public WITH ADMIN OPTION参数含义如下所

6、示。参数解释 role :赋予用户的角色名(如多个角色,则用逗号隔开)。 user:被赋予角色的用户(如多个用户用逗号隔开) PUBLIC:将角色赋予所有用户 WITH ADMIN OPTION:被赋予该角色的用户或角色可以继续将该角色赋予其他用户或角色。示例:创建一个新用户,然后将角色赋予该用户 SQL create user mymanageridentified by my12#; SQL grant at_clerk to mymanager with admin option 回收和删除角色回收用户 CLERK 的 AT_CLERK 角色 SQL revoke at_clerk fr

7、om mymanager; 删除角色 AT_CLERKSQL drop role at_clerk; 将角色授予所有用户。SQL grant manager to public; 回收授予 PUBLIC 的 MANAGER 角色 SQL revoke manager from public; 权限的概念和分类权限是执行特殊 SQL 语句或访问其他用户拥有的对象的权利,这些权利包括:连接数据库、维护表空间、改变系统状态、创建表、从用户表中选择数据行、执行存储过程等。 Oracle 将权限分为系统权限和用户权限。 系统权限:系统权限允许用户执行一个或一类特殊的数据库操作,如创建数据库、创建用户、创

8、建与维护表空间以及管理会话等。对象权限:对象权限是用户维护数据库对象的权利,如维护表、视图、序列号、存储过程、函数等。 几种系统权限下面我们介绍常用的几类系统权限。 1.与索引相关。CREATE ANY INDEX:创建任何模式中对象的索引。ALTER ANY INDEX:修改任何模式的索引。DROP ANY INDEX:删除任何模式的索引。说明:没有 CREATE INDEX 的权限。在 CREATE TABLE 权限中包含了 CREATE INDEX 的权利。 2.与表相关。CREATE TABLE:在当前模式中创建表。CREATE ANY TABLE:在任何模式中创建表。ALTER AN

9、Y TABLE:修改任何模式中的表。DROP ANY TABLE:删除任何模式中的表。SELECT ANY TABLE:查看任何模式中的表数据。UPDATE ANY TABLE:修改任何模式中的表数据。DELETE ANY TABLE:删除任何模式中的表。说明:具有 CREATE TABLE 权限的用户自然拥有删除该表对象的权限,其他如CREATE PROCEDURE、CREATE FUNCTION 类似。在创建表时必须为表分配表空间配额,或者对表空间具有无限制使用权利,如 UNLIMITED TABLESPACE。 3.与会话相关。CREATE SESSION:建立数据库会话的权利。ALTE

10、R SESSION:修改数据库会话的权利。注意:一个新用户创建后,首先需要授予 CREATE SESSION 权限它可以访问数据库。 4.与表空间相关。CREATE TABLESPACE:创建表空间。ALTER TABLESPACE:修改表空间。DROP TABLESPACE:删除表空间。UNLIMITED TABLESPACE:允许使用所有表空间的权限。 Oracle 将权限分为系统权限和用户权限。 系统权限:系统权限允许用户执行一个或一类特殊的数据库操作,如创建数据库、创建用户、创建与维护表空间以及管理会话等。对象权限:对象权限是用户维护数据库对象的权利,如维护表、视图、序列号、存储过程、

11、函数等。 授予系统权限要授予用户系统权限需要使用 GRANT 指令的 SQL 语句,被授予了权限的用户在一定授权下可以继续将系统权限赋予其他用户。下面是赋予用户权限的语法格式。GRANT system_privilege | role , system_privilege | role TO user | role | PUBLIC , user | role | PUBLIC WITH ADMIN OPTION 创建两个用户 jane 和 larry 并赋予用户系统权限。 SYSDBA 和 SYSOPER 系统特权 Oracle 提供了两个特殊的系统权限,即 SYSDB 权限和 SYSOPE

12、R 权限,在做系统维护时建议使用这两种系统权限登陆数据库。用户通过 SYSDBA 连接到数据库时,它具有对数据库的一切特权。下面是两种系统特权的典型数据库操作。 SYSDBA 系统特权相关的操作:SYSOPER PRIVILEGES WITH ADMIN OPTION:具有 SYSOPER 所具有的操作,并且可以将这些特权赋予其他用户。CREATE DATABASE:创建数据库。ALTER DATABASE BEGIN/END BACKUP:将数据库置于备份状态。RESTRICTED SESSION:设置会话限制。RECOVER DATABASE UNTIL:介质恢复数据库到 UNTIL 指定

13、的状态。 SYSOPER 系统特权相关的操作:STARTUP:启动数据库。SHUTDOWN:关闭数据库。ALTER DATABASE OPEN | MOUNT:将数据库切换到打开|挂起状态。ALTER DATABASE BACKUP CONTROLFILE TO:备份控制文件。RECOVER DATABASE:介质恢复数据库。ALTER DATABASE ARCHIVELOG:将数据库设置为归档模式。 回收用户权限如果需要限制某个用户的权限可以回收权限,使用 REVOKE 指令,回收用户权限的语法格式如下所示。REVOKE system_privilege | role , system_pr

14、ivilege | role FROM user | role | PUBLIC ,user | role | PUBLIC 示例1. 查询用户 JANE 和 LARRY 的系统权限。SQL select *2 from dba_sys_privs3 where grantee IN (JANE,LARRY)4* order by grantee 2. 回收用户 LARRY 的系统权限。 SQL connect system/oracleorcl已连接。SQL revoke create session,select any table 2 from larry; 3. 回收级联的用户权限的一

15、点说明甲-已-丙甲-X已-丙 授予对象权限和系统权限相对应的是对象权限,对象包括表、视图(物化视图)、序列号和存储过程等。在这些数据库对象上实现某种特殊的行为的权限称为对象权限,如对于一个表可以更改表的结构,删除表或更新表中的数据行等。Oracle 的对象权限包括:ALTER、 DELETE、EXECUTE、INDEX 、INSERT、REFERENCES、SELECT 和UPDATE。而这些对象权限适用于不同的数据库对象。 给出对象授权的语法格式:GRANT object_privilege ( column_list ) , object_privilege ( column_list) | ALL PRIVILEGE ON schema. objectTO user | role | PUBLIC , user | role |PUBLIC WITH GRANT OPTION GRANT:授权关键字。 Object_privilege:对象权限 Column_list:对象权限操作的列的列表。 All:将当前用户的某个数据库对象的所有权限赋予新用户。 On object:说明具体的数据库对象,如表或存储过程。With

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号