一个低级的ORA-01017错误

一个低级的ORA-01017错误事件缘由:使用sys账户创建了一个数据清理的存储过程,再创建一个Oraclejob定时运行这个存储过程,用于做表数据的清理。第二天看表数据未删除,说明job执行有错,打算使用sys账号登录查看job运行情况,反复输入sys账户信息,总提示ORA-01017,1.尝试改sys用户密码,重试报错依旧。2.使用sys登录GC,报错相同。使用普通用户登录正常。3.数据库服务器上使用sq

大家好,又见面了,我是你们的朋友全栈君。

事件缘由
使用sys账户创建了一个数据清理的存储过程,再创建一个Oracle job定时运行这个存储过程,用于做表数据的清理。第二天看表数据未删除,说明job执行有错,打算使用sys账号登录查看job运行情况,反复输入sys账户信息,总提示ORA-01017,
这里写图片描述
1.尝试改sys用户密码,重试报错依旧。
2.使用sys登录GC,报错相同。使用普通用户登录正常。
3.数据库服务器上使用sqlplus sys/oracle@dep182 as sysdba登录正常。

问题排查和原因
根据以上信息,可能有朋友已经基本了解为何有这种现象了。

1.上述问题反映的现象是远程使用sys账户无法登录,数据库服务器本地使用TNS方式连接正常,首先排除密码错误。

2.查看$ORACLE_HOME/dbs,存在密码文件orapwDEP,为了保险起见,备份旧的密码文件后,重建了密码文件,问题依旧。

3.查询v$pwfile_users表记录,发现是空,
这里写图片描述

关于v$pwfile_users的描述:

V$PWFILE_USERS lists all users in the password file, and indicates whether the user has been granted the SYSDBA, SYSOPER, and SYSASM privileges.

奇怪了,明明有密码文件,为什么这显示的记录是空?

4.回头再来看密码文件,Linux下密码文件的命名格式是orapw$ORACLE_SID,已存的文件名是orapwDEP,再看下ORACLE_SID:
这里写图片描述
我勒个去,ORACLE_SID是小写的dep,但文件却使用了大写,低级的错误。

接下来就比较简单了,重建密码文件:

orapwd file=orapwdep password=oracle entries=30

无论是远程,还是GC,都可以正常登录了。
这里写图片描述

总结
1.Oracle中有不少大小写敏感的参数设置,一定要仔细,否则就会产生各种困扰。
2.Oracle的密码文件实际定义了拥有sysdba等权限用户的列表,因此远程使用普通用户访问就不会受到密码文件的限制。
3.密码文件和v$pwfile_users两者关系,可以参考惜纷飞的这篇博文,使用各种实验说明了两者的关联。
xifenfei.com/2011/12/vpwfile_users和密码文件关系.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138070.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Kubernetes 针对资源紧缺处理方式的配置

    Kubernetes 针对资源紧缺处理方式的配置

  • 注册会计师_会计师报考需要什么条件

    注册会计师_会计师报考需要什么条件本人是华政的,学的是国际法,成绩一般,从来没有上课的习惯。会计是零基础,6个月通过了注册会计师的会计、财务成本管理、税法、经济法、公司战略与风险管理5门课,想在这里和大家分享一下经验,也希望大家指教~~资料下载:http://www.iliyu.com/ 里面几乎什么资料都下的到          http://www.zhukuai.com/ 这个论坛8错          ht

  • 全012路规律_11选5判断012路的方法

    全012路规律_11选5判断012路的方法堆题目链接将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点;x and y are siblings:x和y是兄弟结点;x is the parent of y:x是y的父结点;x is a child of y:x是y的一个子结点。输入格式:每组测试第1行包含2个正整数N(≤ 1000)和M(≤ 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[−10000,10000]内的N个要被

  • databus mysql搭建_Databus架构分析与初步实践(for mysql)

    databus mysql搭建_Databus架构分析与初步实践(for mysql)目前关于databus的相关资料较少,特别是针对mysql的文档尤为稀少。本篇文章中介绍了databus相关组件及实现原理,初步实现了databus对mysql数据库的数据抓取,希望对后续使用者能提供一定的参考作用。1.简介Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可…

    2022年10月16日
  • markdown编辑器使用方法_写markdown的软件

    markdown编辑器使用方法_写markdown的软件Markdown常用编辑

  • unity怎么创建球体_每天分享的小知识点

    unity怎么创建球体_每天分享的小知识点Unity小科普老规矩,先介绍一下Unity的科普小知识:Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。也可以简单把Unity理解为一个游戏引擎,可以用来专业制作游戏!…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号