当前位置: 首页 > news >正文

oracle(19c)用户管理

简介

本文介绍 Oracle 中的用户管理,包含以下内容:

  1. 概念介绍

  2. 系统用户

  3. 解锁 hr 用户

  4. 创建用户

  5. 用户相关案例

  6. 使用 Profile 管理用户口令

  7. Oracle 的认证方式

  8. 重置管理员(sys)密码

1. 概念介绍

使用前可以自行安装oracle数据库
oracle19c安装(centos7)

https://blog.csdn.net/houduanq/article/details/140907205
  1. Oracle 中可以创建多个 Database 实例,而每个实例下可以创建多个用户和表空间;

  2. 多个用户可以对同一个表空间进行管理;

  3. 一个数据库实例中的用户名不能重复;

2. 系统用户

当数据库服务器安装完成后,并创建数据库实例后,就会默认创建:sys、system、scott 等用户。sys、system 用户具有对数据库操作的最高权限,以下是这三个用户的对比:

用户描述默认密码角色
sys1. 超级管理员用户(相当于 mssql sa;mysql root);
2. 具有 Oracle 的最高权限;
3. 具有创建数据库的权限;
4. 可以更改 system 或其他普通用户的密码。
19c需自己设置sysdba
system1. 操作管理员用户;
2. 权限仅次于 sys;
3. 没有创建数据库的权限,其他与 sys 相同;
4. 可以更改 sys 或其他普通用户的密码。
19c需自己设置sysoper
hr1.普通用户;
2. 该用户默认是锁定的,可以用 system 去进行解锁;
hr

注:sys和system密码安装时创建的

注:一般数据库维护,使用 system 用户登录即可。

在这里插入图片描述

3. 解锁 hr 用户

hr 是 Oracle(19c) 自带的一个普通用户,默认情况下该用户是被锁定的(不能登录),我们需要使用该用户时就需要进行解锁。下面是解锁步骤:

  1. 打开 shell 命令终端

  2. sqlplus /nolog

  3. conn sys/1 as sysdba #使用 sys 超级管理员登录

  4. alter user scott account unlock; #解锁 scott 用户

  5. conn hr/hr

在这里插入图片描述

4. 创建用户

语法:

create user ljjbb identified by pwdforljbb[default tablespace ts_name][temporary tablespace temp_ts_name][quota 200m on ts_name];

解释如下:

identified by: 设置 ljbb 用户的登录密码;default tablespace: 指定该用户创建的表存放的表空间;temporary tablespace: 指定该用户创建的临时表存放的表空间;quota 200m on: 表名该用户创建的数据对象(表,索引,视图,pl/sql块)最大只能为200m;

1) 创建用户

conn system/1@o19c;  #以 SYS、SYSTEM 用户登录,其他用户没有权限create user ljbb identified by pwdforljbb@abd123;或者(指定默认存放的表空间)create user learn identified by learnpwd default tablespace myts01;

2) 删除用户

drop user learn [cascade];cascaed 参数:表示级联删除。当删除的用户下没有数据对象(表、视图等)时,该参数可选;否则必须指定该参数。

5. 用户相关案例

以 ljbb 用户为例。

1) 创建表

create table stud(id number, name varchar(20));

2) 创建并打开 SQL 脚本文件

edit /ljbb/oracle/sql/insert_stud.sql写入 insert 语句:insert into stud values(1, '张三');insert into stud values(2, '李四');commit;            #注意:一定要加提交命令

3) 执行 SQL 脚本文件

start /ljbb/oracle/sql/insert_stud.sql
select * from stud;

4) 锁定用户

alter user ljbb account unlock;

5) 删除用户

drop user ljbb cascade;

6) 查询用户

SELECT * FROM dba_users;                                  --查询所有用户
SELECT * FROM all_users;                                  --查询所有用户

6. 使用 Profile 管理用户口令

