oracle创建用户ORA-01045:user lacks CREATE SESSION privilege 及一些简单操作(one lesson)

scott用户成功连接数据库的具体方法:
1.grant connect, resource to scott;
2.grant
create session to scott;
3.cmd
4.sqlplus scott/tiger

Oracle的安全

1.用户管理

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

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

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

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

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

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

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

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

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

2.创建用户:
(注意:创建用户必须有dba的权限)

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

[default tablesapce 表空间名]

[temporary tablespace 临时表空间名]

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

3.查询用户:

其实就是对表user_users/dba_users/all_users进行查询, 只不过这里不把他们叫表,叫数据字典;而且数据字典是系统维护的;

4.修改用户:

alter user user_name identified by user_key;

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。

5.限制用户

锁定: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;

当用户创建了很多表,如果直接删除用户,它下面的表都将被删除,所以我们可以只使得它的口令无效;

可见,表是用户的手下,用户没了,用户创立的表,占用的空间都就没了;所以,一般情况下,我们不要删除用户;

6.删除用户

drop user 用户名[cascade]

cascade是强制删除,即使有别人正在用这个用户的表;数据库管理语句是自动结束事务的,没有rollback的机会;

7.权限管理

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

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

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

8.数据字典:user_sys_privs

select * from user_sys_privs

9.权限收回

revoke 权限列表 on 表 from 用户;

SQL> revoke create table from iam;

撤销成功。

撤消只是撤消本次授权的权限,所以如果某个用户原来就有某个权利,而你又给它授了同样的一个权利,然后你收回这个权限的时候,它原来就具有的这个权利还是有的;

10.角色管理

因为一个用户可能需要某些权限的集合,当我们得到一新的用户的时候,我们需要给一个

用户依次授权每个它需要的权限;角色正是一个权限的集合,用户可以直接被授予这个

角色,用户自然就拥有了它的角色所拥有的权利;

11.创建角色:

create role 角色名 [no identified|identified by 口令|externally]

not identified:指出授予该角色的用户在使用时不需要检验; identified
by:指出授予该角色的用户在使用set role命令时需要检验

12.收回权限:

revoke 权限 from 角色名;

角色就是权限的集合;

实例:

create role role_name;

grant create table,create session,create view to role_name;

grant role_name to scott;

revoke create view from role_name;

角色的某个权限被收回的时候,被授予该角色的用户的该权限也相应被收回

13.锁定表的方法

select * from scott.emp for update;

14.更改日期格式

alter session set nls_data_format=‘yyyy--mm--dd hh24:mi:ss‘;

15.增加工资

sal=500;
select ename,sal,sal(1+0.2)/sal+100 新工资 from scott.emp;

16.alter的作用

alter
 主要在增加列

17.实例的启动

sqlplus /nolog
conn / as sysdba
startup nomount

18.清屏
clear
screen/scr

F:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN

F:\app\Administrator\oradata\orcl\users01.dbf

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege
及一些简单操作(one lesson),码迷,mamicode.com

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege
及一些简单操作(one lesson)

时间: 2024-10-07 06:33:10

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege 及一些简单操作(one lesson)的相关文章

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege;

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, reso

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege;logon denied..的问题

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 原因: 用户至少需要会话的权利,否则连接也不成功: 用户在会话的权利上,应该有其他操作的权利: 解决方法:  www.2cto.com 1 grant

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

错误 在删除一个用户TEST的情况下,再次新建用户TEST并赋予sysdba权限,使用plsqldev工具登录数据库TEST用户,报错user TEST  lacks CREATE SESSION privilege logon denied,如下图. 解决办法 使用超级管理员给这个用户赋予一个CREATE SESSION权限即可. grant create session to TEST; Next 原文地址:https://www.cnblogs.com/jixue/p/10417327.h

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

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

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

MSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND  DEFAULT TABLESPACE "TBS_DNINMSV31"  TEMPORARY TABLESPACE "TEMP2"  QUOTA UNLIMITED ON "TBS_DNINMSV31"; GRANT "CONNECT" TO NORTHBOUND; ALTER USER NO

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

oracle创建用户.授予权限及删除用户 创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 204

Oracle 创建用户并且授权

以sysdba登陆 创建用户:CREATE USER username IDENTIFIED BY password; 授予(角色)权限:GRANT CONNECT,RESOURCE TO username; 注:oracle有三类标准角色:CONNECT,RESOURCE,DBA 当然用户自己(只要拥有权限),可以自己创建角色并赋予相应权限. Oracle 创建用户并且授权,布布扣,bubuko.com

oracle创建用户赋予权限

oracle用户创建及权限设置[转载] 权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password SQL

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

原文:oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步:连接超级管理员sysdba,语句sqlplus / as sysdba; 第三步:(假设连接成功)  输入conn / as sysdba; 第四步:(显示连接成功)create user bony identified by b123; 第五步:grant resource,connect to bony; 第六步:conn bony/b123