总纲
client – server 类似使用 SQL PLUS 登录服务器
Java - 就是 client 是 java
web - 就是 http
client application : 就是类似 sqlplus, 应用程序
two task common: 转换,类似字符集转换
oracle net: is responsible for establishing and maintaining the connection between the client application and the server.
network protocol: TCP 协议
Oracle Net is a software component that resides on both the client and on the database server.
on the client side, Oracle Net is responsible for the following connectivity issues:
on the server side, Oracle Net performs the same tasks as the client except that it works with the listener to receive incoming connection requests.
two task common( TTC ) provides character set and data type conversion between different character sets or formats on the client and server.
传统7层网络协议 对比
Named Pipes : micro soft 开发针对局域网 ( 不要用 )
SDP: 更高端,一般用不到
B/S 结构
一种是中间件连接,另外一种是浏览器直接和数据库建立连接,直接连接这种比较少
这种多层架构,中间件与database 的连接与 client-server 类似,所以,在这个层面上看,中间件就是 client.
第一种实际上 是封装了 OCI, 底层还是用 OCI
global_names = db_name.db_doman
service name: 是站在客户端的角度来看待 service, 不需要知道太多细节,知道 service name 和一些连接信息 ( connect descripor)
connect descriptor: IP地址和端口号,另外就是 service name
listener: 监听进程, 所谓通信,是 client 端的一个进程和 server 端的一个进程来进行连接,所以 server端要先开启一个进程等着客户端的请求连接。
把 service 信息注册到 listener ( listener只负责监听,他不做处理,所以当client请求来了以后,listener监听到了,并把该内容交给其他进程处理 service handlers )
service handle: 服务处理者,listener只是先等着连接,连上后,它要把工作交给 service handle.
完整
然后 启动 instance ( 注册相关内容在 listener中, service registration, 就是告诉看门老大爷,政府已经上班了,有人来请求事情,可以告诉政府相关人员来处理了 )
可能有两次通讯,首先和 listener通信,再和 instance通信 ( 基本肯定 )
一般是使用 localized management
一般只要是使用 local naming, 超大型的使用 directory naming, 老师都没见过
tnsnames.ora: 小型
ldap.ora: 大型