今天下午遇到一个很怪异的问题,在windows平台下sqlplus/assysdba登陆数据库,提示权限不足,当时就纳闷了,sys用户登陆数据库还能权限不足,问题出现了,就开..
今天下午遇到一个很怪异的问题,在windows平台下sqlplus / as sysdba登陆数据库,提示权限不足,
我的SQLNET.AUTHENTICATION_SERVICES是NTS啊,那又是什么原因呢,再找
再分析一下操作系统用户登录操作系统后再访问数据库实例的行为。
使用sysdba 身份连接数据库实例,使用的认证方式是操作系统认证,香港服务器租用,而这一认证操作过程是操作系统根据它管理的信息去校验该用户是否可以连接数据库的过程。
因此,需要进一步分析的是,操作系统如果判断oracle 用户符合认证条件。很显然,我们这里的oracle 用户的权限被操作系统或者oracle 系统拒绝了。
Oracle 认为,需要满足下列条件的用户才能使用系统认证方式连接数据库实例。
1 、系统用户oracle 必须属于一个特定的组
该用户必须属于OSDBA 组才能以sysdba 身份登录。这里的OSDBA 组在不同类型的操作系 统 上,名称会不一样。在unix 系统上名称为“dba ” ,而在windows 系统上名称则为“ORA_DBA ” 。
2 、sqlnet.authentication_services 的参数必须设置正确
在unix 系统上,香港服务器,该参数值必须设置为ALL ,或者不设置;在windows 上,它必须设置为NTS
再看看,当前登录用户有没有加入到ORA_DBA,
坏了,我当前以administrator用户登陆,但是没有将其加入到ORA_DBA组里,原因找到
将administrator用户加入到ORA_DBA组里
再登陆数据库:sqlplus / as sysdba
ok,问题解决!
本文出自 “挨踢小蝌蚪” 博客,请务必保留此出处