ORACLE 系统用户角色故障导致ORA-01017

最近在为Oracle单实例配置ASM时,做了一些调整,结果导致sys用户无法以操作系统身份验证登陆,即提示ORA-01017错误。本文描述了这个故障的解决过程,供大家参考。

有关Oracle身份认证机制,可以参考:Oracle 密码文件

一、故障现象

[oracle@centos7 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Sep 22 09:52:26 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

二、故障分析

1、使用oerr命令行获取详细帮助
[oracle@centos7 ~]$ oerr ora 1017
01017, 00000, "invalid username/password; logon denied"
// *Cause:
// *Action:

2、查看sqlnet.ora的配置,这个文件主要定义了是否允许开启OS用户免密码登陆认证。
[oracle@centos7 ~]$ more $ORACLE_HOME/network/admin/sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/oracle/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

#NAMES.DIRECTORY_PATH= (TNSNAMES)
SQLNET.AUTHENTICATION_SERVICES = (ALL)    ###此处为ALL,表面可以使用OS认证身份验证

ADR_BASE = /u01/oracle

3、查看config.c配置文件
[oracle@centos7 ~]$ cat $ORACLE_HOME/rdbms/lib/config.c

/*  SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access.  */
/*  Refer to the Installation and User's Guide for further information.  */

/* IMPORTANT: this file needs to be in sync with
              rdbms/src/server/osds/config.c, specifically regarding the
              number of elements in the ss_dba_grp array.
*/

#define SS_DBA_GRP "dba"     ###此处操作系统用户组定义为dba组
#define SS_OPER_GRP "oper"    ###Author : Leshami
#define SS_ASM_GRP ""              ###Blog    : http://blog.csdn.net/leshami

char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};  

4、查看当前oracle用户所在的用户组
[oracle@centos7 ~]$ id oracle
uid=1001(oracle) gid=54321(oinstall) groups=54321(oinstall),54327(asmdba),54329(asmadmin)
从上面的结果中可知,oracle用户并不属于dba组

5、查看操作系统层面是否存在dba用户组
[oracle@centos7 ~]$ grep dba /etc/group
dba:x:54322:

通过上面的分析,应该是oracle用户所在的组不包含dba组导致无法通过操作系统层面实现身份认证。

三、故障解决

[oracle@centos7 ~]$ su - root
Password:

增加oracle用户到dba组
[root@centos7 ~]# usermod -G dba,asmdba,asmadmin oracle
[root@centos7 ~]# id oracle
uid=1001(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54327(asmdba),54329(asmadmin)

[root@centos7 ~]# su - oracle
Last login: Fri Sep 22 10:03:54 CST 2017 on pts/1

再次登陆成功
[oracle@centos7 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Sep 22 10:27:34 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

Log4j官方文档翻译(六、日志的级别)

org.apache.log4j.Level 类提供了下面几种日志级别,你也可以通过继承这些类,自定义级别 ALL 所有日志级别都包括 DEBUG 指定信息事件...

22470
来自专栏程序猿DD

SpringBoot快速入门

简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么...

21280
来自专栏散尽浮华

linux下DHCP服务原理总结

DHCP(全称Dynamic host configuration protocol):动态主机配置协议 DHCP工作在OSI的应用层,可以帮助计算机从指定的D...

35860
来自专栏散尽浮华

jenkins配置记录(2)--代码发布流程

在我们的日常运维工作中,使用jenkins来完成业务代码发版上线是至关重要的一环。 前面已经提到在jenkins上添加用户权限的操作,今天重点说下如何在jenk...

69490
来自专栏软件开发 -- 分享 互助 成长

wareshark网络协议分析之DHCP

声明:本文关于DHCP协议介绍部分摘自百度百科 一、DHCP协议介绍:     DHCP(Dynamic Host Configuration Protocol...

35790
来自专栏Hadoop实操

如何使用HAProxy实现HiveServer2服务的LDAP和Kerberos认证负载均衡

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproje...

57190
来自专栏一英里广度一英寸深度的学习

Sqoop安装

下载页面下有两个链接,使用sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz,包含hadoop支持。不要用sqoop-1.4.7.tar....

96540
来自专栏ThoughtWorks

Gradle Spring Intellij Idea下热部署实现“敏捷”开发 | TW洞见

今日洞见 文章作者来自ThoughtWorks:朱本威。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个...

41080
来自专栏项勇

[Exception]之 starting Intent 应用启动失败异常

16640
来自专栏java闲聊

SpringBoot 1.5.10.RELEASE学习SpringMvc+SpringData+thymeleaf

20450

扫码关注云+社区

领取腾讯云代金券