Oracle(15)Managing Users

目录

一、基础知识

[1、Users and Security 用户和安全](#1、Users and Security 用户和安全)

[2、Database Schema](#2、Database Schema)

[3、Checklist for Creating Users创建用户步骤](#3、Checklist for Creating Users创建用户步骤)

二、基础操作

1、创建一个用户

[2、OS Authentication 操作系统身份验证](#2、OS Authentication 操作系统身份验证)

[3、Dropping a User 删除用户](#3、Dropping a User 删除用户)

[4、Getting User Information 获取用户信息](#4、Getting User Information 获取用户信息)


Managing Users 管理用户

目标:

  • 创建新的数据库用户
  • 更改和删除现有数据库用户
  • 监视现有用户的信息
  • 获取用户信息

一、基础知识

1、Users and Security 用户和安全

2、Database Schema

  • A schema is a namedcollection of objects.架构是一个命名的对象集合
  • A user is created,and acorresponding schemais created.创建一个用户,并创建相应的模式。
  • A user can beassociated with onlyone schema.一个用户只能与一个架构相关联。
  • Username and schemaare often used interchangeably.用户名和schemaare 经常互换使用。

3、Checklist for Creating Users创建用户步骤

  • 确定用户必须存储对象的表空间
  • 决定每个表空间的配额
  • 指定默认表空间和临时表空间
  • 创建一个用户
  • 将权限和角色授予用户

二、基础操作

1、创建一个用户

需要提前按照基础知识中的第三步明确操作步骤

代码格式如下:

sql 复制代码
CREATE USER 用户名
IDENTIFIED BY 用户的密码(这里可能会因为密码过于简单而报错)
DEFAULT TABLESPACE 表空间的名字(这里是指定用户的默认表空间)
TEMPORARY TABLESPACE 临时表空间的名字(这里是指定用户的临时表空间);

注意:临时表空间如果不想指定可以不写,但是默认表空间得写

这个时候就已经创建用户成功了,但是还无法使用和这个用户登录,我们需要给这个用户权限

sql 复制代码
grant create session to 用户名;

2、OS Authentication 操作系统身份验证

  • OS_AUTHENT_PREFIX初始化参数指定用户名的格式
  • 默认为ops$
sql 复制代码
CREATE USER aaron
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE temp
QUOTA 15m ON data;

使用操作系统身份验证完整过程:

1、首先需要创建一个新用户(如果已经有其他用户也行)

创建用于的命令:

bash 复制代码
useradd 用户名

然后设置用户密码:

bash 复制代码
passwd 用户名

然后回车输入密码

2、进入数据库,使用sys用户登录

创建一个数据库用户:

sql 复制代码
CREATE USER OPS$用户名(跟刚刚创建的用户保持一致) 
IDENTIFIED EXTERNALLY 
default tablespace 表空间的名字;

给这个用户权限:

sql 复制代码
grant create session to OPS$用户名;

3、退出数据库,然后切换到上边所创建的用户中

bash 复制代码
su - 用户名

然后给这个用户设置Oracle的环境变量:

然后登录数据库:

bash 复制代码
sqlplus /

然后就会发现这个用户不需要密码和用户名的验证可以直接登录数据库,这就是操作系统身份验证。

当然使用最多的情况还是在数据库里面创建用户(基础操作:1 )的方法,操作系统身份验证不安全。

我们通常 在实际环境中需要关闭他

在sql中输入:show parameter auth可以查看

当前显示的是false是关闭的状态,在开发中只有需要的时候才打开使用,用完需要及时关闭。

3、Dropping a User 删除用户

  • 使用DROP命令删除用户。
    *

    sql 复制代码
    DROP USER 用户名;
  • 如果架构包含对象,则使用CASCADE子句删除架构中的所有对象。
    *

    sql 复制代码
    DROP USER 用户名 CASCADE;
  • 当前连接到Oracle服务器的用户不能被删除

要查看那些用户连接上来我们可以查看v$session这个动态视图

因为字段比较多,所以我们可以先试用DESC查看这个表的结构,然后选择我们需要的进行查询:

sql 复制代码
DESC v$session;

然后查看动态视图内的数据:

sql 复制代码
select sid, username, status from v$session;

如果你要删除的用户已经链接到服务器上我们需要先让他断开链接,然后在将他删除。

4、Getting User Information 获取用户信息

有关用户的信息可通过以下视图查询:

  • DBA_USERS
  • DBA_TS_QUOTAS
相关推荐
运维小文几秒前
服务器硬件介绍
运维·服务器·计算机网络·缓存·硬件架构
是安迪吖11 分钟前
nfs服务器
运维·服务器
鱼骨不是鱼翅13 分钟前
模拟回显服务器
运维·服务器
运维佬13 分钟前
CentOS 9 配置网卡
linux·centos
日里安27 分钟前
8. 基于 Redis 实现限流
数据库·redis·缓存
轩轩曲觞阁31 分钟前
Linux网络——网络初识
linux·网络
2401_8401922733 分钟前
python基础大杂烩
linux·开发语言·python
EasyCVR1 小时前
ISUP协议视频平台EasyCVR视频设备轨迹回放平台智慧农业视频远程监控管理方案
服务器·网络·数据库·音视频
weixin_438197381 小时前
K8S创建云主机配置docker仓库
linux·云原生·容器·eureka·kubernetes
Elastic 中国社区官方博客1 小时前
使用真实 Elasticsearch 进行更快的集成测试
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·集成测试