【DB.Oracle】Oracle用户和权限

本文详细介绍了如何在Oracle数据库中使用CREATEUSER命令创建用户,并通过系统权限和数据库对象权限进行用户角色分配。阐述了Oracle数据库角色的概念,如CONNECT、RESOURCE、DBA角色,并解释了如何授予和回收权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle中,一般不会再一个服务器上创建多个数据库。在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象


Oracle用户可以使用CREATE USER命令来创建(使用DBA用户):

CREATE USER 用户名 IDENTIFIED BY 口令[ACCOUNT LOCK|UNLOCK]
LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态。锁定的用户无法正常的登陆进行操作。



尽管用户创建成功,但还不能正常的登陆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 用户(角色)



其他操作:

// 回收权限
REVOKE 角色|权限 FROM 用户(角色);
// 修改用户密码
ALTER USER 用户名 IDENTIFIED BY 新密码;
// 修改用户处于锁定/非锁定状态
ALTER USER 用户名 ACCOUNT LOCK|UNLOCK;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值