• OEM中无法用sys用户登录


    开始准备通过实验的方式,把这段日子来看的内容好好的实践一翻。于是乎打开了OEM,却神奇的发现不能用sys用户登录了,与此同时,其他的非sysdba用户可以登录。但是通过sqlplus可以用同样的密码作为sysdba登录,这是怎么一回事呢?

    sysdba或sysoper用户的登录有两种方式:一是通过os认证,二是通过密码文件验证。

    权限验证的大致顺序如下:

           1.根据$ORACLE_HOME/NETWORK/ADMIN下的sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES值来判定是进行os验证还是密码文件验证。 (NTS)表示为os验证;none或文件中没有该参数表示密码文件验证。

           2.os验证,根据当前用户的用户组判断是否具有sysdba权限,验证失败则进行密码文件验证

           3. 密码文件验证,参数REMOTE_LOGIN_PASSWORDFILE的值以及密码文件是否存在决定个验证的结果

    REMOTE_LOGIN_PASSWORDFILE 这个参数10.2的时候可选值有两个NONE,SHARED; 11G开始多了个exclusive(默认值)

          shared:One or more databases can use the password file. The password file can contain SYS as well as non-SYS users.

          exclusive:The password file can be used by only one database. The password file can contain SYS as well as non-SYS users.

          none: Oracle ignores any password file. Therefore, privileged users must be authenticated by the operating system.

    按照上面的顺序,先查看sqlnet.ora文件,发现SQLNET.AUTHENTICATION_SERVICES的值为nts,说明当前使用的是os认证。因为目前的认证原因,所以使用错误的密码只要是sys用户也能登录成功。所以猜测这次错误的原因是因为密码错误?

    事实上因为很久没碰了,忘记了具体的密码,于是乎更改密码 alter user sys identified by new_password; 这之后再次登录,成功。

    该类用户修改密码也有两种方法:

            alter user sys identified by new_password;

            orapwd file=PWDko.ora password=new_password entries=10 (一旦执行后,该密码文件中删除了除sys用户外的所有用户,对于曾有该权限的用户需要重新赋权

    密码文件的路径:

    linux:$ORACLE_HOME/dbs/orapw$ORACLE_SID  

    windows:$ORACLE_HOME/database/PW%ORACLE_SID%.ora

    查看密码文件中数据的状态可以查询v$pwfile_users视图

    该表中的数据会随着 grant sysdba to username而自动同步,列出拥有sysdba权限的用户

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

    翻了一下以前的笔记,曾在使用pl/sql developer时,这方面遇到错误: ORA-01017:invalid username/password;logon denied

    分析思路:检查密码-->检查验证方法-->检查REMOTE_LOGIN_PASSWORDFILE-->检查密码文件情况

  • 相关阅读:
    5.6Java 创建File
    5.6Java File ApI
    Java字符集乱码
    5.17Java文件的拷贝
    5.10Java实操IO流,面向接口编程,面向父类编程
    5.6Java File对象使用递归打印子孙级目录以及文件的名称
    5.10JavaIo流四大抽象类
    5.17Java文件字节流
    5.7通过Maven配置seleeniumjava依赖
    5.6Java多态的介绍
  • 原文地址:https://www.cnblogs.com/archersun/p/3173069.html
Copyright © 2020-2023  润新知