今天我们来说一说ORACLE的连接原理,继续请原谅我的不好好说话
每一个安装了ORACLE的主机都有一个程序叫监听,他就类似于写字楼的门卫。他的手里有一个单子,记录了本写字楼的地址和写字楼里注册在案的公司名(静态注册)。这个单子就是listener.ora。每一个客户端都相当于一个客人,客人到了门卫这里后,首先双方核对地址,确定客人的确要来这个写字楼找人(ip)。确定之后,再核对本写字楼有没有客人要找的公司(sid)。要是有的话,门卫就会给客人一个门卡,这个门卡叫“connect 包”。于是客人拿着这个门卡就去对讲机那刷了一下,告诉公司前台我是谁(用户验证),我来干嘛的(指定角色),这就叫RESEND。前台一看,的确是说好的客人,于是就打开了门,这就叫ACCEPT.
有同学会问,写字楼里有黑公司怎么办,比如专门卖水货包,尾单大牌这种。门卫的单子里肯定是没有的,那不是永远都去不了这些公司了嘛!别急,写字楼里还有个保安,叫PMON。PMON平时专门在大楼里四处逛,如果发现有客人走了,但是却没有把公司的门关上,他会热心的帮忙把门关上(
监视数据库的处理情况,负责清除死掉的进程),所以他对楼里的各家公司都非常熟悉,他就是楼里的活地图,这叫动态注册。所以一旦门卫listener发现单子上没有客人要找的公司,就会打电话给PMON,看看是不是有这样的一家没有登记的公司。如果找到了,那么你还是可以进去滴。