一,Oracle的用户管理
1. 创建用户
在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用。
-
1) 创建用户
命令:create user 用户名 identified by 密码;
--创建用户:
--语法结构:create user 用户名 identified by 密码 【default tablespace 表空间名】【temporary tablespace temp】
create user hope identified by 123456;
create user hope1 identified by 123456 default tablespace users;
create user hope2 identified by 123456 default tablespace users temporary tablespace temp;
- 2) 给用户修改密码
如果给别人修改密码则需要具有 dba 的权限,或是拥有 alter user 的
系统权限命令:alter user 用户名 identified by 新密码
--修改用户密码:
--语法结构:alter user 用户名 identified by 密码
alter user hope identified by 654321;
-
3) 修改自己的密码
如果给自己修改密码可以直接使用命令:password 用户名
问题:创建好的用户无法正常登录?
oracle 中用户建立后是无法正常登录的,只有在数据库管理员(DBA)对用户分配相应的权限后,用户才可以登录。
2 删除用户
概述:一般以 dba 的身份去删除某个用户,如果用其它用户去删除用户则需要具有 drop user 的权限。
命令:drop user 用户名 [cascade]可选参数 cascade
在删除用户时, 注意: 如果要删除的用户,已经创建了表, 那么就需要在删除的时候
带一个参数 cascade; Cascade 有级联的作用
--删除用户:
--drop user 用户名【cascade】
drop user hope;
drop user hope cascade;
3. oracle 用户分配权限和角色
概述:创建的新用户是没有任何权限的,甚至连登录的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用使令 grant,回收权限使用命令 revoke
赋权限基本语法:grant 权限/角色 to 用户名;
回收权限基本语法:revoke 权限/角色 from 用户名;
--权限和角色
--权限指执行特定类型SQL命令或访问其他对象的权利
--系统权限:允许用户执行某些数据库操作
--对象权限:允许用户对某一特定对象执行特定的操作
--角色是具有名称的一组权限的组合
--常用系统预定义角色
--CONNECT:临时用户
--RESOURCE:更为可靠和正式的用户
--DBA:数据库管理员角色,拥有管理数据库的最高权限
--一般情况下,普通用户,有connect和resource的角色就够了。
3.1 分配权限
语法:grant create 权限 to 用户名;
例如:给小明赋予会话的权限
sql> grant create session to xiaoming;
–给hope2赋予查询scott的emp表的权限
grant select on scott.emp to hope2;
grant sel