此文章介绍的是主机 OracleDB2 上的想关存储过程的规划与实施经验,在很大程度上帮助用户更好的了解主机 DB2 上的相关存储过程的基本特性以及其如何进行分类实施。随着主机 DB2 技术的发展,DB2 产品的功能越来越丰富。
以及 DB2 产品增强了对其分布式访问功能,所以正确配置 DB2 产品提供的存储过程,就越来越重要。对现在的主机数据库用户来说,DB2 9 for z/OS 下的存储过程已经从一个可选项逐渐演变成了在数据库应用开发考虑的重要因素。
在主机数据库存储过程的应用方面,除了用户可以根据需要开发存储过程外。主机数据库产品也提供了功能丰富的各类存储过程供用户使用。本篇就是为了帮助主机系统和开发人员更好的规划和实施基于主机Oracle数据库(DB2 for z/OS)的存储过程。
DB2 版本 9 以后,主机上所有的存储过程都统一由 z/OS 的一个子系统 WLM 来统一管理,WLM 是通过应用环境(Application Environment)来管理存储过程的,当存储过程被调用时,WLM 会自动启动和应用环境相应的启动作业来管理和实现所需要的存储过程功能。
我们可以把数据库存储过程分为 DB2 系统产品数据库存储过程和用户开发的存储过程。关于 OracleDB2 数据库系统产品的存储过程,按照存储过程的功能,开发语言,性能要求等,我们会设置不同的数据库存储过程运行环境。下面的篇幅会面较详细的介绍这方面的情况。
对于用户编写的存储过程,存储过程配置基本原则是一样,都需要根据实际应用开发功能和性能的要求进行规划实施,都需要根据具体要求进行具体分析,这里不再做主要描述。
存储过程的客户化规划和实施
在实施主机提供的 DB2 存储过程的时候,就象上文提到的,需要考虑到存储过程调用时的执行要求,这些要求包括存储过程执行的功能是怎么样的,调用时限定条件以及存储过程有无特殊性能要求等。正确配置 DB2 存储过程,以下几个方面是比较重要而应该被重点关注的:
同存储过程相关的 OracleDB2 子系统配置
由于 DB2 9 产品发布后,包括针对存储过程在内一些新的功能增强,DB2 系统都是通过实施 PTF 或 APAR 的方式来实现的,所以需要确认相关的数据库产品的 PTF 或 APAR 是否已经正确实施。具体需要实施的 PTF 或 APAR 可以参考相关的资料。
在 DB2 9 的安装流程里,安装界面 Panel DSNTIPX 是来配置和存储过程相关的参数的,是用来生成安装所需要的 Sample 作业。
清单 1. DB2 9 安装界面 DSNTIPX
其中,对于 DSNTIPX 所涉及到的参数,下面做一个简要的描述:
WLM ProC NAME
用来指定在安装过程中生成 Sample 中作业的缺省存储过程的名字。
NUMBER OF TCBS
用来指定在 WLM 启动的一个地址空间里,可以并发调用多少个存储过程。这个值也受到 USS 下的 MAXPROCUSER(每一个用户在主机 USS 环境下最大可以有多少个 processes)参数的限制。
MAX ABEND COUNT
在 DSNZPARM 里对应的参数是 STORMXAB,用来指定存储过程可以有多少次调用失败后,整个调用结束。缺省值为 0,意味着在存储过程第一次执行不正常结束时,存储过程调用结束。
TIMEOUT VALUE
对应的 DSNZPARM 参数是 STORTIME。用来指定在存储过程地址空间里,OracleDB2 容许等待存储过程分配 TCB 的时间,单位为秒。如果在这个时间段内没有被分配一个 TCB 来执行,存储过程调用失败。推荐不要设为 NOLIMIT,因为如果设为 NOLIMIT,当出现异常例如存储过程地址空间被关掉,存储过程调用请求会一直等待分配 TCB,直到条件满足或者 thread 被取消。
WLM ENVIRONMENT
对应的 DSNZPARM 参数为 WLMENV,用来指定在定义存储过程时,如果没有指定 WLM_ENVIRONMENT 的值时,系统会自动分配的 WLM 应用环境的名字。
MAX OPEN CURSORS
对应的 DSNZPARM 参数是 MAX_NUM_CUR,用来指定每一个 DB2 应用 thread 最大可以打开的 cursors 数量
MAX STORED PROCS
对应的 DSNZPARM 参数是 MAX_ST_PROC。用来设定 DB2 应用 thread 可以调用的最大存储过程数量。在每一次 COMMIT 后,重新开始记数。
主机 WLM 应用环境的规划和实施
OracleDB2 9 之后,所有的存储过程都运行在 WLM 应用环境管理之下,由于主机数据库下存储过程数量较多,我们在定制的时候,需要把具有类似属性的存储过程定义在一个应用环境下。目的是最大限度的减少 WLM 应用环境的定义数量。
当然如果你只是客户化少量的存储过程或者是对某些存储过程有一些特定的要求,例如性能或存储等,也可以定义粒度更小的 WLM 应用环境。另外在一些存储过程里所涉及的数据集里,有一些是需要具有 APF 属性的,需要特别注意。以下为一个 WLM 应用环境的定义例子,例子中应用环境所对应的启动作业为 DB11WLM1。
清单 2. 主机 WLM 应用环境定义界面
【编辑推荐】
程序设计中隐式转换与显式转换的差别是什么
隐式类型转换,也称自动类型转换,是指不需要书写代码,由系统自动完成的类型转换。 从存储范围小的类型到存储范围大的类型。
显式类型转换,也称强制类型转换,是指必须书写代码才能完成的类型转换。 该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。
去腾讯应聘需要什么要求??
加把油再好好找找
病毒的性质是什么
(一)非授权可执行性 用户通常调用执行一个程序时,把系统控制交给这个程序,并分配给他相应系统资源,如内存,从而使之能够运行完成用户的需求。 因此程序执行的过程对用户是透明的。 而计算机病毒是非法程序,正常用户是不会明知是病毒程序,而故意调用执行。 但由于计算机病毒具有正常程序的一切特性:可存储性、可执行性。 它隐藏在合法的程序或数据中,当用户运行正常程序时,病毒伺机窃取到系统的控制权,得以抢先运行,然而此时用户还认为在执行正常程序。 (二)隐蔽性 计算机病毒是一种具有很高编程技巧、短小精悍的可执行程序。 它通常粘附在正常程序之中或磁盘引导扇区中,或者磁盘上标为坏簇的扇区中,以及一些空闲概率较大的扇区中,这是它的非法可存储性。 病毒想方设法隐藏自身,就是为了防止用户察觉。 (三)传染性 传染性是计算机病毒最重要的特征,是判断一段程序代码是否为计算机病毒的依据。 病毒程序一旦侵入计算机系统就开始搜索可以传染的程序或者磁介质,然后通过自我复制迅速传播。 由于目前计算机网络日益发达,计算机病毒可以在极短的时间内,通过像 Internet这样的网络传遍世界。 (四)潜伏性 计算机病毒具有依附于其他媒体而寄生的能力,这种媒体我们称之为计算机病毒的宿主。 依靠病毒的寄生能力,病毒传染合法的程序和系统后,不立即发作,而是悄悄隐藏起来,然后在用户不察觉的情况下进行传染。 这样,病毒的潜伏性越好,它在系统中存在的时间也就越长,病毒传染的范围也越广,其危害性也越大。 (五)表现性或破坏性 无论何种病毒程序一旦侵入系统都会对操作系统的运行造成不同程度的影响。 即使不直接产生破坏作用的病毒程序也要占用系统资源(如占用内存空间,占用磁盘存储空间以及系统运行时间等)。 而绝大多数病毒程序要显示一些文字或图像,影响系统的正常运行,还有一些病毒程序删除文件,加密磁盘中的数据,甚至摧毁整个系统和数据,使之无法恢复,造成无可挽回的损失。 因此,病毒程序的副作用轻者降低系统工作效率,重者导致系统崩溃、数据丢失。 病毒程序的表现性或破坏性体现了病毒设计者的真正意图。 (六)可触发性 计算机病毒一般都有一个或者几个触发条件。 满足其触发条件或者激活病毒的传染机制,使之进行传染;或者激活病毒的表现部分或破坏部分。 触发的实质是一种条件的控制,病毒程序可以依据设计者的要求,在一定条件下实施攻击。 这个条件可以是敲入特定字符,使用特定文件,某个特定日期或特定时刻,或者是病毒内置的计数器达到一定次数等。
发表评论