Oracle数据库非Dba角色用户使用as sysdba仍然可以连接相关问题

1. Oracle 默认的三个重要角色

CONNECT创建session角色
RESOURCE创建资源角色,Create table 等等
DBA数据库管理员角色

参考网址:http://www.blogjava.net/caihaibo2008/archive/2008/12/11/245723.html

2.Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

【sys】所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
【system】用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。

其次的区别,权限的不同。
【system】用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
【sys】用户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能用这两个身份,不能用normal。

3. 在今天的数据库实验课上遇到了如下所示的问题:

如上图所示,SYS用户可以正常登录数据库,但是其他用户、甚至随便乱写,以as sysdba的方式也可以成功连接数据库,并且show user显示的仍然是SYS,这是什么原因呢???


Oracle登录的时候有三种登录验证机制

1. 操作系统验证

2. 密码文件验证

3. 数据库验证

一般权限用户的登录验证都是第三种方式,即数据库验证,因为用户名和密码都是存储在数据库当中的。然而,SYS用户(具有SYSDBA和SYSOPER权限的用户)却不是数据库验证。在oracle数据没有启动的时候,SYS用户就可以连接到数据库,并对其进行启动等操作,所以不可能是数据库验证。SYS用户采用的是第一种和第二种验证方式。

Linux下Oracle的启动过程

lsnrctl start 启动监听(接收用户请求)。此时数据库没启动,所以不能验证普通权限用户

sqlplus /nolog 启动sqlplus

conn sys/oracle as sysdba,监听看到是sysdba用户,就进行操作系统验证或者文件验证,如果正确

startup 启动数据库实例。

当此时再以普通权限用户连接时,就直接将请求发送给数据库进行数据库验证。

Windows下Oracle的启动过程

lsnrctl start 启动监听

oradim -startup -sid orcl 将复杂的过程封装了

conn / as sysdba; 这样写居然可以连接!或者随便写个名字都可以连接,只要/保留就可以。如下图:


因为,默认采用的验证方式是操作系统验证!如下图所示,在计算机管理里面的ORA_DBA组有当前计算机操作系统用户uestcong



当我把uestcong这个用户删除之后,再重新使用conn a/b as sysdba登录,就出现如下所示的情况了:


显示权限不足,没有验证通过。

以uestcong登录操作系统时,默认就是DBA管理员,在监听看到as sysdba时,就首先进行操作系统验证,操作系统的用户uestcong当然就能通过验证。当我把uestcong删除之后,就会用密码文件的方式验证,此时把sys和正确的密码重新连接时,就可以直接连接了。


所以在使用oracle进行开发时,应该把操作系统验证取消,使用密码文件验证的方式。如果密码忘记,可以把密码文件删除,用新的密码文件代替就可以。

密码文件的路径:D:\oraclexe\app\oracle\product\10.2.0\server\database\PWDXE.ora(PWDXE.ora我使用的是XE版本),当把密码文件删除时,再用正确的用户名密码连接,就无法进行连接了。


感谢传智博客王治国的精彩讲解!

参考网址:http://topic.youkuaiyun.com/u/20110823/18/e9846996-22f4-4429-a7f5-47877a729ef0.html

sqlplus / as sysdba登陆失败,(ORA-01017) remote_login_passwordfile=none表示,登录时禁用口令文件验证,sysdba用户只能通过操作系统认证登录数据库,其他方式的登录,比如PL/SQL,就会报前面提到的ORA-01017错误。操作系统认证方式涉及sqlnet.ora($ORACLE_HOME/network/admin目录下)中的参数SQLNET.AUTHENTICATION_SERVICES: a) NONE:关闭操作系统认证,只能通过口令文件认证;只有一个oinstall组,dba asmdba​等等根本都没有? 阅读详情

相关推荐

Oracle 忘记密码的解决办法(conn / as sysdba)

文章目录1 概述2 修改密码3 可能遇到的问题3.1 conn / as sysdba 权限不足 1 概述 又想不起数据库密码了 →_→ -- 查询 数据库中所有的用户: select * from dba_users t order by t.expiry_date desc; -- 若 非 system 用户,则以 system 用户登录,执行下列修改密码命令 -- 若 是 system 用户,继续往下看 alter user <username> identified by <

鱼丸丶粗面 6812

Oracle基础命令——创建用户、创建表空间

Oracle基础命令——创建用户、创建表空间

雷神乐乐的博客 1万+

