Oracle 用户管理

在 Oracle 中可以对用户进行建立及授权的操作。

  • 创建用户的语法:
CREATE USER 用户名 IDENTIFIED BY 密码 ;

范例:创建一个 test 用户,密码是 test123

CREATE USER test IDENTIFIED BY test123 ;

如果要想创建用户,则首先应该使用管理员进行登陆,创建用户之后,开启一个新的 sqlplusw 窗口,并使用此用户进行登陆,出现以下的错误提示:

提示 test 用户没有创建 session 的操作权限,没有 session 的权限就意味着无法登陆。

  • 为用户授权可以使用如下的格式:
GRANT 权限 1,权限 2,... TO 用户

范例:将创建 SESSION 的权限给 test 用户

GRANT CREATE SESSION TO test ;

再使用 test 用户进行连接,就可以连接上数据库,就表示创建了一个 SESSION。

范例:建立 tab 表

CREATE TABLE tab(
id  NUMBER PRIMARY KEY NOT NULL ,
name VARCHAR2(30)
) ;

实际上一个新的用户所有的权限都要分别赋予,如果现在假设要想把多个权限一次性赋予一个用户,可以将这些权限定义成一组角色。

  • 在 Oracle 中提供了两个主要角色:CONNECT、RESOURCE,可以直接把这两个角色赋予 test 用户
GRANT CONNECT,RESOURCE TO test ;
  • 修改一个用户的密码,格式如下:
ALTER USER 用户名 IDENTIFIYED BY 密码
  • 在一般的系统中存在,在用户第一次登陆的时候可以修改密码,所以要想完成此功能,可以手工让一个密码失效,格式如下:
ALTER USER 用户名 PASSWORD EXPIRE ;
  • 锁定用户:
ALTER USER 用户名 ACCOUNT LOCK ;
  • 解锁用户:
ALTER USER 用户名 ACCOUNT UNLOCK ;

要访问其他用户的表,需要授予此张表的访问权限。

范例:将 scott 用户下的 emp 表的查询及删除权限给 test 用户

GRANT SELECT,DELETE ON scott.emp TO test ;

  回收权限使用 REVOKE 语法

REVOKE 权限 ON 用户.表名称 FROM 用户 ;

范例:回收 test 用户的 SELECT 及 DELETE 权限

REVOKE SELECT,DELETE ON scott.emp FROM test ; 
原文地址:https://www.cnblogs.com/aaron911/p/7777367.html