oracle11g数据库登录01017,【数据库管理】ORA-01017错误及部分的常见典型案例-Go语言中文社区…

  • Post author:
  • Post category:其他


概述

首先ORA-01017错误的基本含义如下:

$ oerr ora 1017

01017, 00000, “invalid username/password; logon denied”

// *Cause:

// *Action:

即用户名/口令无效从而登录被拒绝,一般的解决方法为修改密码,用正确的密码登录。

如:用系统用户登录系统,修改用户的密码。

sqlplus / as sysdba

alter user identified by ;

除了一般的情况外,在数据库登录时还会有很多情况也报这个错误,本文将介绍对于ORA-01017错误问题的基本对应思路和一些典型的案例。

解决ORA-01017错误的基本思路

解决ORA-01017错误的基本思路如下:

・用户名和密码是否是真的正确

・注意用户的特点,如是否是特权用户或一些特殊性

・注意数据库的版本,是否是由于某些版本的新特性导致的无法登录

・查看是否使用了Listener监听登陆,在BEQ登陆的方式下是否有同样的问题

・确认验证密码时使用的是数据库中存储的密码还是密码文件(password file)中的密码

・查看网络相关的配置文件sqlnet.ora、listener.ora、tnsnames.ora的配置

・查看告警日志alert和trace中,发生问题时是否有其他的错误或异常发生

・通过设定errorstack来进一步查看问题发生时的详细信息,诊断由于Bug等导致的问题

一般需要查看的文件和信息

我们可以通过取得下面的信息,来确认相关的设定:

・以下视图的内容

select * from v$pwfile_users;

select * from dba_profiles;

select * from dba_users order by username;

・相关初期化参数的设定

show parameter sec_case_sensitive_logon

show parameter remote

・服务器和客户端的下列文件

$ORACLE_HOME/network/admin

sqlnet.ora、listener.ora、tnsnames.ora

・服务器环境的设定情况

SQL> conn /as sysdba

SQL> ho set

・设定errorstack来进一步查看问题发生时的详细信息

例:

SQL> conn /as sysdba

SQL> set time on

SQL> alter system set events ‘1017 trace name errorstack level 3’;

SQL