DBA,SYSDBA,SYSOPER三者的区别

什么是DBA?什么是SYSDBA,什么又是SYSOPER?三者究竟有何联系呢? 在Oracle数据库领域里,很多Oracle初学者(Me 2)很容易被这三个术语迷惑,就其原因还是基础概念没有弄清楚。记得自己刚开始接触Oracle的时候,也是云里雾里,现在基本弄明白,故写出来和大家分享: DBA:在Oracle数据库里面其实只是一个角色(role)。那么什么是角色呢?可以简单的认为一个角色就是某

kexianmiao的专栏 7352

oracle中普通用户如何查看自己登录的数据库名称?这个用户与scott权限相同,无法切换到sys下面!没有权限查看v$database和v$instance

发表于: 2013-03-17 12:01:19 oracledatabaseusersql oracle服务软件里面装了三个数据库,三个数据库服务都启动了,在登录数据库的时候没有指定数据库名称,所以现在登录到哪个数据库里面自己都不知道。 这三个数据库里面都有test_user用户,且密码都一样,在各自的数据库中也都拥有相同的权限,是以test_user用户登录的。 那

evilcry2012的专栏 2378

Oracle sys 和 system 用户、sysdba 和 sysopr 身份认证及 dba 角色权限的区别

文章目录 1 结论2 详解2.1 sys 和 system 用户区别2.2 sysdba 和 sysopr 身份认证区别2.3 dba 角色权限 3 扩展 1 结论 1. sys 和 system 都是 Oracle '内置用户' 但 sys ('超级用户') 的权限远大于 system ('一般管理员') 2. sysdba 和 sysopr 是 'sys' 用户登录时 '用户身份验证' 的方式 3. dba 是 Oracle 的 '角色权限' 2 详解 2.1 ..

m0_37253968的博客 2435

查看oracle数据库的连接数以及用户

11、查询oracle的连接数2select count(*) from v$session;32、查询oracle的并发连接数4select count(*) from v$session where status='ACTIVE';53、查看不同用户的连接数6select username,count(username) from v$session where username i...

aaa9736的博客 2550

Oracle 12c中的用户角色SYSDBA、SYSOPER、DBA

1) sys用户是超级用户,具有最高权限即sysdba角色,有create database的权限,所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。 (2 ) system用户即普通dba用户角色,用于存放一级的内部数据,如oracle的一些特性或工具管理信息。 该用户的默认密码是:manager 。 oracle数据库中有三个较大的角色sysdba , sysoper和dba 。system用.

Jack_LEGION的专栏 2255

从玩具车到手机充电:手把手带你用Multisim仿真Buck/Boost电路(附工程文件)

本文通过Multisim仿真软件,手把手教你搭建Buck降压电路和Boost升压电路,实现从12V到5V或3.7V到5V的电压转换。文章详细介绍了电路搭建步骤、关键波形观测技巧及常见故障排查方法,并附赠工程文件,帮助电子爱好者快速掌握电源转换技术。

weixin_29159127的博客 242

oracle中Normal,sysdba,sysoper三种连接方式和用户sys,system,sysdba,scott

normal 、sysdba、 sysoper 、sys,sysdba,dba概念—区别   sys和system用户的区别 【system】用户只能用normal身份登陆em。 【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。 “SYSOPER”权限,即数据库操作员权限,权限包括:   打开数据库服务器   关闭数

wang_159369的专栏 1万+

机器人手眼标定快速精度验证方法

机器人手眼标定快速精度验证方法

laoli_的博客 1万+

three.js中如何高效加载并播放GLB格式的3D动画

本文详细介绍了在three.js中高效加载并播放GLB格式3D动画的最佳实践。通过对比GLB与GLTF格式的优势,提供从环境搭建、模型加载到动画控制的完整解决方案,并分享性能优化技巧和常见问题排查方法,帮助开发者提升3D动画项目的开发效率和用户体验。

weixin_27890975的博客 362

Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别

sys和system用户区别1)最重要的区别,存储的数据的重要性不同sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。 system用户用于存放次一级的内部数据,如oracle的一些

朝着梦想 渐行前进 4万+

python编程实现制作网络流量监控动画

c,实时显示网络带宽使用情况,用柱状图或折线图表示不同时间段的流量变化。通过 Python编程实现图形库(如 Pygame、Tkinter、Matplotlib 等)来实现计算机网络基础概念的可视化动画。global bars # 声明 bars 为全局变量。# 获取当前网络流量。# 创建图形和坐标轴。

