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 ;
  • 权限分类

image

  • 权限

    • 系统权限

      • 用户对数据库的相关权限
      • 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;
posted @ 2022-07-19 14:00  姬雨晨  阅读(86)  评论(0编辑  收藏  举报