我们可以把 Profile 理解为一个数据对象(文件或规则),使用 DBeaver 以 system 用户登录,可以看到 Profiles(配置) 文件夹下已经有了默认的安全策略:
在这里插入图片描述

1) 限制用户恶意登录

语法:create profile profile_name limit failed_login_attempts 3 password_lock_time 2;
解释:3表示最多允许3次尝试;2表示锁定的时间(天)

案例: 允许某用户最多尝试登陆3次,如果3次都登陆失败,则锁定该用户,并且锁定后2天内不允许登陆。

  1. 创建 Profile 对象
create profile profile1 limit failed_login_attempts 3 password_lock_time 2;

在这里插入图片描述
创建成后会在 Profiles(配置) 文件夹下多一个 profile1,编辑可以看到以上内容。

  1. 将 profile1 对象应用于指定用户
alter user hr profile profile1;

在这里插入图片描述

  1. 使用 scott 用户登录
conn hr/hr@db2            #连续三次失败,将看到如下提示ORA-28000: the account is locked
  1. 然后,可以使用 system 用户进行解锁
alter user hr account unlock;

2) 限制口令的使用期限

语法: create profile profile_name limit password_life_time 10 password_grace_time 2;

案例: 对某个用户的密码做出限制,最多使用10天,宽限期为2天,到时必须修改密码。

1、创建 Profile 对象

create profile profile2 limit password_life_time 10 password_grace_time 2;

在这里插入图片描述
创建成后会在 Profiles 文件夹下多一个 profile1,编辑可以看到以上内容。

2、将 profile2 对象应用于指定用户

alter user hr profile profile2;

3、hr用户 10天后登录(测试可以修改数据库服务器时间)

conn hr/hr@o19c;ORA-28002: the password will expire within 2 days #密码将在2天内过期

4、scott 用户 12天后登录(测试可以修改数据库服务器时间)

conn hr/hr@o19c;ORA-28001: the password has expired        #密码已过期

提示:需要重新设置新密码,但前提是旧密码一定要正确

3) 删除 Profile

drop profile profile1 cascade;         #cascade 表示级联删除(有用户关联时)

7. Oracle 的认证方式

Oracle 有两种认证方式:

1. 操作系统认证

类似于 SQL Server 中的以 Windows 方式登录。

该认证方式只能登录到服务器中进行,直接认证操作系统登录用户是否隶属于 dba 组中,该用户组表示为 Oracle DBA Group(即:数据库管理员),如图(计算机管理 -> 本地用户和组):
在这里插入图片描述
在 Oracle 安装前需要创建 dba、oinstall 这两个组。所以,在服务器中登录,可以直接使用 as sysdba,而不会验证用户名和密码,该认证方式的用户称为特权用户。登录例如:

conn abcdef/aaabbb@db2 as sysdba #错误的用户名和密码也能登录成功

2. 数据库认证(用户密码认证)

类似于 SQL Server 中以 sa(用户名) + 密码的方式登录,该认证方式的用户成为普通用户,登录例如:conn hr/hr@db2

8. 重置管理员(sys)密码

有时候我们有可能忘记了 Oracle 数据库的管理员(sys)的密码,这时我们该怎么重置呢?下面是具体的操作步骤:

linux(19c)

1、停止数据库实例
– 这通常通过运行数据库管理工具或使用命令行实用程序来完成,例如使用SQL*Plus:

sqlplus / as sysdba
SQL> shutdown immediate;

在这里插入图片描述

2、以启动模式启动实例
– 这通常通过运行数据库管理工具或使用命令行实用程序来完成,例如使用SQL*Plus:

SQL> startup mount;

在这里插入图片描述
3、打开数据库

SQL> ALTER DATABASE OPEN;

在这里插入图片描述

4、重置SYS用户密码
使用SQL*Plus连接到数据库:

SQL> ALTER USER sys IDENTIFIED BY new_password;
注意将new_password替换为您想要设置的新密码

在这里插入图片描述
5、登录数据库

 conn sys/new_password as SYSDBA

