oracle-TCL-用户及权限管理
直接以sys身份登录
sqlplus / as sysdba
切换到sys用户
sqplus scott/tiger
conn / as sysdba
show user; 查看当前登录的用户名
用户管理
创建用户
在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用,而且创建之后的用户没有任何权限,连登录的权限都没有(第三方工具创建的用户可以登录,是因为屏蔽了一些底层细节)
create user 用户名 identified by 密码;
密码必须以字母开头,不能以数字开头
修改密码
给自己修改密码
sql> password 用户名
给别人修改密码
需要具有dba的权限,或是拥有alter user 的系统权限,System可以修改别人的密码
sql> alter user 用户名 identified by 新密码
删除用户
drop user 用户名 [cascade]
一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限
级联删除
在删除户时,注意:如果要删除的用户,已经创建了表,那么就需要在删除时带一个参数cascade
权限管理
创建的新用户是没有任何权限的,甚至连登录的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。
create user test identified by 12345678 ;
授予用户名登录权限
grant create session to test ;
对象权限:grant select on scott.emp to test ;
- 权限分类
-
权限
-
系统权限
- 用户对数据库的相关权限
- 140多个系统权限
-
对象权限
- 用户对其他用户的数据对象操作的权限
- Oracle拥有25个对象权限
-
-
角色(一组权限)
- 预定义角色
- 自定义角色
-
角色
- 从系统权限中挑出来的权限
- Connect角色:一些基本权限
- Dba角色
- Resource角色:让用户在任何表空间建表
-
授予权限
- grant select on emp to xiaoming
-
收回权限
-
scott希望收回xiaoming对emp表的查询权限
-
revoke select on emp from xiaoming
-
如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样
- 采用级联回收的机制管理权限
-
给账户(用户)解锁
- sql> alter user tea account unlock;