qq_42788199的博客 718

查看Oracle用户的权限或角色

前几天被问到一些关于权限和角色的问题,今天抽时间总结一下如何查看Oracle用户的权限或角色,在之前的博文中,写过SYS,SYSTEM,DBA,SYSDBA,SYSOPER的区别与联系以及Oracle中定义者权限和调用者权限案例分析这两篇博文,读者可以参考阅读!Oracle的东西感觉很杂,抽空闲的时间多总结也是对知识的一个梳理以及对自己的一个提高,文中若有错误或者不当之处,请大家指出,谢谢! 一、查看用户 1.查看所有用户: select * from dba_users; select...

wounler的博客 9008

2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案

2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1337

179、瑞芯微RK3588在边缘盒子中的多摄同步架构——基于PLL的帧同步与曝光同步的实测调优

第一,RK3588的多摄同步,硬件上确实支持,但软件配置的坑比想象的多。第三,传感器的tPD差异是最大的不确定因素,选型时尽量选同一批次,而且要在量产前做全温测试——我遇到过低温下tPD变化超过3微秒的情况,直接导致同步失效。我遇到过一批IMX415,tPD差异达到±8微秒,直接超出SYNC控制器的补偿范围,最后只能挑芯片,把差异小的装到同一台设备里。别用100MHz,虽然分辨率更高,但高频信号在PCB走线上更容易引入EMI,边缘盒子的结构件往往没有很好的屏蔽,实测100MHz下同步信号边沿抖动明显增大。

zzfmlxs的博客 39

Oracle用户、用户登录连接方式、权限、角色

resource 提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。即数据库管理员,功能包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库。即数据库操作员,功能包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制。,客户端和服务器连接,称为会话),主要应用于临时用户,不需要建表的用户。sysdba拥有最高的系统权限,登陆后是 sys。

zjxiuqiao的博客 1998

PCL 提取两片点云的非重叠部分【2025最新版】

PCL 提取两片点云的非重叠部分。博客长期更新,本文最近一次更新时间为:2025年9月1日。

点云侠的博客 36万+

Oracle 11g 关于权限DBA和SYSDBA的区别是什么

笔者查询后得出 DBA属于一个角色,也就是各种权限的综合; 而SYSDBA则是一种认证,也就是SYS的认证,可以对数据库进行shutdown等等的操作; 这里涉及到两个表即dba_role_privs和v$pwfile_users 先看DBA; 新建一个cat用户,赋予它DBA的权限,然后执行各种操作 SQL> create user cat identified by cat; User...

jose_chen_net的博客 1895

RK3588平台开发系列讲解(项目篇)常见模型结构

📢 AI 模型常采用人工神经网络来模拟人脑神经的记忆和处理信号的能力。常见的人工神经网络类型有深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。

内核笔记 1758

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

oracle给角色附sysdba权限,oracle查询有sysDBA权限的用户

查看具有sysdba权限的用户以sys用户登陆Oracle,执行select * from V_$PWFILE_USERS;可查询到如下结果:SQL> select * from V_$PWFILE_USERS;USERNAME SYSDBA SYSOPER------------------------------ ------ -------SYS TRUE TRUE(何为sysoper...

weixin_39560604的博客 2025

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

sys和system用户、sysdba和sysoper系统权限、dba角色的区别

一、    sys和system用户的区别 (1)最重要的区别,存储的数据的重要性不同      【sys】所有oracle的数据字典的基本和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。 【system】 用户用于存放次一级的

学而时习之 2599

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

oracle sysdba默认密码_Oracle 数据库管理员及管理员的作用

以下测试实例均在Oracle11gr2下测试!!!一、简介:每个Oracle数据库应该至少有一名数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库,可能需要多个dba分担不同的管理职责,以下是一个数据库管理员的工作职责:1、安装和升级Oracle数据库2、建库、表空间、表、视图、索引等常用的数据对象3、制定并实施备份与恢复计划4、数据库权限管理,调优,故障排除5、...

weixin_39627665的博客 8752

Oraclesys和system用户、sysdba和sysoper系统权限、sysdba和dba角色的区别

Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别  sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,s

Mr_Pang的专栏 3419
上一篇: eclipse Cannot create a server using the selected type 问题解决
下一篇: Oracle数据库的varchar2(2)存储一个汉字时提示插入汉字过长问题
mark010
博客等级 码龄14年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值