Oracle sys用户远程登录失败 ORA-01031

今天在管理oracle的时候发现一个很奇怪的问题,通过sqlplus sys/password as sydba 或者 sqlplus / as sysdba均可以登陆。

但通过sqlplus sys/password@sid as sysdba登录的时候报错,显示

ORA-01031: insufficient privileges

明明是sys用户,为什么会登录不上呢?

这个原因是密码文件错误或失败导致的。Oracle通过密码文件来管理sysdba的权限。如果被赋予了

Sysdba权限,正常情况下在密码文件里就有用户与密码的记录。

经查:Oracle有两种认证的方式:

  1. 与操作系统集成认证方式

     

  2. 使用密码文件认证

过程中有以下几个疑点:

  1. oracle 密码文件是做什么用的呢?

主要是进行DBA权限的身份验证。

  1. Oracle密码文件存储在什么位置呢?

$ORACLE_HOME/dbs/orapw$ORACLE_SID

  1. 根据什么判断是使用操作系统集成认证还是使用密码文件认证呢?

    SQL> show parameter remote_login

     

    NAME TYPE VALUE

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

    remote_login_passwordfile string EXCLUSIVE

     

    其中remote_login_passworldfile有以下几个值:

  • shared

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

    一个或多个的数据库实例可以使用这个密码文件。内容含有sys和非sys用户

  • exclusive

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

    密码文件只能被一个实例使用。内容含有sys和非sys用户

  • none

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

    忽略任何密码文件。所以所有用户必须经过操作系统认证

经查数据库使用密码文件认证。那么需要重建密码文件。

orapwd file=$ORACLE_HOME/dbs/orapworcl password=password

提示已经有一个同名的文件

先删除orapwdorcl.ora 与orapwdorcl

rm orapwdorcl.ora

rm orapwdorcl

再执行

orapwd file=$ORACLE_HOME/dbs/orapworcl password=password

通过sqlplus sys/password@sid as sysdba登录还是提示

ORA-01031: insufficient privileges

Why?

经查执行orapwd命令缺少entries与force参数

orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=password entries=5 force=y

再次登录,成功。

 

 

 

Ref:

https://aprakash.wordpress.com/2010/06/01/sys-as-sysdba-insufficient-privileges/

http://blog.csdn.net/leshami/article/details/5611672

转载于:https://www.cnblogs.com/johnnyking/p/4244658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值