首页 / MYSQL / sys不能远程登录解决办法
sys不能远程登录解决办法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了sys不能远程登录解决办法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3042字,纯文字阅读大概需要5分钟。
内容图文
本文章来总结一下关于sys不能远程登录解决办法,有碰到此类问题的朋友可详细的参考参考。
本文章来总结一下关于sys不能远程登录解决办法,有碰到此类问题的朋友可详细的参考参考。SYSDBA不能远程登录(此处是不是指CRT远程登录)
SYSDBA不能远程登录分两种情况:
1:提示的是ORA-01017:用户名密码出错
C:Userskerry>sqlplus "sys/wgods123@gsp as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1月 11 11:08:07 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/pass; logon denied
这样的错误,明明密码和用户名明明输入的都是正确的。这又是为什么叻,出现这种情况,一般是系统参数REMOTE_LOGIN_PASSWORD的设置问题:PFILE文件中有个参数REMOTE_LOGIN_PASSWORD 对passwordfile进行控制:
remote_login_passwordfile =NONE时,停用口令文件验证,Oracle不允许远程SYSDBA/SYSOPER身份登录,无法通过远程进行起停等操作管理;
remote_login_passwordfile =exclusive时,启用口令文件,允许远程登录;
remote_login_passwordfile =shared 时,多个数据库可以共享一个口令文件,但是只可以识别一个用户:SYS;
当口令文件丢失时,用/NOLOG方式登录,通过orapwd重建口令文件来解决。如果口令文件丢失,可以使用orapwd可以重建口令文件。
这里需要启动密码文件的话,需要前提就是这个值, 这里的值可以NONE,EXCLUSIVE和SHARE。EXCLUSIVE和SHARE都可以,EXCLUSIVE是独占的文件,SHARE是多实例的体系中的共享模式。这个问题基本上就是这个值导致的
代码如下 | |
SQL>alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile; |
然后重启服务就可远程以sysdba登录。
但是还有一种情况如下:
检查一下系统参数REMOTE_LOGIN_PASSWORD的值,发现是EXCLUSIVE。而且密码文件也存在,但是就是报上面错误。
代码如下 | |
SQL> SHOW PARAMETER REMOTE_LOGIN_PASSWORD NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_login_passwordfile string EXCLUSIVE |
最后发现:SYS账户的密码是错误的,重置SYS密码后
代码如下 | |
SQL> alter user sys identified by wgods123; |
问题解决了。
2:ORA-01031: insufficient privileges
C:Userskerry>sqlplus "sys/wgods123@GSP as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1月 11 14:37:11 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
这种情况一般是由于你的密码文件缺损或者不存在了,例如口令文件删除了,而Oracle实例对sysdba的权限是根据这个密码文件来判断的,如果你的用户被grant to sysdba了,那么这个用户的密码和用户名也在这个密码文件了。这样也就发现你不是sysdba的角色,当然as sysdba就会提示权限不足了哟。为什么这样做了,如果我们的数据库没有open,那么对于的一些动态视图是不能打开的,所以oracle必须把这些用户的口令和username放在一个独立的文件里,这样在数据库还不是open的状况写,有个地方判断了。
如何解决了。我们首先来判断一下
代码如下 | |
SQL> SELECT * FROM V$PILE_USERS; USERNAME SYSDBA SYSOPER |
------------------------------ ------ -------
如果这里选择不出了记录的话,就是密码文件没有叻。
这里解决的方法就是重建orapwd文件
使用密码文件orapwd 命令
代码如下 | |
[oracle@wgods dbs]$ orapwd file=/database/oracle/product/dbhome/dbs/orapwgsp entries=4 password=wgods123 force=y |
这里还有一篇教程大家可参考http://www.111cn.net/database/Oracle/42484.htm
内容总结
以上是互联网集市为您收集整理的sys不能远程登录解决办法全部内容,希望文章能够帮你解决sys不能远程登录解决办法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。