1. 网络连接
从根本上讲,当客户发出请求时,通过使用tnsnames.ora文件首先解析Oracle Net Services的名称。tnsnames.ora文件中的参数将该请求指引到适当的数据库节点。监听器进程监听客户请求,并且将其与一个服务器进程相连接。该请求将被处理,其结果被返回到客户端机器
1.1 Oracle Net Services
使用 Oracle Net Services 可建立从客户机或中间层应用程序到 Oracle 服务器的网络连接。在客户机计算机上,Oracle Net 是一个用于连接到数据库的后台组件。在数据库服务器上,Oracle Net 包括一个称为监听程序的活动进程。通过配置其它的网络服务,可允许访问外部代码库 (EXTPROC),使用IPC协议。
2. 配置sqlnet.ora文件
sqlnet.ora文件控制着客户端Oracle Net Services的行为。Sqlnet.ora存放在客户端。
2.1 控制命名方法(naming methods)优先级
作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。
NAMES.DIRECTORY_PATH= (TNSNAMES,ONAMES, HOSTNAME)
Ø TNSNAMES: 本地命名。通过客户端的tnsnames.ora文件解析网络访问名。
sqlplus "user/password@service as sysdba"
Ø EZConnect | Hostname:允许用户通过使用(主机名+端口号+服务名)简单连接
2.2 操作系统身份认证
SQLNET.AUTHENTICATION_SERVICES=(NONE|ALL|NTS|kerberos5|radius|dcegssapi)
NONE:不进行操作系统验证,Linux和Windows均成功。
ALL:支持操作系统提供的其他身份验证。包括kerberos5,radius,dcegssapi验证。
NTS:支持Windows NT系统自己的身份验证,即只要用户属于DBA组即可以SYSDBA身份登录。该选项Linux不支持,只有将该值设为ALL,Linux才支持操作系统验证。
SQL> conn '/as sysdba'
如果用户要以SYSDBA身份登录数据库,Oracle将依据sqlnet.ora文件中SQLNET.AUTHENTICATION_SERVICES的设置来执行操作系统验证。如果该值设为NONE则Oracle改用口令文件进行验证。
操作系统验证优于口令文件验证。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20162/viewspace-1048530/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20162/viewspace-1048530/