oracle数据库以sysdba角色登录时,任何用户名密码都可以登录的原因

一、oracle数据库登录认证的2种方式(windows系统)

1、操作系统认证:也叫本地认证,oracle认为操作系统是可靠的,只要能登录到操作系统,就能访问数据库。安装oracle时默认的就是这种认证方式

这种情况下,任何用户密码以sysdba角色都可以连接数据库,实际上都是作为sys登录的

2、口令文件认证:oracle认为操作系统是不可靠的,若要访问数据库,必须要输入用户密码

二、设置认证方式的方法

注:以下的sqlnet.ora文件,若电脑上有客户端,则需要设置客户端文件中的sqlnet.ora文件,没有客户端的话则设置服务器

端oracle文件夹中的sqlnet.ora文件

1、操作系统认证

(1)设置sqlnet.ora文件

SQLNET.AUTHENTICATION_SERVICES= (NTS)  

或者

SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)  (顺序颠倒也一样)

(2)在windows中创建ora_dba组,然后把需要使用操作系统认证的用户添加进来

打开方式(1):控制面板--管理工具--计算机管理--本地用户和组--组

打开方式(2):计算机--右键选择管理--计算机管理--本地用户和组--组

oracle数据库以sysdba角色登录时,任何用户名密码都可以登录的原因_第1张图片

oracle数据库以sysdba角色登录时,任何用户名密码都可以登录的原因_第2张图片
2、用户密码认证

(1)设置sqlnet.ora文件

SQLNET.AUTHENTICATION_SERVICES= (NONE)

或者注释掉

# SQLNET.AUTHENTICATION_SERVICES= (NTS)

你可能感兴趣的:(oracle数据库)