【Oracle系列1】Oracle 的connect角色和create session权限的区别

【Oracle系列1】Oracle 的connect角色和create session权限的区别

背景

oracle数据库新建用户之后是无法登录的,需要赋予connect角色或者create session权限。

注意:

connect是角色不是权限,create session是权限不是角色。角色是权限的集合。而create session权限就是connect角色所拥有的权限之一。

如果不能赋予connect角色,单给新建的用户赋予create session的权限也是能让其登录的。

如何赋予角色或权限,语法是相同的

# 赋予角色
grant connect to YOUR_USER

# 赋予权限
grant create session to YOUR_USER

实验

1、如果用户没有登录权限,报的错是:
ERROR:
ORA-01045: user TEST01 lacks CREATE SESSION privilege; logon denied

图形工具一般也是类似的信息

在这里插入图片描述

2、赋予create session 之后

执行如下之后

grant create session to YOUR_USER

重新登录,可登录

root@dc1282a6eb67:/# sqlplus 

SQL*Plus: Release 12.1.0.2.0 Production on Sun Nov 27 17:53:48 2022

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: test01
Enter password: 

Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL> 
SQL> show user
USER is "TEST01"

附录

如何知道Oracle都有哪些内置的角色、内置的权限、角色下有什么权限?请看接下来本系列。

PS: connect 角色都有什么权限?

使用sys账号登录执行 select * from role_sys_privs where role='CONNECT'; (其他账号可能不一定能查出来)

可以看到除了create session外还有 set container

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值