一个低级的ORA-01017错误
2016-11-18 18:39
323 查看
事件缘由:
使用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,但文件却使用了大写,低级的错误。
接下来就比较简单了,重建密码文件:
无论是远程,还是GC,都可以正常登录了。
总结:
1.Oracle中有不少大小写敏感的参数设置,一定要仔细,否则就会产生各种困扰。
2.Oracle的密码文件实际定义了拥有sysdba等权限用户的列表,因此远程使用普通用户访问就不会受到密码文件的限制。
3.密码文件和v$pwfile_users两者关系,可以参考惜纷飞的这篇博文,使用各种实验说明了两者的关联。
xifenfei.com/2011/12/vpwfile_users和密码文件关系.html
使用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
相关文章推荐
- 一个低级的ORA-01017错误
- 做dataguard犯了一个低级错误修改参数报错ORA-16187: LOG_ARCHIVE_CONFIG contains duplicate, conflicting or invalid att
- 今天犯的一个低级错误
- 一个低级错误,关于timer
- 犯了一个Hibernate的低级错误
- 一个低级错误引发的血案
- 一个低级错误
- 一个低级错误导致的StackOverflowException异常
- 一个ORA-16014和ORA-00312错误的解决
- 犯了一个Hibernate的低级错误
- jdbc链接oracle 11g时, 会报ora-01017的错误的解决方法
- 一个花了我两个晚上的低级错误
- 最近研究appfuse犯的一个低级错误!
- 昨天犯了一个超级严重的低级错误
- 今天我被震惊了,vc2005居然犯这么一个低级的错误
- 一个HTML的低级错误!!!与不能同时使用
- 被一个低级错误折磨了两天
- Oracle关于imp的一个错误ORA-00907的解决方案
- 今天犯了一个低级错误
- 今天犯了一个低级的错误(THTTPEvent == -46)