了解Oracle在Windows上的操作系统认证

了解Oracle在Windows上的操作系统认证

 

有些同学对在Windows上登陆sqlplus或plsqldeveloper时输入错误的账号/密码都能成功登陆到sysdba感到奇怪。

这实际上是很多初学Oracle的初学者都很容易遇到的问题,造成这个问题的原因很简单,就是Oracle有操作系统认证的特点。

 

当在Windows上安装oracle后会默认启动操作系统认证,这种认证主要是针对数据库管理员的,也就是sysdba角色。启用了操作系统认证后只要是属于合适的操作系统用户组下的用户,均可以不输入密码即登陆到sysdba。

操作系统认证的理念在于,当OS操作系统不安全时oracle数据库也并不能保证安全,所以依赖于OS的安全并不会有问题。

 

对应在Windows上的用户组名称为”ORA_DBA”(SYSDBA)和”ORA_OPER”(SYSOPER)。

以下几点对于Windows上的操作系统认证是重要的:

1、 对应的sqlnet.ora中有如下的记录:

SQLNET.AUTHENTICATION_SERVICES = (NTS)

 

2、使用的用户 可能属于这几个用户组: ORA_OPER、ORA_DBA、ORA_sid_OPER、ORA_sid_DBA

ORA_DBA代表对所有本机上的实例都可以以sysdba身份登录

ORA_OPER代表对所有本机上的实例都可以以sysoper身份登录

ORA_sid_OPER和ORA_sid_DBA 即只对变量$SID对应的实例生效

3、 有对应的注册表记录

 

所以初学的同学没必要惊讶于为什么输入错误密码也能以SYSDBA登录,一切的这些问题必要都有原因和解释,只要愿意用google搜索下那么大多数浅显的问题都能得到解释。如果一路惊讶而连google都不会了,那么才真变菜鸟了。

 

扩展阅读可以读下下面的文档:

视频教学 Oracle常见初学者错误ORA-1017的解决

 

 


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *