Oracle数据库的校验方式分为两类。
一类是非特权用户的登录校验。
一类是特权用户的登陆校验。
特权用户指的是sysdba和sysoper,要是用这两种特殊权限登录的用户,必须在连接串上加入“ as sysdba” 或 “ as sysoper ”子句。
对于非特权的普通用户,登录时采用的是数据字典校验,用户名和密码保存在数据库中。
也就是说,数据库必须处于open状态,这类用户才能够连接登录数据库。
而对于特权用户,校验的方式有三种:操作系统验证、密码文件验证、基于中间件的其他网络验证。
这三种校验方式有一个共同点,就是用户名和密码都独立于数据库,当发生宕库或者需要建库启库时,特权用户能够依托这三种校验方式连接到实例。
下面是我对特权用户的校验方式的理解
用户的连接数据库的行为被分为远程连接和本地连接。
本地连接是指登录到ORACLE数据库服务器,设定$ORACLE_SID,再使用某种校验方式连接。
远程连接是指通过ORACLE网络组件连接到数据库,特征是在连接字符串中要指明数据库的网络信息,
例如conn hr/hr@prod1。
也就是说,即便你登录到ORACLE数据库服务器,如果通过远程连接的方式连接本地数据库,这种连接也算是远程连接。
特权用户基于操作系统的验证方式在UNIX/LINUX平台中仅限于本地连接,必须要登录Oracle数据库软件中指定的用户组的用户,才能使用此种连接校验。
而密码文件验证方式可以是远程连接也可以是本地连接,区别是基于操作系统的验证方式不用输入用户名密码,而密码文件验证方式不管是远程连接还是本地连接都要输入用户名密码。
关于远程连接和本地连接,官方文档中说远程连接也可以使用操作系统验证方式进行验证,但是满足两个要求
1、连接必须是是Oracle网络文件认为的安全连接,像常用的 TCP/IP DECnet这种协议的连接都不是安全连接。
2、远程连接的数据库服务器和客户端必须同是windows平台,
具体连接串:
由此可见,在大多数情况下(UNIX/LINUX平台中)若要在不登录数据库服务器的情况下使用特权用户,只有使用密码文件校验这一条路了。
密码文件中主要就是记录了用户名、密码、特权这些信息,根据官方文档在使用orapwd工具创建密码文件中对entries选项的描述,可以推测一条用户信息(即一个entry)大小应该是128bytes。
密码文件的创建使用orapwd工具,对密码文件的共享、禁用、修改等,官方文档都写的很详细,网上的资料也有很多,这里就不多赘述。
一类是非特权用户的登录校验。
一类是特权用户的登陆校验。
特权用户指的是sysdba和sysoper,要是用这两种特殊权限登录的用户,必须在连接串上加入“ as sysdba” 或 “ as sysoper ”子句。
对于非特权的普通用户,登录时采用的是数据字典校验,用户名和密码保存在数据库中。
也就是说,数据库必须处于open状态,这类用户才能够连接登录数据库。
而对于特权用户,校验的方式有三种:操作系统验证、密码文件验证、基于中间件的其他网络验证。
这三种校验方式有一个共同点,就是用户名和密码都独立于数据库,当发生宕库或者需要建库启库时,特权用户能够依托这三种校验方式连接到实例。
下面是我对特权用户的校验方式的理解
用户的连接数据库的行为被分为远程连接和本地连接。
本地连接是指登录到ORACLE数据库服务器,设定$ORACLE_SID,再使用某种校验方式连接。
远程连接是指通过ORACLE网络组件连接到数据库,特征是在连接字符串中要指明数据库的网络信息,
例如conn hr/hr@prod1。
也就是说,即便你登录到ORACLE数据库服务器,如果通过远程连接的方式连接本地数据库,这种连接也算是远程连接。
特权用户基于操作系统的验证方式在UNIX/LINUX平台中仅限于本地连接,必须要登录Oracle数据库软件中指定的用户组的用户,才能使用此种连接校验。
而密码文件验证方式可以是远程连接也可以是本地连接,区别是基于操作系统的验证方式不用输入用户名密码,而密码文件验证方式不管是远程连接还是本地连接都要输入用户名密码。
点击(此处)折叠或打开
- --本地连接 操作系统验证方式
- conn / as sysdba
-
- --远程连接 密码文件验证
- conn sys/oracle@PROD1 as sysdba
-
- --本地连接 密码文件验证
- export ORACLE_SID=PROD1;
- conn sys/oracle as sysdba;
关于远程连接和本地连接,官方文档中说远程连接也可以使用操作系统验证方式进行验证,但是满足两个要求
1、连接必须是是Oracle网络文件认为的安全连接,像常用的 TCP/IP DECnet这种协议的连接都不是安全连接。
2、远程连接的数据库服务器和客户端必须同是windows平台,
具体连接串:
点击(此处)折叠或打开
- --远程连接 操作系统验证方式
- CONNECT /@net_service_name AS SYSDBA
- CONNECT /@net_service_name AS SYSOPER
由此可见,在大多数情况下(UNIX/LINUX平台中)若要在不登录数据库服务器的情况下使用特权用户,只有使用密码文件校验这一条路了。
密码文件中主要就是记录了用户名、密码、特权这些信息,根据官方文档在使用orapwd工具创建密码文件中对entries选项的描述,可以推测一条用户信息(即一个entry)大小应该是128bytes。
密码文件的创建使用orapwd工具,对密码文件的共享、禁用、修改等,官方文档都写的很详细,网上的资料也有很多,这里就不多赘述。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31470016/viewspace-2153041/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31470016/viewspace-2153041/