总纲
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:
- The location of the server
- Whether one or more protocol is involved in the connection
- How to handle exceptions and interrupts
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: 大型