设为首页 收藏本站
查看: 624|回复: 0

[经验分享] Oracle用户与权限管理

[复制链接]

尚未签到

发表于 2018-9-11 06:58:04 | 显示全部楼层 |阅读模式

  •   权限分类
  1、  系统权限:对于数据库操作的权限,包括但不限于:
  CREATE TABLE
  CREATE VIEW
  CREATE SESSION
  CREATE  SEQUENCE
  CREATE PROCEDURE
  ……
  2、  对象权限:对于用户创建的表、视图的访问、修改能操作权限,包括但不限于:
  SELECT
  UPDATE
  INSERT
  DELETE
  ……

  •   权限分配与回收
  1、  权限分配:
  GRANT 权限 TO 用户/角色
  例1:将对hr用户下employee表的访问权限赋给用户SCOTT
  GRANT SELECT ON hr.employee TO scott;
  例2:将角色CONNECT分配给用户SCOTT
  GRANT CONNECT TO scott
  2、  权限回收:
  REVOKE 权限 FROM 用户/角色
  例1:收回用户scott对于hr用户employee表的访问权限
  REVOKE hr.employee FROM scott;
  例2:收回用户scott的CONNECT角色
  REVOKE CONNECT FROM scott;

  •   权限继承与回收
  1、情景模拟:Oracle总部拥有对于Oracle产品的管理权限,Oracle总部赋予Oracle中国管理中国境内的经营事宜,如果Oracle中国需要二次分配这种权限,可以在总部赋予权限的时候,使用WITH ADMIN OPTION(系统权限继承)/WITH GRANT OPTION(对象权限继承)
  例:SYS 赋予用户scott创建表的权限,然后scott可以赋予其他用户创建表的权限
  SOL>CONN  SYS
  GRANT CREATE TABLE TO scott WITHADMIN OPTION;
  说明:
  CREATE TABLE属于系统权限,使用关键字WITH ADMIN OPTION赋予权限继承;
  此时,SCOTT用户可以对于其他任意用户赋予创建表的权限
  SQL>CONN SCOTT
  GRANT CREATE TABLE TOtest;
  如果是对象权限的继承则需要使用WITHGRANT OPTION
  例:将对hr用户下employee表的访问权限赋给用户SCOTT,SCOTT用户可以继承
  SQL>CONN hr
  GRANT SELECT ON hr.employee TO scott WITH GRANT OPTION;
  CONN scott
  GRANT SELECT ONhr.employee TO test;  --scott用户将权限二次分配给test用户;
  2、继承权限回收
  回收权限时,对于系统权限而言,不会回收WITH ADMIN OPTION分配的子权限;
  对象权限则会级联回收,比如用户scott用户对hr用户下employe表的访问权限,scott用户又将访问权限二次分配给了新用户test,则回收scott访问权限的同时,系统会自动回收由scott二次分配的访问权限;

  •   常见角色权限与分配原则
  1、常见角色
  DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
  RESOURCE:只可以创建实体,不可以创建数据库结构。
  CONNECT:只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
  2、角色权限分配原则:
  对于普通用户:授予connect, resource权限。
  对于DBA管理用户:授予connect,resource, dba权限。

  •   常用的权限查询视图
  --1、显示角色拥有的系统权限
  SELECT * FROMROLE_SYS_PRIVS;
  --2、角色对于表列拥有的权限
  SELECT * FROMROLE_TAB_PRIVS;
  --3、查询用户所属角色
  SELECT * FROMUSER_ROLE_PRIVS;
  --4、显示已授予给其他用户的对象权限,用户是当前登录用户
  SELECT * FROMUSER_TAB_PRIVS_MADE
  --5、显示已授予给其他用户的对象权限,用户是被授予者
  SELECT * FROMUSER_TAB_PRIVS_RECD
  --6、显示列上已授予的权限,用户是当前登录用户
  SELECT * FROMUSER_COL_PRIVS_MADE
  --7、显示列上已授予的权限,用户是被授予者
  SELECT * FROMUSER_COL_PRIVS_RECD
  --8、显示当前登录用户所拥有的系统权限
  SELECT * FROMUSER_SYS_PRIVS

  •   用户管理
  1、  创建用户test,密码test

  CREATE USER test>  2、  修改用户test密码为123456

  ALTER USER test>  3、  解锁用户SCOTT
  ALTER USER scott ACCOUNT UNLOCK;

  •   创建数据库连接
  CREATE [PUBLIC] DATABASE LINK 连接名称

  CONNECT 用户名>  USING 数据库实例名


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-571657-1-1.html 上篇帖子: Oracle 11g Active Dataguard (RAC)的配置 下篇帖子: Oracle用户与权限管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表