在这里插入图片描述

window

1、生成新的密码文件,打开 dos 窗口执行以下命令:

C:\Users\Administrator>orapwd file=D:\oracle\product\11.2.0\dbhome_1\database\PWDorcl.ora password=syspwd entries=10

解释:password 表示新密码;entries 表示允许多少个客户端同时连接 Oracle 服务器。

2、重启 Oracle,使新密码生效

相关文章:

oracle(19c)用户管理

简介 本文介绍 Oracle 中的用户管理,包含以下内容: 概念介绍 系统用户 解锁 hr 用户 创建用户 用户相关案例 使用 Profile 管理用户口令 Oracle 的认证方式 重置管理员(sys)密码 1. 概念介绍 使用前可以自行安装oracle数据库 oracle19c安装&a…...

浅谈安科瑞智慧用电系统在电气火灾中的应用

摘要:为了对电气火灾事故进行预测和预警,同时为了对电气火灾事故的应急救援提供 支持,将智慧用电监控系统应用于电气火灾中。该系统利用物联网、移动互联网、云平台、大数据技术,实现对电气线路电流、漏电、温度、谐波等参数进行…...

【Material-UI】Button 组件中的尺寸设置(Sizes)详解

文章目录 一、基础尺寸选项1. 小尺寸(Small)2. 中等尺寸(Medium)3. 大尺寸(Large) 二、尺寸的应用场景三、高级用法和最佳实践1. 使用主题调整默认尺寸2. 确保一致性3. 考虑无障碍设计 四、总结 在用户界面…...

Java学习Day20

