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 ;
没有高深的知识,没有进阶的技巧,万丈高楼平地起~!