Oracle体系结构理解(2)

页面导航:首页 > 数据库 > oracle > Oracle体系结构理解(2)

Oracle体系结构理解(2)

来源: 作者: 时间:2016-01-20 09:41 【

专用服务器与共享服务器1.专用服务器在我登陆时,Oracle总是会为我创建一个新的进程来连接Oracle服务器,这样配置的服务器叫做Oracle专用服务器,这个产生的服务器进程会在SGA生存周期
专用服务器与共享服务器
 
1.专用服务器
 
在我登陆时,Oracle总是会为我创建一个新的进程来连接Oracle服务器,这样配置的服务器叫做Oracle专用服务器,这个产生的服务器进程会在SGA生存周期里专门为我的请求服务。也就是说,每当我打开一个会话,则会产生一个进程,会话与服务器的对应关系是一对一的映射关系。
 
客户端 --> 1521端口:监听器 --> 生成进程 --> 连接实例 -->
 
而实例是通过parameter文件查找control文件的位置,来构建起与数据库进行数据交换的桥梁的。
 
2.共享服务器
 
在共享服务器当中,使用共享进程池来为大量的用户提供服务(类似排队的机制)。
 
不像专用服务器,我们不必每次为连接过来的客户端专门打开一个进程进行服务,如果我有10000个用户同时访问数据库,那么我们要打开10000个进程,这会使得我的Oracle服务器资源损耗巨大,甚至将服务器压垮。但是我在进程共享池里打开100个进程供所有用户使用,在管理进程的时候,由于进程数不大,提高管理效率,而且不会由于负载过大而造成崩溃的状态。
 
但是为了有效的管理这100个进程,需要引入一个新的概念叫做调度器来管理,当客户端对服务器进行访问,监听器收到客户端请求,监听器通过调度器了解到这100个进程中其中一个进程正在空闲当中,那么就会回复客户端哪个进程正在闲置并且进行访问。然后访问实例,进而访问数据库。
 
客户端 --> 1521端口:监听器 -->调用调度器 -->发现18888进程正在闲置 --> 回复客户端通过18888进程进行访问 --> 客户端通过18888端口访问实例 --> 数据库
 
3.TNS透明网络底层
 
tns是处理Oracle远程访问的基本软件,查看一下Oracle工作目录下的tnsnames.ora,在$ORACLE_HOME/network/admin/下。查看一下内容:
    ORCL = 
        (    DESCRIPTION =
            (    ADDRESS =
                (    PROTOCOL = TCP)
                   ...
))
 
这里配置着客户端要访问哪个主机的哪个端口,使用哪一个实例来访问底层数据库。
 
在Server端也会存放着Client端的相关信息,类似于的ssh服务ssh_know_hosts文件。
 
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<