oracle基本用户管理和权限分配

1.用户与模式的关系,一一对应的关系

2.创建与管理用户

2.1创建用户语法

CREATE user wdf IDENTIFIED by tiger--创建用户wdf,密码tiger

DEFAULT tablespace users--用户的默认表空间

quota 10M on users;--在表空间的占用最大空间

注意:用户创建以后,不能直接链接数据库,需要授权以后才可以使用,可以自己尝试下,我这里提示如下错误

2.2修改用户信息

ALTER user wdf --选定用户

quota 20M on users;--修改的参数值

知识点:解锁被锁住的用户,在后面profile文件密码管理时候会了解到

ALTER user wdf account unlock;--解锁用户,profile密码管理,多次输入密码错误导致用户锁定

2.3删除用户信息

DROP user wdf cascade;--连同用户所拥有的数据库对象一起删除cascade;

3.权限管理

先透露下数据库的权限有很多,如果是多用户管理,那么每个用户授权很麻烦,而且也容易出问题,所以引进了角色的概念,类似程序的接口,角色就是接口,提前维护好,程序就是用户,可以直接调用,当需要对很多用户收回某个权限时候,如果都属于一个角色,那么直接收回角色的这个权限即可。类似在权限-角色-用户,通过角色来控制用户的权限。有点啰嗦。

默认系统也有很多角色,也可以自定义角色,先将权限授权给角色,再把角色授权给用户

语法:grant 权限 to 用户|角色|所有人public|with admin option支持再次授权给他人

--创建角色A,B,

create user A IDENTIFIED by abc

DEFAULT tablespace users

quota 10m on users;

create user B IDENTIFIED by abc

DEFAULT tablespace users

quota 10m on users;

--授权,支持再次授权

GRANT create session,create table to A with admin option;

--测试授权是否成功(成功),可以按住ctrl+滚轮上滑,看下面图片,有点模糊

在命令行执行:

sql>conn A/abc;

sql>create table a(id int);

登录用户A,授权session和table权限给B然后测试,B用户授权后可以成功创建链接和表

3.2 权限的回收revoke

语法:revoke 权限 from 用户|角色|所有人public

案例:登录用户A,收回B的session权限,在测试登录B是否可以正常登录-登录失败

查询用户和权限相关字典:

select * FROM
--dba_users;--数据库基本信息表
--dba_sys_privs;--已授予用户或角色的系统权限
--dba_tab_privs;--数据库对象上的所有权限
--user_sys_privs;--登录用户可以查看自己的系统权限
--role_sys_privs;--登录用户查看自己的角色
--all_tables;--用户自己可以查询的基表信息
--user_tab_privs;--用户自己将那些基表权限授予哪些用户
--all_tab_privs;--哪些用户给自己授权

相关推荐
一个天蝎座 白勺 程序猿5 分钟前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴10 分钟前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存
YOU OU10 分钟前
三大范式和E-R图
数据库
一江寒逸21 分钟前
零基础从入门到精通MySQL(上篇):筑基篇——吃透核心概念与基础操作,打通SQL入门第一关
数据库·sql·mysql
@土豆23 分钟前
Ubuntu 22.04 运行 Filebeat 7.11.2 崩溃问题分析及解决文档
linux·数据库·ubuntu
专注API从业者35 分钟前
淘宝商品详情 API 与爬虫技术的边界:合法接入与反爬策略的技术博弈
大数据·数据结构·数据库·爬虫
爱码小白43 分钟前
MySQL 单表查询练习题汇总
数据库·python·算法
WangJunXiang644 分钟前
第09章:PostgreSQL日常维护
数据库·postgresql
三道渊1 小时前
进程通信与网络协议
开发语言·数据库·php
徒 花1 小时前
数据库知识复习05
android·数据库