conn internal/oracle

grant user aaaa identified by aaaa;

conn aaaa/aaaa 会报错:

SQL>conn aaaa/aaaa 会报错:

ERROR:

ORA-01045: user aaaa lacks CREATE SESSION privilege; logon denied

原因:

用户至少需要会话的权利,否则连接也不成功;

用户在会话的权利上,应该有其他操作的权利;

解决方法:  1

grant connect, resource to aaaa;

2

grant create session to aaaa;

Oracle的安全

第一:用户管理*******************************************

用户至少需要会话的权利,否则连接也不成功;

用户在会话的权利上,应该有其他操作的权利;

Oracle的用户和口令不区分大小写,真是让人大跌眼镜;

Oralce中,所有用户必须明确被授权,才可以操作;

SQL Server中,创建的用户自动就拥有了一些权限;

Oracle不依赖操作系统;SQL Server依赖Windows;

MicroSoft假定大多数用户都是合法用户,采取乐观态度;

Oracle首先假定用户都是不安全的,采取悲观态度;

Oracle中的用户是互相隔离的,称为用户模式;

内置用户:

sys,网络管理员,最高权限;

当你试图输入了用户名:sys

密码:通用

之后,你发现连接不上;

而输入 用户名:system

密码:通用

或者  用户名:scott

密码:tiger

的时候都可以连接,所以你认为

sys的权限没有system高;

其实正是因为sys的权限高,所以你必须以

dba的身份来登陆:sys/通用 as sysdba

//可以使用数据字典user_users来查看当前用户管理的用户:

select * from user_users;

而dba_users可以查看dba管理的用户;

system,只管理本机上的数据库

而all_users查看所有用户,只能由dba来查看;

******创建用户:

create user 用户名 identified by 口令 [externally]

[default tablesapce 表空间名]

[temporary tablespace 临时表空间名]

[quota 整数 K|M|unlimited on 表空间名]

//注意:创建用户必须有dba的权限;

******查询用户:

其实就是对表user_users/dba_users/all_users进行查询,

只不过这里不把他们叫表,叫数据字典;而且数据字典是系统

维护的;

*******修改用户:

alter user.....//后面和创建一样;

Oracle中一个实例就是一个数据库,这个数据库相当与SQL Server的全部数据库;

Oracle的一个数据库被分为很多个表空间,每个表空间相当于SQL Server中的一个数据库;

实例演示:

create user student_user

identified by student

default tablespace users

temporary tablespace temp

quota 5m on users

quota 3m on temp

/其中,users,temp都是内置的表空间,student_user在users里有5m空间,在temp里有3m;

新创建的用户是没有权利的:

SQL> conn student_user/student;

ERROR:

ORA-01045: user STUDENT_USER lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到 ORACLE。

*****限制用户

锁定:alter user 用户名 account lock;

效果:

SQL> alter user student_user account lock;

用户已更改。

SQL> conn student_user/student;

ERROR:

ORA-28000: the account is locked

警告: 您不再连接到 ORACLE。

解锁:alter user 用户名 account unlock;

口令无效:alter 用户名 password expire; 当用户创建了很多表,

如果直接删除用户,它下面的表都将被删除,所以我们可以

只使得它的口令无效;

//可见,表是用户的手下,用户没了,用户创立的表,占用的空间都就没了;

//所以,一般情况下,我们不要删除用户;

****删除用户:

drop user 用户名[cascade]

//cascade是强制删除,即使有别人正在用这个用户的表;

//数据库管理语句是自动结束事务的,没有rollback的机会;

第二:权限管理***********************************************

授权:grant [系统特权名] [角色] [on 被授权操作表名] to [用户名列表]

[public][with admin option]

如果是dcl语句,就不用on 被授权操作表名

grant all on student to public:把对student的所有权限授予所有用户;

