您当前的位置:首页 > 学习专区 > 数据库技术

Oracle创建用户及管理权限

时间:2017-04-19 17:03:28    作者:严老师

  Oracle数据库是数据库的一种,用的还是比较多的。Oracle中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在Oracle中非常重要。
  Oracle的用户可以用CREATE USER命令来创建。其语法是:
  语法结构:创建用户
  CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]
  语法解析:
  LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态。锁定的用户无法正常的登录进行数据库操作。
  代码演示:创建用户
  SQL> CREATE USER jerry
  2 IDENTIFIED BY tom
  3 ACCOUNT UNLOCK;
  Oracle在SQL*Plus中的命令以分号(;)结尾,代表命令完毕并执行,系统同时会把该命令保存在缓存中,缓存中只保存最近执行过的命令,如果重新执行缓存中的命令,直接使用左斜杠符号(/)。如果命令不以分号结尾,该命令只是写入缓存保存起来,但并不执行。
  尽管用户成功创建,但是还不能正常的登录Oracle数据库系统,因为该用户还没有任何权限。如果用户能够正常登录,至少需要CREATE SESSION系统权限。
  Oracle用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权限比如:CREATE SESSION,CREATE TABLE等,拥有系统权限的用户,允许拥有相应的系统操作。数据库对象权限,比如对表中的数据进行增删改操作等,拥有数据库对象权限的用户可以对所拥有的对象进行对应的操作。
  还有一个概念就是数据库角色(role),数据库角色就是若干个系统权限的集合。下面介绍几个常用角色:
  CONNECT角色,主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT role。CONNECT是使用Oracle的简单权限,拥有CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。
  RESOURCE角色,更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。
  DBA角色,DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。用户SYSTEM拥有DBA角色。
  一般情况下,一个普通的用户(如SCOTT),拥有CONNECT和RESOURCE两个角色即可进行常规的数据库开发工作。
  可以把某个权限授予某个角色,可以把权限、角色授予某个用户。系统权限只能由DBA用户授权,对象权限由拥有该对象的用户授权,授权语法是:
  语法结构:授权
  GRANT角色|权限 TO 用户(角色)
  代码演示:授权
  SQL> GRANT CONNECT TO jerry;
  授权成功。
  SQL> GRANT RESOURCE TO jerry;
  授权成功。
  SQL>
  语法结构:其他操作
  //回收权限
  REVOKE 角色|权限 FROM 用户(角色)
  //修改用户的密码
  ALTER USER 用户名 IDENTIFIED BY 新密码
  //修改用户处于锁定(非锁定)状态
  ALTER USER 用户名 ACCOUNT LOCK|UNLOCK
  虽然上面的语法比较多,但是都是平时比较常用的,用的越多,记忆就会更加深刻。希望大家对照这些语法多多练习,提升自己的能力。

下一篇:Oracle简介      上一篇:SNMP是什么
推荐资讯
UI设计师
UI设计师
JAVA软件工程师课程
JAVA软件工程师课程
.NET软件工程师课程
.NET软件工程师课程
软件开发工程师课程
软件开发工程师课程
相关文章
    无相关信息
栏目更新
栏目热门