oracle读书笔记之体系结构一

来源:互联网 发布:java游戏制作培训 编辑:程序博客网 时间:2024/07/24 01:41
 oracle作为一个可移植的数据库,在不同的操作系统上必然会有不同的实现方法,但是,它的总体的体系结构是一样的(要不然开发成本就太高啦:em211.在oracle体系结构中,有三个主要的组件:
  1:文件 有参数文件,数据文件,临时数据文件和重做数据文件,这些都是物理存在的,用于存放我们用的表,索引,数据和pl/sql等信息.
  2:内存结构 有SGA(system global area),PGA,UGA等等,这些都是在数据库启动后运行的内存机制
  3:进程和线程 主要有服务器进程(server),后台进程(background)和从属进程(slave),和内存结构一样,是数据库启动后的进程机制.

  上述三个是oracle体系结构中三个主要的组件,在进一步熟悉他们之前,先了解两个术语:数据库和实例.
  其实也很好理解,数据库就是上述体系结构中的文件,我们经常说的倒数据库就是倒这些文件(中的一些),而实例就是上述体系结构中的内存(主要 指SGA)和进程,而它们之间的关系是:实例就相当于程序(如office word),而数据库就相当于一个对应程序可以打开的文件(如word文 档),不同的是,这个程序(实例)在一个时间点只能打开一个对应的文件(数据库)(大多数情况下)(区分他们的意义何在?)

  接下来讨论从客户端连接到数据库的问题:
  首先我们要知道我们是通过oracle客户端连接到oracle服务器的,在客户端里有一个tnsnames.ora的文件,在里面配置了可 以连接的数据库的信息,然后通过特定软件如toad,pl/sql developer,sqlplusw等连接到oracle服务器了(jboss是怎样连到oracle服务器的)备注:TNS Transparent Network Substrate(透明网络底层),是内建于oracle客户端的"平台"软件,用来处理远程连接,允许进行对等通信,另注:oracle服务器必须安装Net8并开启监听器(TNS Listener进程)才能接受客户端的请求.
  对于客户端连接而言,有两种不同的连接模式:专用服务器连接和MTS连接.专用服务器连接就是说对于每一个会话,服务器都会创建一个新的服务 器进程,在会话的整个生命周期内,都是在和对应的服务器进程打交道,而MTS连接就不同,它会在服务器启动时同时启动一个共享服务器池,相当于一个连接池 的概念,对于每一次客户端的请求,都会把请求放在SGA的请求对列里,等到第一个空闲的共享服务器然后分配给请求,执行完后把结果放在响应对列中.要注意 的是,一个oracle实例可以同时接收这两种请求 
原创粉丝点击