下图清楚地描述了Oracle Database Administrator的身份验证模式。
Oracle的验证模式有2种:
(1).Os Authentication:通过登陆操作系统的账号验证身份。
(2).Password Authentication:通过与Password file中的账号做匹对来验证身份。
从上图可以知道,我们有5种方式调用上面2种验证模式:
1.验证方式1
所谓“Local”包括两种情况:
(1).你直接登陆本机的Linux(界面/命令行)。
(2).你用putty等工具连接一个远端的Linux服务器,并登陆Linux(命令行)。
登陆之后,你就可以对数据库进行操作了。
如果你登陆系统的账号是属于dba这个Group的话。那么你就可以通过验证方式1直接登陆sqlplus,并操作数据库。
这里sqlplus并不要求我们输入登陆的账号密码,直接就可以登录sqlplus并对数据库进行操作。这是因为,我们登陆Linux的账号属于Group=502(dba)。而Oracle认为,如果操作系统账号已经属于dba这个组,那么这个操作系统的账号已经有足够权限对Oracle进行任何操作,所以sqlplus不会再要求在登录时输入sysdba的账号密码(也就说:不需要使用password file)。它的验证方式就如图1所示。
2.验证方式2
如果当登陆Linux的账号不属于group=501(dba)呢?比如:root。见下图:
当登陆系统的账号不属于group=501(dba)时,就算是root,也必须输入Oracle账号密码才能通过验证,也就是所谓的“使用Password file”。
3.验证方式3
什么是Remote呢?
比如:现在我们在Window下用sqlplus/其他工具连接处于远端的Oracle数据。此时,对于Oracle数据库而言,我们处在远端(Remote)。
什么是Secure Connection呢?
所谓Secure Connection,就是使用SSL或者其他加密算法对传输内容进行加密。比如:你在使用Net Configuration Assistent连接数据库时,会有这样一个选项:
其中,TCPS就代表Secure的意思!
当你选择使用TCPS协议时,你就可以使用OS Authentication的方式认证。
4.验证方式4
与验证方式3同理,不过使用的是Password file这种验证方式。
5.验证方式5
在使用工具连接远端数据库时,如果不使用Secure Connection,那么就只能使用Password file验证用户身份。