《《ora用户权限》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《ora用户权限》PPT课件.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第十四章 用户权限创建用户创建角色使用GRANT 和 REVOKE 语句赋予和回收权限本章目标用户管理用户管理Oracle 默认用户q只有用合法的用户帐号才能访问Oracle数据库qOracle 有几个默认的数据库用户 Oracle 默认用户SYSSYSTEMSCOTT数据库中所有数据字典表和视图都存储在 SYS 模式中。SYS用户主要用来维护系统信息和管理实例。SYSTEM 是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等SCOTT用户是Oracle 数据库的一个示范帐户,在数据库安装时创建数据库安全包括两个方面:系统
2、安全性 数据安全性系统权限:对于数据库的权限对象权限:操作数据库对象的权限方案:一组数据库对象集合,例如表,视图,和序列数据库安全性超过一百多种 100 有效的权限数据库管理员具有高级权限以完成管理任务,例如:创建新用户 删除用户 删除表 备份表系统权限创建新用户q要连接到Oracle数据库,就需要创建一个用户帐户q每个用户都有一个默认表空间和一个临时表空间qCREATE USER命令用于创建新用户CREATE USER usernameIDENTIFIED BY passwordDEFAULT TABLESPACE tablespaceTEMPORARY TABLESPACE tablesp
3、ace;qCREATE USER 命令的语法是:CREATE USER MARTINIDENTIFIED BY martinpwdDEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP;创建一个名称为 martin 的用户,其密码为 martinpwd更改和删除用户qALTER USER 命令可用于更改口令 ALTER USER MARTIN IDENTIFIED BY martinpass;修改 MARTIN 用户的密码qDROP USER 命令用于删除用户 DROP USER MARTIN CASCADE;删除 MARTIN 用户模式授予权限 q
4、权限指的是执行特定命令或访问数据库对象的权利q权限有两种类型,系统权限和对象权限q系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限q对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作q角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。用户的系统权限 用户创建之后,DBA 会赋予用户一些系统权限 以应用程序开发者为例,一般具有下列系统权限:CREATE SESSION(创建会话)CREATE TABLE(创建表)CREATE SEQUENCE(创建序列)CREATE VIEW(创建视图)CREATE PROCEDURE(创建过程)GRANT
5、privilege,privilege.TO user,user|role,PUBLIC.;DBA 可以赋予用户特定的权限GRANT create session,create table,create sequence,create viewTO scott;赋予系统权限授予权限 qGRANT 命令可用于为用户分配权限或角色 GRANT CONNECT TO MARTIN;CONNECT角色允许用户连接至数据库,并创建数据库对象GRANT RESOURCE TO MARTIN;RESOURCE角色允许用户使用数据库中的存储空间GRANT CREATE SEQUENCE TO MARTIN;此
6、系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中授予权限 q授予用户 MARTIN 操作TEST表对象的权限 GRANT SELECT ON TEST TO MARTIN;允许用户查询 TEST 表的记录GRANT UPDATE ON TEST TO MARTIN;允许用户更新 TEST 表中的记录GRANT ALL ON TEST TO MARTIN;允许用户插入、删除、更新和查询 TEST 表中的记录创建角色CREATE ROLE manager;为角色赋予权限GRANT create table,create view TO manager;将角色赋予用户GRANT
7、 manager TO DEHAAN,KOCHHAR;创建角色并赋予权限 创建角色并赋予权限角色管理Create role identified bypasswordalter roleset role命令drop role命令对象权限对象权限 不同的对象具有不同的对象权限 对象的拥有者拥有所有权限 对象的拥有者可以向外分配权限GRANT object_priv(columns)ON objectTO user|role|PUBLICWITH GRANT OPTION;分配表 EMPLOYEES 的查询权限GRANT selectON employeesTO sue,rich;分配表中各个列的
8、更新权限GRANT update(department_name,location_id)ON departmentsTO scott,manager分配对象权限 WITH GRANT OPTION 使用户同样具有分配权限的权利GRANT select,insertON departmentsTO scottWITH GRANT OPTION;向数据库中所有用户分配权限GRANT selectTO PUBLIC;WITH GRANT OPTION 和 PUBLIC 关键字查询权限分配情况数据字典 select table_name from user_tables select view_na
9、me from user_views;select index_name,table_name from user_indexesselect sequence_name,min_value,max_value,increment_by from user_sequencesselect synonym_name,table_name from user_synonymsselect username,user_id from user_usersselect*from user_sys_privs;select username,granted_role from user_role_pri
10、vsselect*from role_sys_privs;select uid from dual;使用 REVOKE 语句收回权限使用 WITH GRANT OPTION 子句所分配的权限同样被收回REVOKE privilege,privilege.|ALLON objectFROM user,user.|role|PUBLICCASCADE CONSTRAINTS;收回对象权限使用 DCL 控制数据库权限CREATE USER 创建用户(通常由 DBA 完成)GRANT 分配权限CREATE ROLE 创建角色(通常由 DBA 完成)ALTER USER 修改用户密码REVOKE 收回权限总结