news 2026/9/16 17:46:19

oracle数据库操作系统认证的原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
oracle数据库操作系统认证的原理

Oracle 信任操作系统来验证用户身份,然后根据用户所属的操作系统组,自动授予其对应的数据库角色。

这个关联是在 Oracle 软件安装阶段 就确定下来的,具体过程如下:

  1. 编译时的硬编码映射
    在 Oracle 软件安装的最后阶段,会运行一个脚本 (root.sh) 来以 root 权限执行一些操作。其中一部分工作就是编译一个特定的 C 语言文件:ORACLEHOME/rdbms/lib/config.c。编译后文件是ORACLE_HOME/rdbms/lib/config.c。编译后文件是ORACLEHOME/rdbms/lib/config.c。编译后文件是ORACLE_HOME/rdbms/lib/config.o。最关键的一步,root.sh 脚本随后会启动一个名为重链接 的过程。它会调用 make 工具,执行一个特定的链接命令。
    这个命令会将许多个已有的 .o 目标文件(包括刚刚新生成的 config.o)与Oracle的库文件链接在一起,最终生成一个完整的、全新的可执行文件。

这个最终生成的可执行文件就是:$ORACLE_HOME/bin/oracle

这个 oracle 二进制文件就是Oracle数据库的核心进程,所有数据库实例的后台进程(如 PMON, SMON, DBWn 等)都是它的派生进程。

在config.c这个文件中,定义了操作系统组与数据库角色之间的固定映射关系。你可以查看这个文件的内容来确认(不同版本可能略有差异):

/* 示例性的 config.c 内容 */ss_dba_grp="OSDBA";/* 映射到 SYSDBA 角色 */ss_oper_grp="OSOPER";/* 映射到 SYSOPER 角色 */ss_backup_grp="OSBACKUPDBA";/* 映射到 BACKUPDBA 角色 */ss_dg_grp="OSDGDBA";/* 映射到 DGDBA 角色 */ss_km_grp="OSKMDBA";/* 映射到 KMDBA 角色 */

关键点:

OSBACKUPDBA 是一个 操作系统组的名称。
BACKUPDBA 是一个 数据库角色的名称。
这个编译过程就在两者之间建立了一个不可更改的、硬编码的链接。

  1. 连接时的认证流程
    当一个操作系统用户(比如 oraclebackup)尝试以下列方式连接时:
sqlplus / as SYSBACKUP

或者在使用RMAN时:

rman target /

认证流程如下:

1、操作系统认证:Oracle 客户端发现连接字符串是 /,它就会请求操作系统内核:“当前正在运行我的这个进程的用户(oraclebackup)是谁?他属于哪些组?”

2、检查组成员:操作系统返回用户 oraclebackup 所属的组列表,其中包含了 OSBACKUPDBA。

3、映射到角色:Oracle 数据库接收到这个信息后,查询其在编译时建立的映射表,发现 OSBACKUPDBA 组应该被映射到 BACKUPDBA 这个数据库角色。

4、授予权限并建立会话:数据库自动为这个会话授予 BACKUPDBA 角色所包含的所有权限(包括 SYSBACKUP),然后成功建立连接。用户此时就拥有了 SYSBACKUP 的权限。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 17:44:44

储能与多微网协同优化的Matlab实现与工程实践

1. 项目背景与核心价值冷热电多微网系统是当前区域能源互联网建设的重要形态,它通过电、热、冷多种能源的协同转换与梯级利用,显著提升综合能效。而储能电站作为灵活性调节资源,能够有效平抑可再生能源波动、实现负荷移峰填谷。将两者结合进行…

作者头像 李华
网站建设 2026/9/16 17:43:43

Qt绘画板开发实战:QPainter绘图、事件处理与性能优化

简介:一份面向计算机相关专业学生与Qt初学者的简单绘画板程序源码包,适用于C课程设计、毕业设计或项目初期演示。程序基于Qt框架实现,核心功能包括绘制点、直线、椭圆、矩形等基本几何图形,支持绘图文件的存储与读取、撤回与重做、…

作者头像 李华
网站建设 2026/9/16 17:43:13

用Pygame完善愤怒的小鸟:物理碰撞与关卡设计实战

简介:这款《完善制作的愤怒的小鸟Python小游戏》是针对Python初学者与游戏开发爱好者的一款完整实战项目。项目复刻经典《愤怒的小鸟》玩法,涵盖Tkinter图形界面、Canvas画布绘制、物理抛射轨迹模拟、Pillow图像处理、事件驱动交互等核心知识点&#xff…

作者头像 李华
网站建设 2026/9/16 17:42:09

51单片机4×4键盘矩阵控制LED条形光柱的Proteus仿真实现

简介:这套单片机C语言程序设计资料围绕44键盘矩阵控制条形LED显示,基于8051与Proteus仿真实现,适合单片机初学者、电子相关专业学生及嵌入式爱好者练习键盘扫描与LED驱动。压缩包共17个文件,约49KB,包含C语言源文件key…

作者头像 李华
网站建设 2026/9/16 17:41:10

go:embed嵌入指南:go-modern-guidelines零依赖单二进制的秘密

go:embed嵌入指南:go-modern-guidelines零依赖单二进制的秘密 【免费下载链接】go-modern-guidelines Help AI coding agents write modern Go 项目地址: https://gitcode.com/GitHub_Trending/go/go-modern-guidelines go:embed 嵌入 是 Go 语言把数据文件直…

作者头像 李华
网站建设 2026/9/16 17:38:24

SpringBoot+Vue在线考试系统:高并发交卷与防作弊设计

简介:这套在线考试系统是一份基于SpringBoot与Vue的前后端分离项目源码,适合正在学习全栈开发的程序员或需要准备毕业设计的高校学生。后端由SpringBoot提供接口服务,前端使用Vue搭配Element-UI组件库构建页面,包含用户登录、题库…

作者头像 李华