Vue学习 nodejs的安装与环境配置 1.直接去官网下载合适版本的nodejs( https://nodejs.org/zh-cn/download/prebuilt-installer) 2.解压下载的安装包,将文件路径配置到系统变量的path中,然后确认后退出。可以使用终端来查看安装的nodejs版本。使用winR…...

代理IP怎么弄,如何在电脑中设置IPXProxy代理IP?

随着互联网的不断普及,人们可以利用网络在不同的领域实现更多的可能性。在这个过程中,许多新型网络技术受到人们的关注,代理IP就是其中之一。使用代理IP可以隐藏真实的IP地址,帮助我们突破网络限制、保护隐私、进行网页抓取等一系…...

MacOS 查看端口命令

netstat 命令 查看所有监听的端口 netstat -nat | grep LISTEN 查看9000端口 netstat -nat | grep 9000 # 示例输出 tcp4 0 0 127.0.0.1.9000 *.* LISTEN lsof 命令 查看所有TCP监听的端口 lsof -n -P -i TCP -s TCP:LISTEN 参…...

【python】序列化与反序列化

序列化与反序列化 JSON、CSV和YAML都是常见的数据序列化和反序列化格式。它们都可以用于将数据从一种表示形式转换为另一种表示形式。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使用键值对的形式来表示数据&#xff…...

补充:关于GRU的详细运作原理以及特殊的优化思路

1. GRU的基本结构和运作原理 1.1 GRU的基本概念 Gated Recurrent Unit (GRU) 是一种简化版的循环神经网络 (RNN),它通过引入门控机制来解决长期依赖问题,同时减少参数数量以降低计算复杂度。 1.2 GRU的结构详解 GRU 包含两个门控机制:更新门 (update gate) 和重置门 (re…...

xxl-job 源码梳理(2)-服务端

目录 1. 控制面的接口2.手动触发任务2. 定时任务的实现 1. 控制面的接口 服务端包含xxl-job的管理端,页面上的接口后端一系列的controller接口 appName是一个核心概念,它是指执行器应用的名称,appName是执行器的唯一标识 页面上的接口&#…...

C++ GDl+ 多张图片合并生成GIF动画格式图片

使用ImageMagick多张图合成GIF。 1、工具下载安装 下载地址:ImageMagick – Download,windows下载版本如下: 下载后,安装,安装时选择为C/C安装动态库和头文件。 2、代码实现 附加包含目录:ImageMagick-7.…...

【C++】模拟实现list

🦄个人主页:修修修也 🎏所属专栏:实战项目集 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目及其功能 📌了解list官方标准 了解模拟实现list 📌了解更底层的list实现 二.list迭代器和vector迭代器的异同 📌迭…...

怎么使用git merge合并两个分支?

在Git中,git merge命令用于将两个或多个开发历史(通常指分支)合并到一起。以下是一个基本的步骤指南,说明如何使用git merge来合并两个分支。 ### 前提条件 - 确保你已经安装了Git,并且熟悉基本的Git命令,如…...

ios 5.5寸、ipad13英寸如何截屏

ios上架的时候,你可能会发现,上架需要ios 5.5寸,ipad需要13英寸的屏幕截屏。 但是尴尬了,我们手头上的手机,可能是最新的iphone 15,并没有远古时代iphone 8 plus的5.5寸,那么我们该如何截屏呢&…...

spdlog日志库--输出格式(fmt 库集成)

系列目录 spdlog日志库–基础介绍 spdlog日志库–源码解析 文章目录 1. 格式输出fmt格式输出2. format_spec 格式空间正数和负数的格式#号控制输出格式3. %s占位符 切换 {}占位符 (fmtlib(fmt::format)){}占位符 -> %s等占位符%s占位符 -> {}占位符4. 不使用占位符({}、%…...

Docker简介 MacM1安装Docker

文章目录 1 Docker简介2 Docker VS 虚拟机1 Docker优势2 Docker用途 3 MacM1 下载安装Docker1 配置环境变量 4 配置Docker2 设置Docker资源3 设置Docker镜像 参考 1 Docker简介 Docker主要解决了软件开发和运行配置的问题,但是由于其功能的强大,也被应用…...

【Linux】yum软件包管理器(使用、生态、yum源切换)

目录 1.yum-软件包管理器😸1.1yum使用方法1.2什么是yum?😸1.3yum的周边生态1.4yum源切换1.4.1 查看系统本身yum源1.4.2 软件源1.4.3yum源配置 1.yum-软件包管理器 以下操作需要联网的情况下进行 😸1.1yum使用方法 安装软件时由于需…...

群晖NAS安装Video Station结合内网穿透实现远程访问本地存储的影音文件

文章目录 前言1.使用环境要求:2.下载群晖video station:3.公网访问本地群晖video station:4.公网条件下访问本地群晖video station5.公网条件下使用移动端(安卓,ios等系统)访问本地群晖video station 前言 …...

Vue中@click.stop与@click.prevent

Vue中click.stop与click.prevent 一、click.stop 问题&#xff1a;父元素中添加了一个click事件&#xff0c;其下面的子元素中也添加了click事件&#xff0c;此时&#xff0c;我想点击子元素获取子元素的点击事件&#xff0c;但却触发的是父元素的事件&#xff1a; <view …...

沐风老师3DMax对象随机颜色插件使用方法

3DMax对象随机颜色插件使用教程 3DMax对象颜色插件,是一个功能强大的脚本,它通过提供高级工具来操纵场景中的对象颜色、材质和实例,从而增强了3D设计师和艺术家的工作流程。这个多功能脚本提供了一系列功能,旨在简化对象、组和实例的着色过程。 3DMAX对象颜色插件主要具有…...

安卓将子模块打aar包,并将其远程依赖打包进去

生成 AAR 包 在Android Studio Terminal 窗口输入以下命令&#xff1a; ./gradlew :monitor:assembleRelease把 monitor 换成你子模块的名称&#xff0c;不出意外的话 就会在下面目录生成相应aar文件 注意&#xff1a;如果你的Java运行环境是Java 8 则在老一点的AS上 可以运…...

程序代码篇---Python串口

在 Python 里&#xff0c;serial库&#xff08;一般指pyserial&#xff09;是串口通信的常用工具。下面为你介绍其常用的读取和发送操作函数及使用示例&#xff1a; 1. 初始化串口 要进行串口通信&#xff0c;首先得对串口对象进行初始化&#xff0c;代码如下&#xff1a; i…...

Keil开发STM32生成hex文件/bin文件

生成hex文件生成bin文件 STM32工程的hex文件和bin文件都可以通过Keil直接配置生成 生成hex文件 工程中点击魔术棒&#xff0c;在 Output 中勾选 Create HEX File 选项&#xff0c;OK保存工程配置 编译工程通过后可以看到编译输出窗口有创建hex文件的提示 默认可以在Output文…...

C++.OpenGL (12/64)光照贴图(Lightmaps)

光照贴图(Lightmaps) 静态光照烘焙技术 #mermaid-svg-1vJKLLr1zSCp1ASH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1vJKLLr1zSCp1ASH .error-icon{fill:#552222;}#mermaid-svg-1vJKLLr1zSCp1ASH .error-text…...

2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践

项目背景&#xff1a;近年来&#xff0c;云计算、AI人工智能、大数据等信息技术的不断发展、各行各业的信息电子化的步伐不断加快、信息化的水平不断提高&#xff0c;网络安全的风险不断累积&#xff0c;金融证券行业面临着越来越多的威胁挑战。特别是近年以来&#xff0c;开源…...

ReLU 新生:从死亡困境到强势回归

背景 在深度学习领域&#xff0c;激活函数的探索已成为独立研究课题。诸如 GELU、SELU 和 SiLU 等新型激活函数&#xff0c;因具备平滑梯度与出色的收敛特性&#xff0c;正备受关注。经典 ReLU 凭借简洁性、固有稀疏性及其独特优势拓扑特性&#xff0c;依旧受青睐。然而&#…...

OkHttp 3.0源码解析:从设计理念到核心实现

本文通过深入分析OkHttp 3.0源码&#xff0c;揭示其高效HTTP客户端的实现奥秘&#xff0c;包含核心设计理念、关键组件解析、完整工作流程及实用技巧。 一、引言&#xff1a;为什么选择OkHttp&#xff1f; 在Android和Java生态中&#xff0c;OkHttp已成为HTTP客户端的标准选择…...

Spring中循环依赖问题的解决机制总结

一、解决机制 1. 什么是循环依赖 循环依赖是指两个或多个Bean之间相互依赖对方&#xff0c;形成一个闭环的依赖关系。最常见的情况是当Bean A依赖Bean B&#xff0c;而Bean B又依赖Bean A时&#xff0c;就形成了循环依赖。在Spring容器初始化过程中&#xff0c;如果不加以特殊…...

一站式直播工具:助力内容创作者高效开启直播新时代

近年来&#xff0c;随着互联网技术的不断进步和短视频、直播行业的爆发式增长&#xff0c;越来越多的企业和个人投入到直播电商、互动娱乐、在线教育等场景。直播运营过程中&#xff0c;涉及到数据统计、弹幕互动、流程自动化、内容同步等诸多环节。如何提升运营效率、减少人工…...

多模型协同:基于 SAM 分割 + YOLO 检测 + ResNet 分类的工业开关状态实时监控方案

一、技术优势与适配性分析 1. 任务分工的合理性 YOLO&#xff08;目标检测&#xff09; 核心价值&#xff1a;快速定位工业开关在图像中的位置&#xff08;边界框&#xff09;&#xff0c;为后续分割和分类提供ROI&#xff08;感兴趣区域&#xff09;。工业场景适配性&#xf…...

【SSM】SpringBoot笔记2:整合Junit、MyBatis

前言&#xff1a; 文章是系列学习笔记第9篇。基于黑马程序员课程完成&#xff0c;是笔者的学习笔记与心得总结&#xff0c;供自己和他人参考。笔记大部分是对黑马视频的归纳&#xff0c;少部分自己的理解&#xff0c;微量ai解释的内容&#xff08;ai部分会标出&#xff09;。 …...