zoukankan      html  css  js  c++  java
  • 使用sys无法通过sqlplus或者sqldeveloper连接数据库

    现象:

    用sql developer或者sqlplus连接数据库,提示:ORA-01017: invalid username/password; logon denied。

    一般用户可以连接,因为这些用户是使用数据字典认证的。

    其它实例的sys用户也用正常连接。

    处理过程:

    (1)之前密码一直可用,周一上班发现不行,可能有人改了密码,于是用oracle用户登录数据库服务器,再使用OS认证登录数据库,使用alter user sys identified by ****,修改密码后,还是提示ORA-01017

    (2)查看dba_users,sys的状态是open。

    (3)查看密码文件是否丢失:

    在单实例中,密码文件的保存路径为$ORACLE_HOME/dbs/orapwSID,发现文件没丢失。

    (4)查看v$pwfile_users:

    SQL> select * from v$pwfile_users;

    no rows selected

    发现问题所有了,password文件中没有了sys,其它两个实例均有:

    SQL> select * from v$pwfile_users;

    USERNAME SYSDB SYSOP

    ------------------------------ ----- -----

    SYS TRUE TRUE

    (5)以为password file出问题了,于是重新建立一个

    bash-4.1$ pwd

    /opt/ORACLE/irms/product/10.2.0/db_1/dbs

    bash-4.1$ orapwd file=orapwIRMS password=Ora_8109#2 entries=30;

    (6)重新连接,问题依旧,查看初始化参数REMOTE_LOGIN_PASSWORDFILE

    SQL> show parameter REMOTE_LOGIN_PASSWORDFILE

    NAME TYPE VALUE

    ------------------------------------ ------------------------------

    remote_login_passwordfile string NONE

    正常情况下应该是EXCLUSIVE(默认值)。

    试图修改

    alter system set remote_login_passwordfile='EXCLUSIVE',修改失败,原因为不能修改SCOPE='MEMORY'的情形,而修改SCOPE='SPFILE',则需要重启实例,故放弃之。

    原因分析:

    可能是近期做的安全加固导致的问题,即取消了sys远程登录

    相关知识点:

    数据库认证方式有以下几种:

    (1)操作系统身份认证:以dba组的成员登录操作系统

    (2)口令文件身份认证:以orapwSID中的密码认证,dba常用

    (3)口令身份认证:以数据字典中的密码认证,sys不能以此种方式认证

    (4)外部身份认证:委托外部服务器

    5)全局身份认证:LDAP
  • 相关阅读:
    A1052. Linked List Sorting (25)
    A1032. Sharing (25)
    A1022. Digital Library (30)
    A1071. Speech Patterns (25)
    A1054. The Dominant Color (20)
    A1060. Are They Equal (25)
    A1063. Set Similarity (25)
    电子码表
    矩阵键盘
    对象追踪、临时对象追踪、绝对坐标与相对坐标
  • 原文地址:https://www.cnblogs.com/eaglegeek/p/4558048.html
Copyright © 2011-2022 走看看