首页 / 数据库 / MySQL / Oracle用户与权限管理
Oracle权限分类1、 系统权限:对于数据库操作的权限,包括但不限于:CREATE TABLECREATE VIEWCREATE SESSIONCREATE SEQUENCECREATE PROCEDURE……2、 对象权限:对于用户创建的表、视图的访问、修改能操作权限,包括但不限于:SELECTUPDATEINSERTDELETE……权限分配与回收
1、 权限分配:GRANT 权限 TO 用户/角色例1:将对hr用户下employee表的访问权限赋给用户SCOTTGRANT SELECT ON hr.employee TO scott;例2:将角色CONNECT分配给用户SCOTTGRANT CONNECT TO scott2、 权限回收: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 SYSGRANT 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,密码testCREATE USER test IDENTIFIED BY test;2、 修改用户test密码为123456ALTER USER test IDENTIFIED BY 123456;3、 解锁用户SCOTTALTER USER scott ACCOUNT UNLOCK;创建数据库连接
CREATE [PUBLIC] DATABASE LINK 连接名称CONNECT 用户名 IDENTIFIED BY 登录密码USING 数据库实例名Oracle 单实例 从32位 迁移到 64位 方法 http://www.linuxidc.com/Linux/2012-03/55759.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址