数据字典:user_sys_privs

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege;的更多相关文章

  1. Oracle错误——user ** lacks CREATE SESSION privilege logon denied

    错误 在删除一个用户TEST的情况下,再次新建用户TEST并赋予sysdba权限,使用plsqldev工具登录数据库TEST用户,报错user TEST  lacks CREATE SESSION p ...

  2. ORA-01045: user XXZY lacks CREATE SESSION privilege; logon denied

    在创建用户时,一般我们都分配connect.dba.resource 角色,但是,为什么登陆时还报错呢 原因:用户角色没有激动 解决:ALTER USER XXXX DEFAULT ROLE &quo ...

  3. Oracle创建用户、表(1)

    Oracle创建用户.表(1) 1. 连接 C:\Users\LEI>sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on ...

  4. Oracle创建用户并给用户授权查询指定表或视图的权限

    MSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND  DEFAULT TABLESPACE "TBS_DN ...

  5. oracle创建用户、授予权限及删除用户

    创建用户   oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users;   //创建临时表空间 create temporary ta ...

  6. oracle创建用户赋予权限

    oracle用户创建及权限设置[转载] 权限: create session create table unlimited tablespace connect resource dba 例: #sq ...

  7. 详解Oracle创建用户权限全过程

    本文将介绍的是通过创建一张表,进而实现Oracle创建用户权限的过程.以下这些代码主要也就是为实现Oracle创建用户权限而编写,希望能对大家有所帮助. 注意:每条语语分开执行,结尾必须用分号; // ...

  8. oracle 创建用户,授权用户,创建表,查询表

    原文:oracle 创建用户,授权用户,创建表,查询表 oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步 ...

  9. oracle创建用户四部曲

    创建用户一般分四步: 第一步:创建临时表空间 第二步:创建数据表空间 第三步:创建用户并制定表空间 第四步:给用户授予权限 创建临时表空间 create temporary tablespace ho ...

随机推荐

  1. 前端开发本地存储之localStorage和sessionStorage

    1.localStorage 概念 HTML5 web 存储:HTML5 提供了两种在客户端存储数据的新方式:localStorage 和 sessionStorage ,两者都是仅在客户端(即浏览器 ...

  2. SVG开发包, 20 个有用的 SVG 工具,提供更好的图像处理

    20 个有用的 SVG 工具,提供更好的图像处理 SVG 现正在 Web 设计领域变得越发流行, 你可以使用 Illustrator 或者 Inkscape 来创建 SVG 图像. 但当进行 Web ...

  3. leetcode-解题记录 771. 宝石与石头

    题目: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字符 ...

  4. mockito测试入门学习

    一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. 一种替代方案就是使用mocks 从图 ...

  5. linux中yum install 命令无效

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lx_Frolf/article/deta ...

  6. webpack请求文件路径代理

    在开发模式下,访问页面请求会跑到根路径,因为写的都  ./images  而index又在根目录, 所以访问地址会是 http://localhost:8080/images/abc.jpg  而实际 ...

  7. Ajax跨域(CROS)请求中的Preflighted requests

    Ajax跨域(CROS)请求中的Preflighted requests:https://www.aliyun.com/jiaocheng/862989.html 10 分钟理解跨域请求:https: ...

  8. Java_2.Java编程规范

    Java源程序有一些约定俗成的命名规定,如下: 包名:全小写名词,如java.util.List 类名:首字母大写,通常由多个单词合成一个类名,每个首字母都大写,如StudentServiceImpl ...

  9. python小学堂-基础调用

    tem='xiaoq {0}iang'print(tem.capitalize())#首字母大学print(tem.center(30)) #居中显示iprint(tem.endswith(" ...

  10. jumpserver4.0centos7安装步骤

    一步一步安装(CentOS) 测试推荐环境 CPU: 64位双核处理器 内存: 4G DDR3 数据库:mysql 版本大于等于 5.6 mariadb 版本大于等于 5.5.6 环境 系统: Cen ...