[摘要]重做日志缓存区 用于在内存中存储未被刷新写入联机重做日志文件的重做信息 是Oracle在循环方式下使用的先进先出的缓冲区 大小可在初始化参数文件中由log buffer参数设定,以字节为单位 大缓存池 是Oracle的一个可选内存区,主要用于多线程的服务器或备份还原等操作 固定的SGA 用于存储极大量的值。
为了对实例进行操作,这些值需要在内部进行记录。
2. 程序全局区 PGA 在系统全局区可用的共享内存 连接到Oracle数据库的进程的私有的内存区--程序全局区 PGA 程序全局区不能共享 程序全局区含有单个进程工作时需要的数据、控制信息、进程会话变量和内部数组等 Oracle数据库系统的后台进程 图 2.10 典型的Oracle后台进程集合 在NT服务器上,后台进程的执行是作为Oracle Service的多线程实现的,它允许Oracle进程更有效地使用共享内存地址空间,从而减少了N T 操作系统处理。
2.4 Oracle数据库的应用结构 主要的应用结构有: 多磁盘结构 磁盘映像系统 客户/服务器系统 多线程服务器系统 并行数据库系统 分布式数据库系统 Oracle Web Server系统 多磁盘结构 图 2.14 多磁盘结构上的Oracle服务器 磁盘映像系统 磁盘映像的好处。
磁盘映像可以作为磁盘失效时的备份来使用。
可以改进系统的性能 客户/服务器系统 应用程序运行在客户端的工作站上,Oracle数据库运行在服务器上,二者通过以太网连接在一起。
为了使客户和服务器易于连接,Oracle提供了SQL*Net的高层网络协议。
在客户/服务器环境下,所有客户都安装了SQL*Net客户端软件,服务器则安装相应的服务端软件。
SQL*Net提供了一个程序代码的公用接口,而不用考虑其底层的实现。
基于客户/服务器的Oracle系统 图 2.15 基于客户/服务器的Oracle系统 客户机与服务器通信必须进行的几步操作 服务器必须配置成通过网络接受通信。
服务器必须识别哪个数据库允许网络登录。
服务器必须运行SQL*Net。
客户机必须配置成通过网络进行通信。
客户机必须有充足的内存和磁盘资源可供使用。
客户机必须已安装有SQL*Net,并指定一个连接字符串。
三层模式的Oracle系统 computer server 客户机1 客户机2 数据库服务器 应用程序服务器 图 2.16 三层模式的Oracle系统 三层配置的优点 可量测性 有利于应用程序的执行 易于分布式处理 提高了性能 能简化对客户机的维护 多线程服务器系统 多线程服务器 MTS 允许多用户会话共享一组服务器进程,因而减少了支持大量用户所必要的资源开销。
同时,多线程服务器的体系结构也允许降低这些服务器会话的全部空闲时间。
多线程服务器的体系结构不同于专用服务器。
共享服务器进程不直接与调度器或服务器进程交互,而是监控请求队列。
多线程服务器的下列参数进行设置 mts_dispatchers mts_servers mts_max_servers 可以通过在SQL*Plus中查询动态视图V$SESSION来确定当前连接到启动数据库的类型,若结果是DEDICATED,则目前是专用服务器配置;若结果是SHARED,则目前是多线程服务器。
查询命令为: SELECT server FROM V$SESSION WHERE audsid USERENV 'SESSIONID' ; 并行数据库系统 配置针对一个Oracle实例访问的数据库 针对两个或两个以上数据库实例 服务器 访问同一个数据库--Oracle并行服务器 oracle parallel server,OPS 3个独立的Oracle实例共享同一数据库文件 图 2.18 Oracle并行服务器 并行服务器的好处 可以增加数据库资源的数量或净值数量 允许数据库为更多的用户处理更多的工作 提供了一种对灾难进行恢复的手段 可以根据执行的进程的类型对用户进行分组,并且大量占用CPU的用户可以留在与常规联机处理事务相分离的一个主机上 设计使用并行数据库时需要注意的问题 可以使用不同的初始化参数配置在并行服务器数据库上运行的各种实例。
用户可以把系统设计为使用具有一个或多个富余实例的并行服务器,以便在主实例不可获取时仍能支持自己的所有用户。
如果硬件可以支持足够的节点,可以在相同的数据库上使用并行服务器的伸缩特性及故障恢复能力。
设计使用并行数据库时需要注意的问题 在设计多实例数据库时,在伸缩特性及故障恢复能力这两个功能之间进行明确的区分是非常重要的。
需要做好准备修改单实例数据库使