大家好,今天给各位分享sqlplus/as sysdba 登录失败,(ORA01017)的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
报告的错误是ORA-01017。用户名和密码不正确?什么?
用户在登录Oracle时发现无法直接使用sqlplus/as sysdba登录。
无法使用sqlplus/as sysasm 登录网格?
本地操作系统身份验证是否已关闭?首先使用sys用户名和密码登录查看
其中remote_login_passwordfile参数默认值为EXCLUSIVE,表示不关闭本地操作系统身份验证。
扩大:
Oracle登录认证方式包括密码验证和操作系统验证。操作系统认证意味着Oracle认为操作系统用户是安全的。使用sqlplus登录时,不验证用户密码,直接登录。密码认证是指Oracle认为操作系统用户是不安全的,需要通过密码文件来验证账号和密码。 Oracle的密码文件一般存放在$ORACLE_HOME/dba/目录下,名称为orapw+sid。 Oracle通过初始化参数remote_login_passwordfile来限制密码文件的使用。这里有详细的介绍:
1)无
remote_login_passwordfile=none 表示登录时禁用密码文件验证。Sysdba 用户只能通过操作系统验证登录数据库。通过其他方式登录,例如PL/SQL,会报上述ORA-01017错误。操作系统认证方式涉及sqlnet.ora($ORACLE_HOME/network/admin目录下)中的参数SQLNET.AUTHENTICATION_SERVICES: a) NONE:关闭操作系统认证,只能通过密码文件认证; —- b) ALL: linux /unix 平台下,采用操作系统认证,但远程sysdba 登录仍需要密码文件认证。 c) NTS:windows平台下操作系统认证。
2) 独家
remote_login_passwordfile=exclusive 表示独占模式使用密码文件。这是默认值,用于单数据库的单实例环境。该模式下可以添加、修改、删除sysdba用户,并且可以修改sysdba用户密码并记录在密码文件中。查看已授予sysdba权限的用户:
从V$PWFILE_USERS 中选择用户名,其中SYSDBA=’TRUE’;3) 共享
在这种模式下,密码文件可以在多个数据库之间共享。密码文件不可修改,包括sys用户密码。 Oracle建议先以Exexive模式设置需要sysdba权限的用户,然后将remote_login_password文件修改为共享的共享密码文件。修改方法:
更改系统设置remote_login_passwordfile=共享范围=spfile;静态参数需要重启数据库才能生效。通常,Linux中直接登录sqlplus/as sysdba失败通常是由于修改remote_login_passwordfile参数造成的,但这里显然不是这种情况。
根据alert log的错误报告继续查看mos,发现有这么一个文件
ORA-01017: 无效的用户名/密码;登录被拒绝警告: ASM通信错误:操作18状态0x40(1017)(文档ID 2292526.1)
文档提示,当oracle/grid添加新组时,会报此错误,因为dba组早于asmdba组。上周确实是因为无法su将oracle/grid加入轮组(这给我挖了多少坑?)
检查oracle/grid的用户属性
什么鬼? oinstall组只有一个,dba asmdba等根本没有?难怪我本地登录不了!一旦找到原因,解决办法就非常简单了。添加oracle/grid 中所有缺失的组。
usermod -g oinstall -G asmdba,dba,oper oracle usermod -g oinstall -G asmadmin,asmdba,asmoper,dba,oper grid 检查用户组cat /etc/groupoinstall:x:100:asmadmin:x:1200:gridasmdba:x:120133 36 0oracle,gridasmoper:x:1202:griddba:x:1300:oracle,gridoper:x:1301:oracle,确认oracle/grid可以正常工作修改网格登录后
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/120936.html
用户评论
柠栀
昨天遇到这个错误了!当时真的气的要死😩 反复检查用户名密码,最后发现是系统时间设置不对导致的~
有18位网友表示赞同!
墨染天下
我之前也遇到过 ORA01017 错误,后来发现是在权限配置问题那里出错了。 检查下你的操作系统和数据库的时区是同步状态。
有13位网友表示赞同!
小清晰的声音
这个错误还是挺常见的,要重点关注一下网络连接问题以及SQL*Plus版本兼容性, 同时也要检查授予sysdba用户的身份是否合法并且有效。
有16位网友表示赞同!
無極卍盜
我个人建议定期检查数据库服务的日志文件,可能会有关于 ORA01017 问题的提示信息显示
有5位网友表示赞同!
男神大妈
遇到这个错误时,首先要确认一下 SQL*Plus 的连接参数是否正确设置,包括主机名、端口号以及用户名称等。如果以上条件都正确的情况下,还需要仔细检查数据库服务器是否有运行异常。
有17位网友表示赞同!
相知相惜
SQL+是老版本的工具了,有时候会比较慢
有19位网友表示赞同!
我的黑色迷你裙
这个错误真是让人头疼啊!有没有什么简单快捷的方法解决呢?
有8位网友表示赞同!
北染陌人
感觉这个标题写的就很官方呀😂 我更喜欢用 “SQLPlus进不了数据库”这种通俗易懂的标题
有17位网友表示赞同!
余温散尽ぺ
这个问题确实很常见, 每次遇到都得花一段时间才能搞定。希望 Oracle 能早日把这个问题解决掉!
有17位网友表示赞同!
苏樱凉
我觉得这个错误提示信息并不友好,太抽象了,有时候真的不知道怎么处理问题 😩 Oracle 官方能不能改进一下?
有20位网友表示赞同!
命运不堪浮华
我是在网上搜索解决方案时才知道原来ORA01017代表数据库连接失败。 希望 Oracle 可以提供更详细的错误信息提示,这样能方便我们更快地找到问题的根源。
有8位网友表示赞同!
肆忌
这个错误经常在测试环境下发生,让我怀疑是环境配置问题。需要仔细检查每一项设置是否正确。
有8位网友表示赞同!
巷雨优美回忆
SQLPlus/as sysdba 命令的确比较重要,因为只有拥有最高权限才能操作数据库的某些敏感功能。 但同时也不能滥用sysdba权限呀!小心造成数据安全风险!
有13位网友表示赞同!
浅笑√倾城
我平时用的 Oracle 数据库工具都是图形化管理界面,很少使用 SQL*Plus 命令行接口。如果遇到 ORA01017 错误估计会很头疼 😭
有10位网友表示赞同!
?亡梦爱人
希望以后能用更方便的命令行工具代替 SQL*Plus,这样解决问题也更容易! 期待Oracle 能开发出更友好的用户体验。
有14位网友表示赞同!