开发者社区> 潇湘隐者> 正文

用SYS本地登录或远程登录引起ORA-01031错误

简介:
+关注继续查看

  "历史总是上演惊人的相似", 在技术开发过程中,你也会总会碰到惊人相似的问题,这段时间我就碰到了”ORA-01031:insufficient privileges  权限不足”这个错误多次,一次是自己,一次是同事碰到的,顺便整理了下这个知识点。

情况一:

如果数据库实例安装在服务器A上,你用管理员 权限Administrator登录后,使用SQL> conn system/manage as sysdba登录 没有问题。但是如果你在服务器A上建立一个etl账号,使它率属于Remote Desktop Users 和Users 组,如下所示:

此时你用sys账号登录数据库时,就会报ORA-01031:insufficient privileges错误,退出etl账号,用管理员登录给etl账号赋予率属于Oracle DBA Group的权限

然后用etl账号登录,问题解决了,如果你赋予etl账号管理员组权限,但是没有ora_dba权限,如下所示, 结果会怎样?答案是依然会报权限不足的错误

 

情况二:此时我在远程机器B上,我使用sys账号远程登录时报ORA-01031:insufficient privileges或ORA-01017: invalid username/password; logon denied错误。

首先去检查下sqlnet.ora文件下是否有SQLNET.AUTHENTICATION_SERVICES= (NTS)设置,如何已经配置了这个选项。那么我们接下来检查下一下密码文件参数

很明显密码文件存在,如果查询没有记录,则说 明密码文件不存在,需要重建密码文件,有时候我们确实是sysdba的权限,为什么登录却提示你的权限不够叻?这里的问题可能出现在密码文件里,由于你的 密码文件缺损或者不存在,而ORALCE实例对sysdba的权限是根据这个密码文件来判断的,为什么这样做呢?如果我们的数据库没有OPEN,那么对于 的一些动态视图是不能打开的,所以ORACLE必须把这些用户的口令和USERNAME放在一个独立的文件里,这样在数据库还不是OPEN的状况写,有个 地方判断了。使用orapwd命令重建密码文件。orapwd命令的用法如下。

接下来查看系统参数remote_login_passwordfile

如果VALUE值不是EXCLUSIVE,那么需要设置参数remote_login_passwordfile的值为EXCLUSIVE,有一次我检查配置了上述所有配置后,发现都符合,在远程用SQL*PLUS登录后,居然报如下错误

ORA-01017: invalid username/password; logon denied错误,很是纳闷,仔细检查了所有配置后,最后发现居然是服务器B的Guest账号被禁用了(如下所示)


启用了Guest账号,然后在机器A上用sys账号登录,此时又报ORA-01031: insufficient privileges,赶紧给Guest账号添加ora_dba用户组,问题解决了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
EF Core新增迁移时无法加载程序集“System.ValueTuple”的错误
EF Core使用迁移命令时,如: Add-Migration Init 有时会出现如下错误: System.IO.FileLoadException: Could not load file or assembly 'System.
1741 0
log4net 中错误 System.Web.HttpException (0x80004005): 文件不存在
用日志组件,Global 中配置的输出最后一个错误信息,总是出现下面的错误信息: 2014-04-01 14:35:41,757 级别:ERROR 信息:[Exception]:System.Web.HttpException (0x80004005): 文件不存在。
737 0
对于已经添加引用,还找不到类型或名字空间的错误及svn客户端清除用户帐号密码
1 已经添加过引用,却找不到类型或名字空间。 可以看下项目的的.net framework版本是否一致。 项目(例如类库项目)右键(vs解决方案资源管理器)——》属性——》应用程序——》目标框架。 也就是检查一下引用项目与被引用项目的目标框架是否版本一致。
707 0
sysctl 一个错误问题的解决
笔者在RHEL6.3中执行sysctl -p的时候发现输出出现以下错误 [python] view plaincopyprint? # sysctl -p   net.ipv4.ip_forward = 0   net.ipv4.conf.default.rp_filter = 1   net.ipv4.conf.default.accept_source_rou
1429 0
[20161216sqlplus无法登录与ORA-01821错误
[20161216]sqlplus无法登录与ORA-01821错误.txt h:\test>sqlplus scott/book@78 SQL*Plus: Release 12.
1432 0
【Elastic Engineering】Elasticsearch:使用 Runtime fields 对索引字段进行覆盖处理以修复错误 - 7.11 发布
Elasticsearch:使用 Runtime fields 对索引字段进行覆盖处理以修复错误 - 7.11 发布
40 0
单点登录
web系统由单系统发展成多系统组成的应用群,复杂性应该由系统内部承担,而不是用户。无论web系统内部多么复杂,对用户而言,都是一个统一的整体,也就是说,用户访问web系统的整个应用群与访问单个系统一样,登录/注销只要一次就够了。
1800 0
pl/sql配置连接远程数据库oracle,本地没有安装oracle数据库的情况下
首先下载instantclient 可以到oracle官网下载,要注册账号,一定要下对应版本的,要不然不成功, 10G,11G版的,我已经传上来了,免费下载:正在上传中,稍等 配置文件tnsnames.
841 0
Oracle12C用户创建、授权、登录
Oracle12C用户创建、授权、登录 1.以系统用户登录 C:\Users\LEI>sqlplus sys/dwh as sysdba; SQL*Plus: Release 12.1.0.2.0 Production on 星期四 12月 31 10:11:29 2015 Copyright (c) 1982, 2014, Oracle. All rig
1637 0
+关注
潇湘隐者
网名潇湘隐者/潇湘剑客、英文名Kerry,兴趣广泛,广泛涉猎,个性随意,不善言辞。执意做一名会写代码的DBA,混迹于IT行业
777
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载