3.8 并行服务器数据库
3.8.1 理解并行服务器的优点
Oracle并行服务器用于两种基本的应用类型:那些需要高可用性与那些可以与底层硬件一起移植的应用。为了让并行实例运行,需要比单实例数据库更多的组件。
本节将介绍这些附加的组件都是什么,以及怎样使用这些组件管理并行服务器数据库。
并行服务器是一个选项,允许两个或更多的实例同时装配在相同的数据库上。使用多实例,可以增加数据库资源的数量或净值数量。这些资源包括:
(1)系统全局区,包括共享池空间与数据库调整缓存。
(2)后台进程如数据库写(DBWR)、日志写(LGWR)与并行处理伺服器。
(3)用户进程。
(4)Oracle Net或Net 8监听器。
图3-6显示了这些资源在并行实例中是怎样成倍增长的。这些增长允许数据库为更多的用户处理更多的工作,这也是多数人归因于并行服务器的最主要的好处。只要使用了长时期伸缩性机制,当增加更多的硬件结点时,也可以启动更多的实例。
图3-6 单实例与并行服务器实例和资源
并行服务器可以帮助增加正在做的任务数,而对相同数量的用户,不会增加每项工作的持续时间或减少同步工作的总时间。如果工作可以在可用的实例之间分散以避免对可用资源的竞争,就可以实现这个目标。
可以使用不同的初始化参数配置在并行服务器数据库上运行的各种实例。这使得可以根据用户需求,为进行繁重事务处理的用户调整一些实例,以最好地支持批报表程序并优化联机决策支持活动。如果实例运行在具有不同能力的结点上,如内存大小、CPU数量或CPU能力,也需要分别配置它们。
另外,附加的实例可以为用户与数据库管理员提供安全覆盖。有许多事件(有计划的与无计划的),会导致Oracle实例停止运行。在单实例数据库中,一个停止的实例对用户及他们的应用关闭了所有对数据库的存取。在并行实例中,运行在一个停止实例上的用户可以重新连接到一个仍在运行的实例上。对Oracle8的用户来说,如果应用使用了特定的Oracle调用接口(OCI)调用,Oracle Net配置文件具有正确的条目,这个重新连接可以自动实现。可以设计你的系统使用具有一个或多个富余实例的并行服务器,以便在主实例不可获取时支持你的所有用户。
如果硬件可以支持足够的结点,可以在相同的数据库上使用并行服务器的伸缩特性及故障恢复能力。只需简单地在一个或多个结点上保留实例,用于故障恢复的情况,而不用为性能的提升而同时运行它们。在设计多实例数据库时,在这两个功能之间进行明确的区分是非常重要的。将工作转移到因为故障恢复的原因才保留的实例上,在失败实例的用户需要使用它时,将会导致竞争与性能问题。
3.8.2 单实例与并行服务器数据库的比较
为完全理解并行数据库的组织结构,需要很好掌握数据库与实例的区别。数据库是由存储在硬盘上的一套文件组成的,包括数据文件、重做日志文件及控制文件;实例包括一套内存结构与进程,主要的结构称为系统或共享全局区(SGA),需要的后台进程是数据库写(DBWR)进程、重做日志写(LGWR)进程、系统监控(SMON)进程与进程监控(PMON)进程。如果运行Oracle,CKPT进程也是一个强制性的后台进程,还有许多可以通过设置初始化文件中的参数启动的选择性进程。
Oracle并行服务器需要附加的后台进程。其中一些由初始化参数启动,另外一些自动启动,与非并行实例的强制性进程一样。需要哪个进程,可以使用初始化参数控制哪个进程,依赖于正运行的Oracle的版本,但至少总是需要一个负责管理实例之间封锁的锁(LCK)进程。
提示需要做好准备修改单实例数据库使用的init.ora参数,以使并行服务器使用的多个实例可以成功地相互作用。一些参数在每个实例中都是相同的,另一些需要映射每个单独的实例的使用。
还需要知道如何在并行方式下启动一个实例。一个Oracle实例通常会在启动时锁定这些控制文件,禁止任何其他的实例使用。为设置这个锁,实例必须以并行方式或共享方式打开。
注意:实例管理GuI屏幕是Oracle的企业管理器产品的一部分,只能运行在NT平台上。也存在专门的并行服务器管理GUI工具,但它们也被限制在NT平台上使用。然而,使用其他操作系统的数据库也可以使用这些工具,只要为数据库服务器将NT平台配置为客户端。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。