oracle(19c)用户管理
简介
本文介绍 Oracle 中的用户管理,包含以下内容:
-
概念介绍
-
系统用户
-
解锁 hr 用户
-
创建用户
-
用户相关案例
-
使用 Profile 管理用户口令
-
Oracle 的认证方式
-
重置管理员(sys)密码
1. 概念介绍
使用前可以自行安装oracle数据库
oracle19c安装(centos7)
https://blog.csdn.net/houduanq/article/details/140907205
-
Oracle 中可以创建多个 Database 实例,而每个实例下可以创建多个用户和表空间;
-
多个用户可以对同一个表空间进行管理;
-
一个数据库实例中的用户名不能重复;
2. 系统用户
当数据库服务器安装完成后,并创建数据库实例后,就会默认创建:sys、system、scott 等用户。sys、system 用户具有对数据库操作的最高权限,以下是这三个用户的对比:
用户 | 描述 | 默认密码 | 角色 |
---|---|---|---|
sys | 1. 超级管理员用户(相当于 mssql sa;mysql root); 2. 具有 Oracle 的最高权限; 3. 具有创建数据库的权限; 4. 可以更改 system 或其他普通用户的密码。 | 19c需自己设置 | sysdba |
system | 1. 操作管理员用户; 2. 权限仅次于 sys; 3. 没有创建数据库的权限,其他与 sys 相同; 4. 可以更改 sys 或其他普通用户的密码。 | 19c需自己设置 | sysoper |
hr | 1.普通用户; 2. 该用户默认是锁定的,可以用 system 去进行解锁; | hr |
注:sys和system密码安装时创建的
注:一般数据库维护,使用 system 用户登录即可。
3. 解锁 hr 用户
hr 是 Oracle(19c) 自带的一个普通用户,默认情况下该用户是被锁定的(不能登录),我们需要使用该用户时就需要进行解锁。下面是解锁步骤:
-
打开 shell 命令终端
-
sqlplus /nolog
-
conn sys/1 as sysdba #使用 sys 超级管理员登录
-
alter user scott account unlock; #解锁 scott 用户
-
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天内不允许登陆。
- 创建 Profile 对象
create profile profile1 limit failed_login_attempts 3 password_lock_time 2;
创建成后会在 Profiles(配置) 文件夹下多一个 profile1,编辑可以看到以上内容。
- 将 profile1 对象应用于指定用户
alter user hr profile profile1;
- 使用 scott 用户登录
conn hr/hr@db2 #连续三次失败,将看到如下提示ORA-28000: the account is locked
- 然后,可以使用 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)是一种轻量级的数据交换格式,它使用键值对的形式来表示数据ÿ…...
补充:关于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 问题:父元素中添加了一个click事件,其下面的子元素中也添加了click事件,此时,我想点击子元素获取子元素的点击事件,但却触发的是父元素的事件: <view …...

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

安卓将子模块打aar包,并将其远程依赖打包进去
生成 AAR 包 在Android Studio Terminal 窗口输入以下命令: ./gradlew :monitor:assembleRelease把 monitor 换成你子模块的名称,不出意外的话 就会在下面目录生成相应aar文件 注意:如果你的Java运行环境是Java 8 则在老一点的AS上 可以运…...
程序代码篇---Python串口
在 Python 里,serial库(一般指pyserial)是串口通信的常用工具。下面为你介绍其常用的读取和发送操作函数及使用示例: 1. 初始化串口 要进行串口通信,首先得对串口对象进行初始化,代码如下: i…...

Keil开发STM32生成hex文件/bin文件
生成hex文件生成bin文件 STM32工程的hex文件和bin文件都可以通过Keil直接配置生成 生成hex文件 工程中点击魔术棒,在 Output 中勾选 Create HEX File 选项,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下供应链与开源治理实践
项目背景:近年来,云计算、AI人工智能、大数据等信息技术的不断发展、各行各业的信息电子化的步伐不断加快、信息化的水平不断提高,网络安全的风险不断累积,金融证券行业面临着越来越多的威胁挑战。特别是近年以来,开源…...
ReLU 新生:从死亡困境到强势回归
背景 在深度学习领域,激活函数的探索已成为独立研究课题。诸如 GELU、SELU 和 SiLU 等新型激活函数,因具备平滑梯度与出色的收敛特性,正备受关注。经典 ReLU 凭借简洁性、固有稀疏性及其独特优势拓扑特性,依旧受青睐。然而&#…...
OkHttp 3.0源码解析:从设计理念到核心实现
本文通过深入分析OkHttp 3.0源码,揭示其高效HTTP客户端的实现奥秘,包含核心设计理念、关键组件解析、完整工作流程及实用技巧。 一、引言:为什么选择OkHttp? 在Android和Java生态中,OkHttp已成为HTTP客户端的标准选择…...
Spring中循环依赖问题的解决机制总结
一、解决机制 1. 什么是循环依赖 循环依赖是指两个或多个Bean之间相互依赖对方,形成一个闭环的依赖关系。最常见的情况是当Bean A依赖Bean B,而Bean B又依赖Bean A时,就形成了循环依赖。在Spring容器初始化过程中,如果不加以特殊…...

一站式直播工具:助力内容创作者高效开启直播新时代
近年来,随着互联网技术的不断进步和短视频、直播行业的爆发式增长,越来越多的企业和个人投入到直播电商、互动娱乐、在线教育等场景。直播运营过程中,涉及到数据统计、弹幕互动、流程自动化、内容同步等诸多环节。如何提升运营效率、减少人工…...
多模型协同:基于 SAM 分割 + YOLO 检测 + ResNet 分类的工业开关状态实时监控方案
一、技术优势与适配性分析 1. 任务分工的合理性 YOLO(目标检测) 核心价值:快速定位工业开关在图像中的位置(边界框),为后续分割和分类提供ROI(感兴趣区域)。工业场景适配性…...

【SSM】SpringBoot笔记2:整合Junit、MyBatis
前言: 文章是系列学习笔记第9篇。基于黑马程序员课程完成,是笔者的学习笔记与心得总结,供自己和他人参考。笔记大部分是对黑马视频的归纳,少部分自己的理解,微量ai解释的内容(ai部分会标出)。 …...