Oracle中每一个用户拥有自身创建的数据库对象,Oracle的用户可以使用Create语句进行创建,创建语法为:
create user 用户名 identified by 密码 [account lock|unlock]
其中lock|unlock
代表创建用户时是否锁定,默认是lock
锁定状态,锁定的用户无法正常的登录进行操作数据库。
当创建完用户,还不能正常登录Oracle数据库,因为创建的用户还没有权限,Oracle中权限分为系统权限和数据库对象权限,系统权限代表允许拥有相应的系统操作,而数据库对象权限,例如对数据表的增删改查等操作,只有拥有数据库对象权限的用户可以对所拥有的对象进行操作。
另一个概念就是数据库角色(role),数据库角色就是拥有若干权限的集合,Oracle中常用角色有:
CONNECT
:该角色主要用于临时用户,例如一些不需要建表的用户,通常赋予这个角色,拥有CONNECT角色的用户可以与服务器建立会话(session)。RESOURCE
:该角色可以提供权限给用户创建表、序列、存储过程、触发器、索引等。DBA
:该角色拥有所有的系统权限,用户SYSTEM就是拥有DBA角色。
将某个权限赋予某个角色,也可以把权限、角色赋予某个用户,系统权限只能由DBA用户授权,而数据库对象权限由相应拥有该对象的用户授权,语法如下:
grant 角色|权限 to 用户(角色)
当新创建的用户授权之后,就能正常登录数据库了。
Oracle中的其他权限操作:
// 回收权限
revoke 角色|权限 from 用户(角色);
// 修改用户密码
alter user 用户名 identified by 新密码;
// 修改用户锁定状态
alter user 用户名 account lock|unlock;