ITPub博客

首页 > 数据库 > Oracle > SYS用户无法远程登录ORA-01017、ORA-01031

SYS用户无法远程登录ORA-01017、ORA-01031

原创 Oracle 作者:兰在晨 时间:2014-09-10 22:47:03 0 删除 编辑

环境:OEL4.8

Oracle Database version:10.2.0.1

问题描述:

有A、B两台机器,在A机上安装了GC 的Repository Database,在B机上安装GC,输入Repository Database信息之后,下一步时总提示用户名密码错误。

但是在A机上,都可以登录。

问题排查:

1、首先,在B机上tnanames.ora文件中添加了Repository Database的信息,通过tnsping命令没有问题

  [oracle@secdb2 Disk1]$ tnsping ocmgc

TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 10-SEP-2014 22:23:09

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=secdb1)(PORT=1521))) (CONNECT_DATA= (SERVICE_NAME=OCMGC)))
OK (0 msec)

可以看到,能够通过,说明网络和监听正常运行。


 2、 然后通过远程使用sys用户登录
[oracle@secdb2 Disk1]$ sqlplus system/oracle@ocmgc as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 10 21:54:35 2014

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

ERROR:
ORA-01031: insufficient privileges

而使用system用户却可以登录。


3、在A机上进行排查

于是在A机上进行登录都没有问题

 由于确定不是由于sys用户密码的问题导致,于是想到参数remote_login_passwordfile,该参数为none时停用

密码文件,不允许远程登录。为exclusive模式时启用口令文件。然后查看该参数时设置正确为exclusive模式,于是通过如下SQL语句查看

select * from v$pwfile_users;

结果为空,说明密码文件不正确。于是重建密码文件。

 4、重建密码文件

首先关闭数据库

进入到$ORACLE_HOME/dbs目录下

orapwd file=orapw$ORACLE_SID password=oracle entries=30 force=y

启动数据库。

再执行select * from v$pwfile_users;

然后就可以查询到结果。再次在B机上尝试安装,安装通过。


总结:当出现用户无法登录的问题,提示ORA-01017、ORA-01031时考虑以下几个部分

       1、sqlnet.ora文件sqlnet_authentication_service参数是否正确默认为none

       2、密码文件是否正确创建,可以在$ORACLE_HOME/dbs目录下查看或者重建

        3、参数remote_login_passwordfile参数设置是否正确(应该为exclusive)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26723566/viewspace-1267333/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-06-04

  • 博文量
    58
  • 访问量
    222334