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

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 【Oracle系列1】Oracle 的connect角色和create session权限的区别,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

【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

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135042.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!