C/C++教程

oracle-TCL-用户及权限管理

本文主要是介绍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 lanqiao identified by lanqiao ;
授予用户名登录权限
grant create session to lanqiao ;
对象权限:grant select on emp to lanqiao ;
  • 权限分类

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;

oracle登录验证方式

密码校验
sqlplus scott/tiger
使用密码校验

外部校验
sqlplus / as sysdba

外部校验的校验机制 校验当前的windows账户,是否在oracle管理员组中
image
外部校验会屏蔽密码校验(用户名密码随便输,登进去之后都是sys账户)
image

还有其他认证方式 全局验证:两种方式:生物方式、token方式(令牌环)

优先级 : 全局认证>外部验证>密码认证

预定义账户

sys:数据库的拥有者,最高权限(一切权限)
DBA权限、Admin option的所有权限、stratup/shutdown等若干维护命令,数据字典
system:DBA权限
scott 普通账户

这篇关于oracle-TCL-用户及权限管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!