大家好,又见面了,我是你们的朋友全栈君。
oracle创建用户与分配权限
我们要在有最高权限的system用户创建用户,再赋予新建用户权限,只有给新建用户权限,新建用户才能干什么。
CREATE USER 创建用户
DBA(数据库管理者) 使用 CREATE USER 语句创建用户
注意刚刚创建用户,仅仅是有这个用户的存在,还没有创建会话窗口的权限,进不了oracle界面
CREATE USER TestUser —创建的用户
IDENTIFIED BY test; —识别登录密码
用户的系统权限
- 用户创建之后, DBA 会赋予用户一些系统权限
- 下方都是可赋予新创建用户的系统权限:
CREATE SESSION(创建会话,才能打开界面操作)
CREATE TABLE(创建表)
CREATE SEQUENCE(创建序列)
CREATE VIEW(创建视图)
CREATE PROCEDURE(创建过程)
有两种赋予用户权限的方式,一种是一对一的赋予新建用户权限,这样赋予新建用户权限比较有活性,如果新建用户多了,就比较麻烦。另一种是先创建角色,将权限先赋给角色代理,最后将角色代理的权限赋新建用户,这样比较死板,但是可以同时赋给很多用户。
【1】创建用户–>(一对一)授权用户
GRANT 赋予系统权限
DBA 可以赋予用户特定的权限
GRANT —(授予)
CREATE SESSION —(创建会话,才可以打开界面)
,CREATE TABLE —(创建表,可创建空表,但没有权限插入数据)
,CREATE SEQUENCE —(创建序列)
,CREATE VIEW —(创建视图)
TO TestUser;
分配用户表空间
用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表
(可以创建空表,但不能添加数据)
ALTER USER TestUser QUOTA UNLIMITED ON users;
【2】创建用户—>创建角色—>授权角色—>角色赋予(多个)用户
创建角色并赋予权限
(1)创建角色
CREATE ROLE manager;
(2)为角色赋予权限
GRANT —(授予)
CREATE SESSION —(创建会话,才可以打开界面)
,CREATE TABLE —(创建表,可创建空表,但没有权限插入数据)
,CREATE SEQUENCE —(创建序列)
,CREATE VIEW —(创建视图)
TO manager;
(2)将角色赋予用户,可赋予多个用户
GRANT manager TO TestUser, socott1;
修改密码
- DBA 可以创建用户和修改密码
- 用户本人可以使用 ALTER USER 语句修改密码
ALTER USER TestUser
IDENTIFIED BY lion;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144490.html原文链接:https://javaforall.cn