如何利用简要注册表来管理DB2环境变量
内容提示:DB2 数据库与Oracle数据库有很多的相似性。据笔者所知,很多的DB2数据库管理员都是从Oracle数据库转型过来的。
在Oracle数据库中,对于环境变量的管理是一件比较麻烦的事情。在Windows操作系统上部署Oracle数据库的时候,数据库安装程序会自动设置Oracle相关的环境变量。但是在Linux等操作系统上部署Oracle数据库时,不得不手工来设置环境变量,而且必须在Linux操作系统上进行设置。这就对Oracle数据库管理员提出了特殊的要求。他们不仅要懂得Oracle数据库系统的专业知识,而且还必须要了解Linux操作系统的相关命令。
DB2数据库在这方面就比Oracle数据库要做的好。在DB2数据库中管理环境变量的话,不用再操作系统上完成。在DB2数据库中提供了一个叫做“简要注册表”的工具,或者说一张表。数据库管理员可以利用数据库命令来更改这张表中的环境变量值。然后数据库系统会自动将相关相关的内容更新到操作系统中,从而达到控制环境变量的目的。简单的说,在DB2数据库中环境变量的管理是跟数据库系统融为一体的。在不需要掌握Linux操作系统命令的情况下就可以配置数据库的环境变量。
一、简要注册表的类型。
在DB2数据库中,有多张简要注册表。每张简要注册表都负责特定级别的环境变量。
一是实例级别的简要注册表。在这张表中,保存了大量的DB2数据库变量标量。一般情况下,特定实例的环境变量都会保存在这张简要注册表中。而且,这个表中的环境变量具有比较高的优先性。在这个级别定义的环境变量的值与在全局级别的对应设置的值相互冲突的话,则这个级别的环境变量的值会取而代之。二是全局级简要注册表。如果对于特定的实例数据库管理员没有设置相关的环境变量,则会使用这张全局简要注册表。这个表中的环境变量具有在当前机器范围内有效的环境变量(前提是在实例级简要注册表中没有相冲突的设置)。三是DB2实例节点级简要注册表。在数据库应用比较复杂的环境中,往往会通过使用分布式部署环境来提高数据库的性能。当数据库分布于不同的数据库分区的系统中,这个注册表驻留在每个节点上(即每台服务器上,且包含在这服务器上存储数据的所有实例的环境变量的值。注意这个级别的设置优先性要比以上两个级别都要高,在这个级别上设置的环境变量的值将会取代在实例级别或者全局级别的对应设置。
笔者认为,在了解这些简要注册表的时候,最重要的是要了解其优先性。这就跟操作系统中环境变量一样,其有用户级、操作系统级别环境变量的限制。一般来说,其越靠近用户,其优先性越高,即采取的是就近原则。对于DB2注册表的优先性来说,也是如此。从以上的分析中可以看出,优先级最高的简要注册表是实例节点级简要注册表。其次是实例级别简要注册表。最后是全局级简要注册表。一般情况下,将一些共用的环境变量配置在级别比较低的简要注册表中,如全局级简要注册表中;或者可以将全部环境变量都配置在这全局简要注册表中,作为数据库的默认环境变量。然后在实例级别或者节点级别的配置中进行更改,采用用户个性化的设置。如此就可以减少环境变量的配置。总之,无论采取什么样的管理策略,数据库管理员必须要对这几张简要注册表的优先性有一个清晰的认识。以免在管理的时候,出现张冠李戴的现象。