DB2 10.5 for Linux, UNIX, and Windows

其他变量

可使用 DB2® 变量来控制和维护数据库。当设置变量时,可控制诸如下列各项之类的区域:缺省管理服务器、缺省客户机路径以及在退出应用程序时落实已对数据进行的更改的能力。

DB2ADMINSERVER
  • 操作系统:Windows 和 UNIX
  • 缺省值:NULL
  • 指定 DB2 管理服务器。
DB2_ATS_ENABLE
  • 操作系统:所有操作系统
  • 缺省值:NULL;值:YES/TRUE/ON/1 或者 NO/FALSE/OFF/0
  • 此变量用于控制管理任务调度程序是否正在运行。缺省情况下,管理任务调度程序处于禁用状态。当此调度程序处于禁用状态时,可以使用内置过程和视图来定义和修改任务,但是此调度程序将不执行任务。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2AUTH
  • 操作系统:所有操作系统
  • 缺省值:未设置。值:DISABLE_CHGPASSOSAUTHDBSQLADM_NO_RUNSTATS_REORGTRUSTEDCLIENT_DATAENCTRUSTEDCLIENT_SRVRENCJCC_ENFORCE_SECMECDISABLE_SYSMON_CONNECT
  • 此变量允许您调整用户认证的行为。有效值如下所示:
    • ALLOW_LOCAL_FALLBACK:此值允许 DB2 服务器在配置为使用类属安全性服务 (GSS) 插件时回退到使用 SERVER 认证进行本地隐式连接。如果启用了 ALLOW_LOCAL_FALLBACK,那么对于本地隐式连接,会使用 srvcon_pw_plugin 数据库管理器配置参数指定的用户标识和密码插件来认证用户,而不是使用指定的 GSS 认证,例如,KERBEROSKRB_SERVER_ENCRYPTGSSPLUGINGSS_SERVER_ENCRYPT
      发出与本地数据库的连接(请注意,本地 意味着仅 IPC 而不是 TCP/IP)时会创建本地隐式连接而不提供用户标识或密码。DB2 使用当前会话或进程的用户标识作为此连接的用户标识。DB2 提供的密码插件假定操作系统已认证从操作系统检索到的用户标识,因此不需要验证密码。
      注: 如果提供用户标识和密码,那么不会将此连接视为本地隐式连接,并且 ALLOW_LOCAL_FALLBACK 选项不适用。

      DB2 使用的密码插件由 srvcon_pw_plugin 数据库管理器配置参数确定。如果 srvcon_pw_plugin 参数设置为 IBMLDAPauthserver,那么 IBMLDAPauthserver 插件会处理本地隐式连接。如果 srvcon_pw_plugin 参数设置为定制安全插件,那么此定制插件会处理本地隐式连接。如果未设置 srvcon_pw_plugin 参数,那么缺省插件 (IBMOSauthserver) 会处理此本地隐式连接。DB2 数据库产品提供的安全插件始终允许本地隐式连接,因为它们假定操作系统已验证用户。

    • DISABLE_CHGPASS:此值禁用从客户机更改密码的能力。
    • OSAUTHDB:此值指示 DB2 数据库管理器使用用户在 AIX® 操作系统上的认证和组设置。透明 LDAP 支持也已扩展到 Linux、HP-UX 和 Solaris 操作系统。LDAP 服务器可以是下列任何一项:
      • IBM® Tivoli® Directory Server (ITDS)
      • Microsoft Active Directory (MSAD)
      • Sun One Directory Server
    • SQLADM_NO_RUNSTATS_REORG:此值是在 DB2 V9.7 FP5 中引入的,用于使具有 SQLADM 权限的用户无法执行 reorg 或 runstats 操作。
    • TRUSTEDCLIENT_DATAENC:此值强制不可信客户机使用 DATA_ENCRYPT。此值不适用于 DB2 Connect™ 网关。
    • TRUSTEDCLIENT_SRVRENC:此值强制不可信客户机使用 SERVER_ENCRYPT。此值不适用于 DB2 Connect 网关。
    • JCC_ENFORCE_SECMEC:当认证值设置为 SERVER_ENCRYPT 时,FP4 中引入的此值强制 DB2 服务器不接受 CLEAR_TEXT_PASSWORD_SECURITY 安全性机制。
    • DISABLE_SYSMON_CONNECT:此值移除 SYSMON 的连接至数据库的隐式特权。
  • 可使用 db2set 命令来为 DB2AUTH 设置多个值。必须用逗号分隔每个值。例如,如果希望 DB2AUTH 启用 DISABLE_CHGPASSOSAUTHDB,请使用以下命令:
    db2set DB2AUTH=DISABLE_CHGPASS,OSAUTHDB
    注: 无法同时启用 TRUSTEDCLIENT_SRVRENCTRUSTEDCLIENT_DATAENC
DB2_BCKP_INCLUDE_LOGS_WARNING
  • 操作系统:所有操作系统
  • 缺省值:FALSE,值:FALSETRUE
  • 指定无法包括所有必需日志文件的联机备份是否应该仍可以成功完成。缺省情况下,未显式指定 INCLUDE LOGSEXCLUDE LOGS 选项的联机备份在未成功包括所有日志时会失败。此变量设置为 TRUE 时,将允许这些备份成功,但会出现警告。

    在 SAP 环境中,如果设置了 DB2_WORKLOAD=SAP,那么此注册表变量的缺省值为 TRUE

DB2_BCKP_PAGE_VERIFICATION
  • 操作系统:所有操作系统
  • 缺省值:FALSE,值:FALSETRUE
  • 指定备份期间是否进行 DMS 和 AS 页面验证。
DB2CLIINIPATH
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于替换 CLI/ODBC 配置文件 (db2cli.ini) 的缺省路径并指定客户机上另一个位置。指定的值必须是客户机系统上的有效路径。
DB2_COMMIT_ON_EXIT
  • 操作系统:UNIX
  • 缺省值:OFF,值:OFF/NO/0ON/YES/1
  • 在 UNIX 操作系统上,在 DB2 UDB V8 之前的版本中,当成功退出应用程序时,DB2 将落实任何剩余的未完成的事务。在 DB2 UDB V8 中,该行为更改为退出时将回滚未完成的事务。此注册表变量使依赖于先前行为的嵌入式 SQL 应用程序的用户能够在 DB2 V9 中继续运行该应用程序。此注册表变量不影响 JDBC、CLI 和 ODBC 应用程序。

    请注意,建议您不要使用此注册表变量,并且将来的发行版中不再支持“退出时落实”这种行为。用户应该确定他们在 DB2 V9 之前开发的任何应用程序是否继续依赖于此功能,并根据需要在应用程序中添加适当的显式 COMMIT 或 ROLLBACK 语句。如果打开此注册表变量,那么应该注意不要实现在退出前未能显式地执行落实 (COMMIT) 的新应用程序。

    大多数用户都应该将此注册表变量保留为缺省设置。

DB2_COMMON_APP_DATA_PATH
  • 操作系统:Windows
  • 缺省值:Windows 的 C:\ProgramData\
  • 指向用于保存 DB2 副本的 DB2 公共应用程序数据的用户定义位置。如果在安装响应文件期间指定了 DB2_COMMON_APP_DATA_TOP_PATH 或在定制安装步骤期间填充了“DB2 公共应用程序数据顶部路径”字段,那么会填充此注册表变量。

    从 V9.7 FP5 开始,此注册表变量在 db2set 命令输出中可视,但不可更改。更改给定注册表值的任何尝试都将导致错误。

DB2_COMPATIBILITY_VECTOR
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:NULL 或者 00FFF
  • DB2_COMPATIBILITY_VECTOR 注册表变量用来启用自从 DB2 V9.5 以来引入的一个或多个 DB2 兼容性功能部件。通过这些功能部件,更容易完成将对其他关系数据库供应商编写的应用程序迁移到 DB2 V9.5 或更高版本的任务。
  • DB2_COMPATIBILITY_VECTOR 被表示为一个十六进制值,该变量中的每个位启用其中一个 DB2 兼容性功能部件,如 DB2_COMPATIBILITY_VECTOR 值表中所述。要启用所有受支持的兼容性功能部件,请将此注册表变量设为值 ORA(此值等价于十六进制值 FFF)。这是建议设置。
DB2CONNECT_DISCONNECT_ON_INTERRUPT
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES/TRUE/1NO/FALSE/0
  • 当此变量设为 YESTRUE1)时,它指定在发生中断时,应立即断开与 V8(或更高版本)的 DB2 Universal Database™ z/OS® 服务器的连接。可以在下列配置中使用此变量:
    • 如果正在将 DB2 客户机与 V8(或更高版本)DB2 UDB z/OS 服务器配合使用,那么在该客户机上将 DB2CONNECT_DISCONNECT_ON_INTERRUPT 设为 YES
    • 如果正在通过 DB2 Connect 网关对 V8(或更高版本)DB2 UDB z/OS 服务器运行 DB2 客户机,那么在该网关上将 DB2CONNECT_DISCONNECT_ON_INTERRUPT 设为 YES
DB2_CREATE_DB_ON_PATH
  • 操作系统:Windows
  • 缺省值:NULL,值:YESNO
  • 将此注册表变量设为 YES,以支持将一个路径(以及驱动器)用作数据库路径。创建数据库时、设置数据库管理器配置参数 dftdbpath 时以及复原数据库时,将检查 DB2_CREATE_DB_ON_PATH 的设置。标准数据库路径长度可达 215 个字符。

    创建或恢复数据库时,如果没有设置 DB2_CREATE_DB_ON_PATH(或将其设为 NO)且指定了数据库路径,那么会返回错误 SQL1052N

    如果没有设置 DB2_CREATE_DB_ON_PATH(或将其设为 NO)且更新了 dftdbpath 数据库管理器配置参数,那么会返回错误 SQL5136N

    警告:
    如果使用路径支持功能来创建新数据库,那么在 DB2 V9.1 之前编写的使用 db2DbDirGetNextEntry() API 和其旧版本的应用程序可能无法正常工作。有关各种方案和正确操作过程的详细信息,请参阅 http://www.ibm.com/software/data/db2/support/db2_9/
DB2_DDL_SOFT_INVAL
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ONOFF
  • 允许在适用的数据库对象被删除或更改时使其软失效。
    如果 DB2_DDL_SOFT_INVAL 设为 ON,那么任何 DDL 操作(例如删除、更改或拆离)不必等待引用相同对象的事务完成即可启动。依赖于这些对象的当前执行将继续使用原始的对象定义,而新执行将使用更改后的对象。这将提高发出 DDL 语句时的并行性。
    注: 新的软失效功能仅适用于动态程序包。任何使用静态程序包的对象仍要求执行硬失效操作。
DB2_DISABLE_FLUSH_LOG
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ONOFF
  • 指定在联机备份完成时,是否禁止关闭活动日志文件。

    当联机备份完成时,最后一个活动日志文件将被截断、关闭并且可以归档。这样就可确保您的联机备份有一组完整的归档日志可用于恢复。如果担心这样会浪费日志空间,那么可能要禁用关闭最后一个活动日志文件。

    如果您在完成联机备份后不久就收到日志已满的消息,那么可能也需要禁止关闭最后一个活动日志文件。当一个日志文件被截断时,剩余的活动日志空间根据被截断的日志大小的比例递增。回收截断的日志文件时,将释放活动日志空间。日志文件处于不活动状态后不久,就会进行回收。在这两个事件之间的短暂时间间隔内,您将收到日志已满的消息。

    在任何备份(包括日志)期间,此注册表变量将加以忽略,因为活动日志文件必须被截断并关闭才能使备份包括日志。

  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2_DISPATCHER_PEEKTIMEOUT
  • 操作系统:所有操作系统
  • 缺省值:1,值:032767 秒;0 表示立即超时
  • DB2_DISPATCHER_PEEKTIMEOUT 允许您调整分派器等待客户机的连接请求直至将客户机挂起至代理程序的时间,该时间以秒计。在大多数情况下,您不需要调整此注册表变量。此注册表变量只影响启用了 DB2 Connect 连接集中器的实例。

    此注册表变量和 DB2_SERVER_CONTIMEOUT 注册表变量都配置在连接期间处理新客户机的方式。如果有很多客户机以很慢的速度与实例进行连接,那么分派器将对每个客户机分配长达 1 秒的超时时间;如果很多客户机同时进行连接,那么会导致分派器瓶颈。如果具有多个活动数据库的实例连接速度很慢,那么 DB2_DISPATCHER_PEEKTIMEOUT 可能小于 0。降低 DB2_DISPATCHER_PEEKTIMEOUT 会导致分派器只观察已有客户机的连接请求,而不等待该连接请求到达。如果设置了无效值,那么将使用缺省值。此注册表变量不是动态的。

DB2_DJ_INI
  • 操作系统:所有操作系统
  • 缺省值:
    • UNIX:db2_instance_directory/cfg/db2dj.ini
    • Windows:db2_install_directory\cfg\db2dj.ini
  • 指定联合配置文件的绝对路径名,例如:db2set DB2_DJ_INI=$HOME/sqllib/cfg/my_db2dj.ini,此文件包含数据源环境变量的设置。这些环境变量由 Informix® 包装器以及 InfoSphere® Federation Server 提供的包装器使用。
    下面是一个样本联合配置文件:
    INFORMIXDIR=/informix/client_sdk
    INFORMIXSERVER=inf93
    ORACLE_HOME=/usr/oracle9i
    SYBASE=/sybase/V12
    SYBASE_OCS=OCS-12_5
    下列限制适用于 db2dj.ini 文件:
    • 各个条目必须遵循以下格式:evname=value,其中 evname 是环境变量的名称,而 value 是它的值。
    • 环境变量名称的最大长度为 255 字节。
    • 环境变量值的最大长度为 765 字节。

    除非数据库管理器参数 federated 设为 YES,否则此变量将加以忽略。

DB2_DMU_DEFAULT
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:IMPLICITLYHIDDENMISSINGIMPLICITLYHIDDENINCLUDE
  •  此变量允许您设置在装入、导入、INGEST 和导出实用程序省略列列表时是否包含隐式隐藏列的缺省行为。有效值如下所示:
    NULL
    这意味着未指定缺省行为。如果表包含隐式隐藏列,那么实用程序必须显式指定列列表或必须指定隐藏列选项。否则,会发生错误。
    IMPLICITLYHIDDENMISSING
    实用程序假定缺省情况下未包含隐式隐藏列,除非指定了列列表或隐藏列选项。
    IMPLICITLYHIDDENINCLUDE
    实用程序假定缺省情况下包含隐式隐藏列,此时既未指定列列表也未指定隐藏列选项。
    考虑说明 DB2_DMU_DEFAULT 的设置对装入操作结果的影响的以下示例:
    • DB2_DMU_DEFAULT 设为 IMPLICITLYHIDDENMISSING
      db2 load from delfile1 of del insert into table1
      如果 table1 包含隐式隐藏列,那么装入实用程序假定隐式隐藏列的数据不在输入文件中。
    • DB2_DMU_DEFAULT 设为 IMPLICITLYHIDDENINCLUDE
      db2 load from delfile1 of del insert into table1
      如果 table1 包含隐式隐藏列,那么装入实用程序假定隐式隐藏列的数据在输入文件中并尝试装入该数据。

DB2_DOCHOST
  • 操作系统:所有操作系统
  • 缺省值:未设置(但 DB2 仍将尝试从 IBM Web 站点访问信息中心),值:http://hostname,其中 hostname 是有效的主机名或 IP 地址
  • 指定安装了 DB2 信息中心的主机名。如果在 DB2 安装向导中选择了自动配置选项,那么在安装 DB2 信息中心期间可以自动设置此变量。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2_DOCPORT
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:任何有效端口号
  • 指定 DB2 帮助系统为 DB2 文档服务时使用的端口号。如果在 DB2 安装向导中选择了自动配置选项,那么在安装 DB2 信息中心期间可以自动设置此变量。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2DSDRIVER_CFG_PATH
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 此变量为 db2dsdriver.cfg 配置文件指定多个路径和名称对。如果仅对路径和名称对指定路径,那么文件名缺省为值 db2dsdriver.cfg。如果仅对路径和名称对指定文件名,那么路径缺省为基于操作系统和驱动程序类型的位置。可指定任何文件扩展名,其中包括 .cfg。有关详细信息,请参阅 db2dsdriver.cfg 配置文件位置

    单个路径名对可具有的最大长度是 255 个字符。环境变量值的最大字符数取决于操作系统。

  • 可使用下列定界字符来对每个路径和名称对进行区别:
    • 在 Windows 操作系统上,使用分号 (;)。
    • 在 Linux 和 UNIX 操作系统上,使用分号 (;) 或冒号 (:)。不能将分号字符和冒号字符一起用作定界符。
    不要在目录名称中使用定界字符。
  • 会按您为 DB2DSDRIVER_CFG_PATH 变量的值指定的顺序从左到右按顺序搜索目录。
  • 句点 (.) 指定当前目录。
DB2DSDRIVER_CLIENT_HOSTNAME
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于覆盖 (db2dsdriver.cfg) 配置文件的缺省客户机主机名。该变量强制 CLIdb2dsdriver.cfg 文件的客户机自动重新路由部分中选取客户机主机名条目。
DB2_ENABLE_AUTOCONFIG_DEFAULT
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:YESNO
  • 此变量控制创建数据库时是否自动运行配置顾问程序。如果未设置 DB2_ENABLE_AUTOCONFIG_DEFAULT (NULL),那么效果等同于将该变量设为 YES,因此创建数据库时将运行配置顾问程序。设置此变量后,不需要重新启动实例。如果执行 AUTOCONFIGURE 命令或者运行 CREATE DB AUTOCONFIGURE,那么这些命令将覆盖 DB2_ENABLE_AUTOCONFIG_DEFAULT 设置。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2_ENABLE_LDAP
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YESNO
  • 指定是否使用“轻量级目录访问协议”(LDAP)。LDAP 是一种目录服务访问方法。
DB2_EVMON_EVENT_LIST_SIZE
  • 操作系统:所有操作系统
  • 缺省值:0(没有限制),值:以 KB/Kb/kb、MB/Mb/mb 或 GB/Gb/gb 计;虽然此变量没有固定的上限,但它受监视器堆中的可用内存量限制。
  • 要点: 建议不要在 V10.5 中使用此注册表变量,在将来的发行版中可能会将其移除。设置此注册表变量没有任何作用,这是因为在 V9.7 中对底层的事件监视器基础结构进行了更改。
  • 此注册表变量指定排队等待写入特定事件监视器的最大字节数。达到此限制后,尝试发送事件监视器记录的代理程序将等待,直到队列大小降低到小于此阈值为止。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
注: 如果无法从监视器堆分配活动记录,那么这些记录将被删除。为了防止出现这种情况,请将 mon_heap_sz 配置参数设为 AUTOMATIC。如果将 mon_heap_sz 设为特定值,那么确保 DB2_EVMON_EVENT_LIST_SIZE 设为更小的值。但是,这些操作不能保证活动记录不被删除,因为监视器堆还用于跟踪其他监视元素。
DB2_EVMON_STMT_FILTER
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:
    • ALL:指示将过滤所有语句事件监视器的输出。此选项是独占选项。
    • 'nameA nameB nameC':字符串中的每个名称表示要对其过滤记录的事件监视器的名称。如果提供了多个名称,那么必须用一个空格分隔每个名称。DB2 将使所有输入名称为大写。可以指定的事件监视器的最大数目为 128。每个监视器的名称最长可以为 128 个字符。
    • 'nameA:op1,op2 nameB:op1,op2 nameC:op1':字符串中的每个名称表示要对其过滤记录的事件监视器的名称。每个选项(op1op2 等等)都表示指向特定 SQL 操作的整数值映射。指定整数值允许用户确定对哪个事件监视器应用哪些规则。
  • 可以使用 DB2_EVMON_STMT_FILTER 来减少语句事件监视器写入的记录数。设置了此注册表变量时,它仅导致下列 SQL 操作的记录写入指定的事件监视器:
    表 1. 要用于 DB2_EVMON_STMT_FILTER 以对特定 SQL 操作限制事件监视器输出的值
    SQL 操作 整数值映射
    EXECUTE 2
    EXECUTE_IMMEDIATE 3
    CLOSE 6
    STATIC COMMIT 8
    STATIC ROLLBACK 9

    所有其他操作将不会出现在语句事件监视器的输出中。为定制要将其记录写至事件监视器的操作集合,请使用整数值。

    示例 1:
    db2set DB2_EVMON_STMT_FILTER= 'mon1 monitor3'
    在此示例中,mon1 和 monitor3 事件监视器将接收受限应用程序请求列表的记录。例如,如果 mon1 语句事件监视器正在监视的应用程序准备动态 SQL 语句、根据该语句打开游标、从该游标中访存 10,000 行,然后发出游标关闭请求,那么只有关闭请求的记录出现在 mon1 事件监视器输出中。
    示例 2:
    db2set DB2_EVMON_STMT_FILTER='evmon1:3,8 evmon2:5,9'
    在此示例中,evmon1 和 evmon2 将接收受限应用程序请求列表的记录。例如,仅当由 evmon1 语句事件监视器监视的应用程序发出创建语句时,立即执行和静态落实操作才会出现在 evmon1 事件监视器输出中。仅当 evmon2 语句事件监视器监视的应用程序执行涉及访存和静态回滚的 SQL 时,这两个操作才会出现在 evmon2 事件监视器输出中。
注: 要了解数据库系统监视器常量的定义,请参阅 sqlmon.h 头文件。
DB2_EXTSECURITY
  • 操作系统:Windows
  • 缺省值:YES,值:YESNO
  • 通过锁定 DB2 对象(系统文件、目录和 IPC 对象)来防止对 DB2 进行未经授权的访问。为避免发生潜在的问题,不应该关闭此注册表变量。如果未设置 DB2_EXTSECURITY,其值在 DB2 数据库服务器产品上解释为 YES,在客户机上解释为 NO
DB2_FALLBACK
  • 操作系统:Windows
  • 缺省值:OFF,值:ONOFF
  • 此变量允许在回退处理期间强制所有数据库连接断开。它与故障转移支持一起用于带有 Microsoft Cluster Server (MSCS) 的 Windows 环境中。如果 DB2_FALLBACK 未设置或设为 OFF,且在回退期间数据库连接一直存在,那么不会导致 DB2 资源脱机。这意味着回退处理将失败。
DB2_FMP_COMM_HEAPSZ
  • 操作系统:Windows 和 UNIX
  • 缺省值:20 MB 或足够的空间来运行 10 个受防护的例程(以较大者为准)。
  • 此变量指定用于受防护的例程调用(例如,存储过程或用户定义的函数调用)的池的大小(以 4 KB 页计)。每个受防护的例程使用的空间是 aslheapsz 配置参数值的两倍。

    在 UNIX 中,底层共享内存分配舍入为 256 MB 的倍数(缺省情况),系统允许堆根据需要增长至预分配的共享内存量。如果已显式设置此值,那么底层共享内存分配不会舍入,并且 FMP 堆被限制为指定大小。预分配共享内存不计入实例内存用量,但它确实有虚拟内存消耗(在 Solaris 和 HP-UX 上交换,在 Linux、Solaris 和 HP-UX 上配置了虚拟限制)

    如果系统上正在运行的受防护例程很多,那么您可能需要增大此变量的值。如果系统上正在运行的受防护例程很少,那么可降低此值以减少虚拟内存消耗。

    将此值设为 0 表示不创建集合,因此无法调用任何受防护的例程。它还意味着将禁用运行状况监视器和数据库自动维护功能(例如,自动备份、收集统计信息和 REORG),原因是此功能依赖于受防护的例程基础结构。

    如果要运行 SAS 数据库内分析(通过设置 DB2_SAS_SETTINGS 注册表变量来启用),那么用于与 SAS 嵌入式进程 (EP) 的连接的内存也会从 FMP 堆分配。调整该堆以容纳那些运行查询(这些查询包括数据库内分析)的连接时,受防护例程的准则适用。一般来说,您可能期望 FMP 堆内存需求增大 120 KB。但是,如果对 DB2_SAS_SETTINGS 注册表变量指定 COMM_BUFFER_SZ 选项,那么 FMP 堆内存需求的增加幅度为 COMM_BUFFER_SZ 选项值乘以您希望支持的并行 SAS 查询数的两倍。

DB2_GRP_LOOKUP
  • 操作系统:Windows
  • 缺省值:NULL,值:LOCALDOMAINTOKENTOKENLOCALTOKENDOMAIN
  • 此变量指定如何使用 Windows 安全性机制来枚举用户所属于的组。
DB2_HADR_BUF_SIZE
  • 操作系统:所有操作系统
  • 缺省值:2*logbufsz
  • 此变量指定备用日志接收缓冲区大小(以日志页为单位)。如果未设置此变量,那么 DB2 将主要 logbufsz 配置参数值的两倍大小用作备用接收缓冲区大小。可以指定的最大大小是 4 GB。应该在备用实例中设置此变量。主数据库会将其忽略。

    如果 HADR 同步方式(hadr_syncmode 数据库配置参数)设为 ASYNC,那么在对等状态下,低速的备用数据库可能会导致主数据库上的发送操作延迟,并因此而阻塞主数据库上的事务处理。可以在备用数据库上配置大于缺省日志接收缓冲区的缓冲区用来保存更多未处理的日志数据。这可使得在很短的时间内主数据库生成日志数据的速度比备用数据库使用这些数据的速度更快,而且不会阻塞主数据库上的事务处理。

    注: 较大的日志接收缓冲区有助于承担主数据库上的峰值事务负载,但是如果备用数据库上的平均重放速度小于主数据库上的记录速度,那么该缓冲区仍将装满。
DB2_HADR_NO_IP_CHECK
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON |OFF
  • 指定是否对 HADR 连接绕过 IP 检查
  • 此变量主要用于在网络地址转换 (NAT) 环境中对 HADR 连接绕过 IP 交叉检查。建议不要在其他环境中使用此变量,因为它会削弱 HADR 配置的健全检查。缺省情况下,会在建立 HADR 连接时检查本地主机参数和远程主机参数的配置是否一致。主机名会映射到 IP 地址以进行交叉检查。将执行两项检查:
    • HADR_LOCAL_HOST parameter on primary = HADR_REMOTE_HOST parameter on standby
    • HADR_REMOTE_HOST parameter on primary = HADR_LOCAL_HOST parameter on standby
    如果检查失败,连接将关闭。

    当此参数打开时,将不执行 IP 检查。

DB2_HADR_PEER_WAIT_ LIMIT
  • 操作系统:所有操作系统
  • 缺省值:0(表示没有限制),值:0 到最大无符号 32 位整数(包含这两者)
  • 如果设置了 DB2_HADR_PEER_WAIT_LIMIT 注册表变量,并且由于将日志复制到备用数据库而导致对 HADR 主数据库执行的日志记录操作被阻塞指定的秒数,那么主数据库将脱离对等状态。达到此限制时,主数据库将断开与备用数据库的连接。如果对等窗口被禁用,那么主数据库将进入断开连接状态,而日志记录将恢复。如果对等窗口被启用,那么主数据库将进入断开连接的对等状态,而其中的日志记录将继续被阻止。重新连接或对等窗口到期时,主数据库保持断开连接的对等状态。一旦主数据库脱离断开连接的对等状态,日志记录就会恢复。
    注: 如果设置 DB2_HADR_PEER_WAIT_LIMIT,请使用最小值 10 以避免触发假警报。

    此参数对备用数据库没有影响,但建议对主数据库和备用数据库使用相同值。无效值(并非数字或负数)将解释为 0,表示没有限制。此参数是静态参数。数据库实例需要重新启动以使此参数生效。

DB2_HADR_ROS
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:OFFON
  • 此变量启用对备用功能部件进行 HADR 读取。对 HADR 备用数据库启用了 DB2_HADR_ROS 时,此备用数据库将接受客户机连接并允许对它运行只读查询。DB2_HADR_ROS 是静态注册表变量,因此它要求重新启动 DB2 实例以使已更改的设置生效。
DB2_HADR_SORCVBUF
  • 操作系统:所有操作系统
  • 缺省值:操作系统 TCP 套接字接收缓冲区大小,值:10244294967295
  • 此变量指定 HADR 连接的操作系统 (OS) TCP 套接字接收缓冲区大小,这允许用户定制有别于其他连接的 HADR TCP/IP 行为。某些操作系统会自动对用户指定的值进行取整,或者以静默方式限制用户指定的值的大小。用于 HADR 连接的实际缓冲区大小将记录在 db2diag 日志文件中。请参阅操作系统网络调整指南以根据网络流量对此参数进行最佳设置。应将此变量与 DB2_HADR_SOSNDBUF 结合使用。
DB2_HADR_SOSNDBUF
  • 操作系统:所有操作系统
  • 缺省值:操作系统 TCP 套接字发送缓冲区大小,值:10244294967295
  • 此变量指定 HADR 连接的操作系统 (OS) TCP 套接字发送缓冲区大小,这允许用户定制有别于其他连接的 HADR TCP/IP 行为。某些操作系统会自动对用户指定的值进行取整,或者以静默方式限制用户指定的值的大小。用于 HADR 连接的实际缓冲区大小将记录在 db2diag 日志文件中。请参阅操作系统网络调整指南以根据网络流量对此参数进行最佳设置。应将此变量与 DB2_HADR_SORCVBUF 结合使用。
DB2_HISTORY_FILTER
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:NULL、GLQTU
  • 此变量指定不会修改历史记录文件的操作。可使用 DB2_HISTORY_FILTER 注册表变量来减少对历史记录文件的潜在争用(通过过滤掉操作)。可使用逗号分隔列表来指定不能修改历史记录文件的操作:
    db2set DB2_HISTORY_FILTER=T, L
    DB2_HISTORY_FILTER 的可能值包括:
    • G:重组操作
    • L:装入操作
    • Q:停顿操作
    • T:改变表空间操作
    • U:卸载操作
DB2_INDEX_PCTFREE_DEFAULT
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:099
  • 此注册表变量指定构建索引时每个索引页要留为可用空间的百分比。如果您在 CREATE INDEX 语句上显式指定 PCTFREE 子句,那么 DB2_INDEX_PCTFREE_DEFAULT 的设置会被覆盖。此注册表变量不会影响 CREATE INDEX 语句上的 LEVEL2 PCTFREE 子句。

    此注册表变量在数据库升级时不会应用,即使升级期间重新创建索引。它仅应用于新安装或升级完成后应用。此注册表变量是动态的:可以设置或取消设置它,而不必停止并启动实例。

    如果 DB2_WORKLOAD 设为 SAP,那么 DB2_INDEX_PCTFREE_DEFAULT 将设为 0

DB2LDAP_BASEDN
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:任何有效的基本专有域名。
  • 设置此参数后,DB2 的 LDAP 对象将存储在 LDAP 目录中的
        CN=System
      CN=IBM
      CN=DB2
    指定基本专有名称下。

    为 Microsoft Active Directory Server 设置此变量时,请确保在这个专有名称下面定义 CN=DB2、CN=IBM 和 CN=System。

  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2LDAPCACHE
  • 操作系统:所有操作系统
  • 缺省值:YES,值:YESNO
  • 指定要启用 LDAP 高速缓存。此高速缓存用来编目本地机器上的数据库、节点和 DCS 目录。

    要确保高速缓存中具有最新的条目,请执行以下操作:

       REFRESH LDAP IMMEDIATE ALL

    此命令从数据库目录和节点目录中更新和移除不正确的条目。

DB2LDAP_CLIENT_PROVIDER
  • 操作系统:Windows
  • 缺省值:NULL(如果 Microsoft 可用,那么使用此操作系统;否则使用 IBM。)值:IBMMicrosoft
  • 当在 Windows 环境中运行时,DB2 支持使用 Microsoft LDAP 客户机或 IBM LDAP 客户机来访问 LDAP 目录。这个注册表变量用来显式地选择 DB2 要使用的 LDAP 客户机。
    注: 要显示此注册表变量的当前值,可使用 db2set 命令:
       db2set DB2LDAP_CLIENT_PROVIDER
DB2LDAPHOST
  • 操作系统:所有操作系统
  • 缺省值:Null,值:base_domain_name[:port_number] 或者 base_domain_name:SSL:636(当使用支持 SSL 的 LDAP 主机时)
  • 指定 LDAP 目录所在位置的主机名和可选的端口号,其中 base_domain_name 是 TCP/IP 主机名,[:port_number] 是端口号。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2LDAP_KEEP_CONNECTION
  • 操作系统:所有操作系统
  • 缺省值:YES,值:YESNO
  • 指定 DB2 是否对它的内部 LDAP 连接句柄进行高速缓存。当此变量设为 NO 时,DB2 将不把它的 LDAP 连接句柄高速缓存到目录服务器中。这可能会降低性能,但是如果需要使与目录服务器建立的同时处于活动状态的 LDAP 客户机连接数最小,那么可能需要将 DB2LDAP_KEEP_CONNECTION 设为 NO

    要获得最佳性能,缺省情况下,应将此变量设为 YES

    DB2LDAP_KEEP_CONNECTION 注册表变量只是作为 LDAP 中的全局级概要文件注册表变量来实现的,因此必须通过对 db2set 命令指定 -gl 选项来设置它,如下所示:
      db2set -gl DB2LDAP_KEEP_CONNECTION=NO
DB2LDAP_SEARCH_SCOPE
  • 操作系统:所有操作系统
  • 缺省值:DOMAIN,值:LOCALDOMAINGLOBAL
  • 指定在轻量级目录访问协议 (LDAP) 中搜索数据库分区信息或域信息的范围。LOCAL 禁止在 LDAP 目录中进行搜索。DOMAIN 仅在当前目录分区的 LDAP 中进行搜索。GLOBAL 在所有目录分区的 LDAP 中进行搜索,直到找到对象为止。
DB2_LIMIT_FENCED_GROUP
  • 操作系统:Windows
  • 缺省值:NULL,值:ONOFF
  • 如果您启用了扩展安全性,那么可以通过将此注册表变量设为 ON 以及通过将 DB2 服务帐户(用来运行 DB2 服务的用户名)添加至 DB2USERS 组,将采用受防护方式的进程 (db2fmp) 的操作系统特权限制为对 DB2USERS 组指定的特权。
    注: 如果使用了 LocalSystem 作为 DB2 服务帐户,那么设置 DB2_LIMIT_FENCED_GROUP 将不起作用。

    要对 db2fmp 进程授予其他操作系统特权,可以通过对具备这些附加特权的操作系统组添加 DB2 服务帐户来实现。

DB2_LOAD_COPY_NO_OVERRIDE
  • 操作系统:所有操作系统
  • 缺省值:NONRECOVERABLE,值:COPY YESNONRECOVERABLE
  • 此变量将把任何 LOAD COPY NO 转换为 LOAD COPY YESNONRECOVERABLE,这取决于该变量的值。此变量适用于 HADR 主数据库以及标准(非 HADR)数据库;HADR 备用数据库将忽略此变量。在 HADR 主数据库上,如果未设置此变量,那么 LOAD COPY NO 将转换为 LOAD NONRECOVERABLE。此变量的值指定不可恢复的装入或复制目标,它使用与 COPY YES 子句相同的语法。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2LOADREC
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于在前滚期间替换装入副本的位置。如果用户更改了装入副本的物理位置,那么必须在发出前滚之前设置 DB2LOADREC
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2LOCK_TO_RB
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:STATEMENT
  • 指定锁定超时是导致回滚整个事务还是仅回滚当前语句。如果将 DB2LOCK_TO_RB 设为 STATEMENT,那么锁定超时只会导致回滚当前语句。任何其他设置都导致事务回滚。
DB2_MAP_XML_AS_CLOB_FOR_ DLC
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YESNO
  • 对于不支持将 XML 作为一种数据类型的客户机(或 DRDA® 应用程序请求器),DB2_MAP_XML_AS_CLOB_FOR_DLC 注册表变量提供覆盖 XML 值的缺省 DESCRIBE 和 FETCH 行为的能力。缺省值是 NO,它指定对于这些客户机,XML 值的 DESCRIBE 将返回 BLOB (2GB),而 XML 值的 FETCH 会导致将 XML(包括指示 UTF-8 编码的 XML 声明)隐式序列化为 BLOB。

    当值是 YES 时,XML 值的 DESCRIBE 将返回 CLOB (2GB),而 XML 值的 FETCH 会导致将 XML(不包括 XML 声明)隐式序列化为 CLOB。

注: 建议您不要使用 DB2_MAP_XML_AS_CLOB_FOR_DLC,将来的发行版中会将其移除。由于大多数访问 XML 值的现有 DB2 应用程序以这种方式对待支持 XML 的客户机,所以不再需要此变量。
DB2_MAX_LOB_BLOCK_SIZE
  • 操作系统:所有操作系统
  • 缺省值:0(没有限制),值:021487483647
  • 设置在一个块中返回的最大 LOB 或 XML 数据量。这不是硬最大值;如果数据检索期间在服务器上达到此最大值,服务器将完成写当前行的操作,然后再对客户机返回命令(例如 FETCH)应答。
DB2_MEMORY_PROTECT
  • 操作系统:具有存储密钥支持的 AIX
  • 缺省值:NO,值:NOYES
  • 此注册表变量启用内存保护功能,该功能使用存储密钥来防止缓冲池中的数据由于无效内存访问而毁坏。内存保护通过确定 DB2 引擎线程应访问缓冲池内存的时间来工作。当 DB2_MEMORY_PROTECT 设为 YES 时,只要 DB2 引擎线程尝试非法访问缓冲池内存,该引擎线程就会被捕获。
    注: 如果 DB2_LGPAGE_BP 设为 YES,您将无法使用内存保护。即使 DB2_MEMORY_PROTECT 设为 YES,DB2 也无法保护缓冲池内存并禁用此功能部件。
DB2_MIN_IDLE_RESOURCES
  • 操作系统:Linux
  • 缺省值:OFF,值:OFFON
  • 此变量指定已激活的数据库在空闲时将使用最少的处理资源。这可能在某些虚拟 Linux 环境(例如,zVM)中很有用。在这些环境中,节省少量的资源有助于主机虚拟机监视器在它的所有虚拟机之间更有效地调度其 CPU 和内存资源。
DB2_NCHAR_SUPPORT
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ONOFF
  • 当此变量设为 ON(缺省值)时,图形数据类型的 NCHAR、NVARCHAR 和 NCLOB 拼写可供在 Unicode 数据库中使用。还提供了各种与本地语言字符相关的函数,例如,NCHAR() 和 TO_NCHAR()。

    如果现有数据库具有名为 NCHAR、NVARCHAR 或 NCLOB 的用户定义类型,那么此变量只应设为 OFF。

    要点: 建议不要在 V10.5 中使用此注册表变量,在将来的发行版中可能会将其移除。因为所有对字符长度敏感的函数现在都会返回字符数,所以不再需要使用用户定义的称为 NCHAR、NVARCHAR 或 NCLOB 的类型。在停用此注册表变量之前,开始使用 nchar_mapping 数据库配置参数来指定 Unicode 数据库中本地语言字符串数据类型的数据类型映射。有关更多详细信息,请参阅 nchar_mapping - 本地语言字符映射配置参数
DB2NOEXITLIST
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ONOFF
  • 此变量指示无论 DB2_COMMIT_ON_EXIT 注册表变量的设置为多少,DB2 都不应该装入出口列表处理程序,并且它不应在应用程序退出时执行落实。

    DB2NOEXITLIST 关闭并且 DB2_COMMIT_ON_EXIT 打开时,将自动落实嵌入式 SQL 应用程序的任何未完成事务。建议在应用程序退出时显式添加 COMMIT 或 ROLLBACK 语句。

    调用 DB2 出口处理程序时,动态装入和卸装 DB2 库的应用程序可能会在终止前崩溃。这种崩溃可能是因为应用程序尝试调用内存中不存在的函数而产生的。要避免这种情况,请设置 DB2NOEXITLIST 注册表变量。

DB2_NUM_CKPW_DAEMONS
  • 操作系统:Linux 和 UNIX
  • 缺省值:3,值:1[:FORK]100[:FORK]
  • 可以使用 DB2_NUM_CKPW_DAEMONS 注册表变量来启动可配置数目的检查密码守护程序。这些守护程序是在 db2start 执行期间创建的,在使用缺省的 IBMOSauthserver 安全插件时,它们用于处理检查密码请求。增大 DB2_NUM_CKPW_DAEMONS 的设置可以缩短建立数据库连接所需要的时间,但是此操作仅在下列情况下有效:同时建立了许多连接,并且进行认证需要的成本较高。

    可以将 DB2_NUM_CKPW_DAEMONS 设为介于 1 与 100 之间的值。数据库管理器所创建的守护程序的数目由 DB2_NUM_CKPW_DAEMONS 指定。每个守护程序都可以直接处理检查密码请求。

    您可以添加可选的 FORK 参数,以使检查密码守护程序能够显式地衍生外部检查密码程序 (db2ckpw) 以处理检查密码请求。这与前发行版中将 DB2_NUM_CKPW_DAEMONS 设为 0 相似。在 FORK 方式下,每个检查密码守护程序都将为每个请求衍生检查密码程序以检查密码。在 FORK 方式下,守护程序将作为实例所有者启动。

    如果 DB2_NUM_CKPW_DAEMONS 设为零,那么有效值将设为 3:FORK,即,以 FORK 方式启动 3 个检查密码守护程序。

DB2_OPTSTATS_LOG
  • 操作系统:所有操作系统
  • 缺省值:未设置(请参阅下面的详细信息),值:OFFON {NUM | SIZE | NAME | DIR}
  • DB2_OPTSTATS_LOG 指定统计事件日志记录文件的属性,这些文件用于监视和分析与统计信息收集相关的活动。DB2_OPTSTATS_LOG 未设置或设为 ON 时,将启用统计事件日志记录,从而允许您监视系统性能并保留历史记录以便更好地确定问题。日志记录将写入第一个日志文件中,直到该文件已满为止。后续记录将写入下一个可用的日志文件。如果达到文件的最大数目,那么将用新记录覆盖存在时间最长的日志文件。如果您非常担心系统资源消耗,请通过将此注册表变量设为 OFF 来将其禁用。
  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
显式启用统计信息事件日志记录时(设为 ON),您可以修改一些选项:
  • NUM:轮换日志文件的最大数目。缺省值:5,值:1 - 15
  • SIZE:轮换日志文件的最大大小。(每个旋转文件的大小为 SIZE/NUM。)缺省值 = 15 Mb,值 1 Mb - 4096 Mb
  • NAME:轮换日志文件的基本名称。缺省值:db2optstats.number.log,例如 db2optstats.0.logdb2optstats.1.log 等等。
  • DIR:轮换日志文件的基本目录。缺省值:diagpath/events
可以为任意多个这些选项指定值,但要启用统计信息日志记录时,应确保 ON 是第一个值。例如,要启用最大日志文件数为 6、最大文件大小为 25 Mb、基本文件名为 mystatslog 且目录为 mystats 的统计信息日志记录,请发出以下命令:
db2set DB2_OPTSTATS_LOG=ON,NUM=6,SIZE=25,NAME=mystatslog,DIR=mystats
DB2REMOTEPREG
  • 操作系统:Windows
  • 缺省值:NULL,值:任何有效 Windows 计算机名称
  • 指定包含 DB2 实例概要文件和 DB2 实例的 Win32 注册表列表的远程计算机名称。安装 DB2 数据库产品后,DB2REMOTEPREG 的值只能设置一次,并且设置后不得更改。使用此变量要格外小心。
  • 在分区数据库环境中,可使用 DB2REMOTEPREG 注册表变量将不是实例所有者的计算机配置为使用拥有实例的计算机上的注册表变量的值。有关何时使用此变量的更多信息,请参阅在分区数据库环境中设置实例级别的变量

    如果 DB2 数据库管理器在 Windows 操作系统上读取这些注册表变量,那么它会先读取 DB2REMOTEPREG 值。如果设置了 DB2REMOTEPREG 变量,那么数据库管理器会在远程计算机上打开 DB2REMOTEPREG 变量指定的注册表。这些注册表变量的后续读取和更新会重定向至指定的远程计算机。

    如果并非实例所有者的计算机要访问远程注册表,那么“远程注册表服务”必须正在目标计算机上运行。而且,用户登录帐户和所有 DB2 服务登录帐户必须对远程注册表有足够的访问权。要使用 DB2REMOTEPREG 变量,必须在 Windows 域环境中运行才能向域帐户授予必需的注册表访问权。

  • 不要在 Microsoft Cluster Server 环境中使用 DB2REMOTEPREG
DB2_RESOLVE_CALL_ CONFLICT
  • 操作系统:AIX、HP-UX、Solaris、Linux 和 Windows
  • 缺省值:YES,值:YESNO
  • 当触发器调用的例程尝试访问已由触发器主体中的其他语句和例程修复的表时,这会中断嵌套的 SQL 语句规则。设置 DB2_RESOLVE_CALL_CONFLICT 以在执行 CALL 语句之前根据触发器的 SQL 标准规则强制完成对表的所有修改。

    在重置 DB2_RESOLVE_CALL_CONFLICT 之前,必须停止实例,然后将其重新启动。然后重新绑定导致调用触发器的任何程序包。要重新绑定 SQL 过程,使用:CALL SYSPROC.REBIND_ROUTINE_PACKAGE ('P','procedureschema.procedurename','CONSERVATIVE');

    您需要了解,DB2_RESOLVE_CALL_CONFLICT 会对性能产生影响。将 DB2_RESOLVE_CALL_CONFLICT 设为 YES 会导致 DB2 数据库管理器通过在需要时插入临时表来解决所有潜在读/写冲突。通常,这样做的影响很小,因为最多插入一个临时表。这将在 OLTP 环境中产生很小影响,因为只有一(或少量)行被触发语句修改。通常,当遵循一般建议将 SMS(系统管理的空间)用作临时表空间时,认为设置 DB2_RESOLVE_CALL_CONFLICT 所产生的性能影响很小。

    如果带有 -immediate 参数发出 db2set 命令,那么对此变量的更改会在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例。

DB2_RESTRICT_DDF
  • 操作系统:所有操作系统
  • 缺省值:FALSE,值:TRUEFALSE
  • 指定是否应禁用动态数据格式化功能(又称为顺序流式传输)。如果 DB2_RESTRICT_DDF 设为 TRUE,那么服务器会通知 JDBC 驱动程序将禁用动态数据格式化功能。

    在 SAP 环境中,如果设置了 DB2_WORKLOAD=SAP,那么此注册表变量的缺省值为 TRUE

DB2ROUTINE_DEBUG
  • 操作系统:AIX 和 Windows
  • 缺省值:OFF,值:ONOFF
  • 指定是否对 Java™ 存储过程启用调试功能。如果不调试 Java 存储过程,那么使用缺省值 OFF。启用调试对性能有影响。
注: 建议您不要使用 DB2ROUTINE_DEBUG,将来的发行版中会将其移除。此存储过程调试器已替换为统一调试器。
DB2_SAS_SETTINGS
  • 操作系统:所有操作系统
  • 缺省值:未设置。值:ENABLE_SAS_EPLIBRARY_PATHCOMM_BUFFER_SZCOMM_TIMEOUTRESTART_RETRIESDIAGPATHDIAGLEVEL
  • 此变量是带 SAS 嵌入式进程 (EP) 的数据库内分析的配置的主要点。除 ENABLE_SAS_EP 选项以外的所有选项都可在线配置。
    ENABLE_SAS_EP
    如果将此选项设为 TRUE,那么 SAS EP 会在您发出 db2start 命令时自动启动。此选项的缺省值为 FALSE。
    LIBRARY_PATH
    下次 SAS EP 进程启动时从中装入 SAS EP 库的标准路径。如果未指定路径,那么 DB2 数据库管理器会在 sqllib/function/sas 目录下查找 SAS EP 库。为安全起见,应将 SAS EP 库安装在未授权用户无法修改或替换该文件的位置。选择下列其中一个选项:
    • 请确保库路径和 SAS EP 库文件由实例所有者拥有并且只能由实例所有者写入。
    • 请将该文件放在设置了粘性位的目录(例如,sqllib/function)中。
    只有具有 SYSADM 权限的用户才能使用 db2set 命令来配置库路径。
    COMM_BUFFER_SZ
    一个整数值,用于指定要用于 DB2 数据服务器与 SAS EP 之间的通信会话的共享内存缓存量(以 4 KB 页计)。此参数的有效值范围为 1 到 32767。缺省值为 15。通信缓冲区是从 FMP 通信堆分配的。有关更多信息,请参阅 DB2_FMP_COMM_HEAPSZ
    COMM_TIMEOUT
    一个超时值,DB2 数据库管理器在交换控制消息时用它来确定是否应将 SAS EP 视为无法响应。如果达到此值,那么数据库管理器会终止 SAS EP 以便可再次衍生 SAS EP。缺省值为 300 秒。
    RESTART_RETRIES
    一个整数值,用于指定检测到 SAS EP 异常终止后 DB2 数据库管理器应尝试重新衍生该 SAS EP 的次数。此参数的有效值范围为 0 到 100。缺省值为 10。达到重试计数后,数据库管理器会等待 15 分钟,然后再次重试该操作。
    DIAGPATH
    一个标准路径,用于指定 SAS EP 的诊断日志的位置。缺省值为 diagpath 数据库管理器配置参数的值。
    DIAGLEVEL
    一个整数值,用于指定 SAS 诊断日志中捕获的消息的最低严重性级别。此选项的有效值如下所示:
    1
    严重
    2
    错误
    3
    警告
    4
    参考
    缺省值为 diaglevel 数据库管理器配置参数的值。
    MEMSIZE
    一个整数值,用于指定 SAS EP 可在特定主机上消耗的最大内存量(以 4 KB 页计)。此选项的有效值范围为 1 到 4294967295。如果有多个逻辑分区,那么应用于每个分区的值将除以对应主机上的逻辑分区数。缺省值为 instance_memory 数据库管理器配置参数值的 20%。如果将 instance_memory 参数设为固定值,请确保此值会将 SAS EP 的额外内存需求考虑在内。
示例:
db2set DB2_SAS_SETTINGS=“ENABLE_SAS_EP:TRUE;
  LIBRARY_PATH:/home/instowner/sqllib/function/sas”
DB2SATELLITEID
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:在卫星控制数据库中声明的有效卫星标识
  • 指定在卫星进行同步时被传递至卫星控制服务器的卫星标识。如果没有为此变量指定值,那么将登录标识用作卫星标识。
DB2_SERVER_CONTIMEOUT
  • 操作系统:所有操作系统
  • 缺省值:180,值:032767
  • 此注册表变量和 DB2_DISPATCHER_PEEKTIMEOUT 注册表变量都配置在连接期间处理新客户机的方式。DB2_SERVER_CONTIMEOUT 允许您调整代理程序等待客户机的连接请求直至终止连接的时间,该时间以秒计。在大多数情况下,您无需调整此注册表变量,但如果在连接时 DB2 客户机常常被服务器作超时处理,您可以将 DB2_SERVER_CONTIMEOUT 设为更高的值以延长超时时间。如果设置了无效值,那么将使用缺省值。此注册表变量不是动态的。
DB2_SERVER_ENCALG
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:AES_CMPAES_ONLY
  • 注:V9.7 中,建议不要使用 DB2_SERVER_ENCALG,将来的发行版中可能会将它移除。

    如果将实例升级到 DB2 V9.7 时设置了 DB2_SERVER_ENCALG 注册表变量,那么 alternate_auth_enc 配置参数将根据 DB2_SERVER_ENCALG 的设置来设为 AES_ONLYAES_CMP。因此,要指定用于对用户标识和密码进行加密的加密算法,请更新 alternate_auth_enc 配置参数。如果设置了 alternate_auth_enc 配置参数,那么它的值将优先于 DB2_SERVER_ENCALG 注册表变量值。

DB2SORT
  • 操作系统:所有操作系统,仅适用于服务器
  • 缺省值:NULL
  • 此变量指定 LOAD 实用程序在运行时要装入的库的位置。该库包含在对索引数据排序时使用的函数的入口点。使用 DB2SORT 来利用供应商提供的排序产品,以便在生产表索引时与 LOAD 实用程序一起使用。提供的路径必须是相对于数据库服务器的路径。
DB2_STANDBY_ISO
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:UROFF
  • 此变量将正在活动 HADR 备用数据库上运行的应用程序和语句所请求的隔离级别强制设为“未落实的读 (UR)”。当 DB2_STANDBY_ISO 设为 UR 时,高于 UR 的隔离级别会被强制设为 UR,并且不会返回警告。如果此 HADR 备用数据库转变为 HADR 主数据库,那么此变量将不起作用。
DB2STMM
  • 操作系统:UNIX
  • 此注册表变量控制一组参数,这些参数允许您修改自调整内存管理器 (STMM) 的某些特征。
  • 参数:
    GLOBAL_BENEFIT_SEGMENT_COMPATIBLE
    • 缺省值:未设置,值:YESNO
    • 仅当数据库的 database_memory 配置参数设为 AUTOMATIC 时,GLOBAL_BENEFIT_SEGMENT_COMPATIBLE 参数才会起作用。

      此参数将影响 STMM 共享内存段的许可权设置。仅在具有多个实例且其中某些实例是下级实例的系统上才应该将此参数设为 YES,并且将 database_memory 设为 AUTOMATIC,以减轻下级实例兼容性问题,这些问题会影响调整数据库的整体数据库内存使用量。属于下列任何 DB2 发行版和修订包级别的实例都是下级实例:所有修订包级别的 DB2 V9.1、DB2 V9.5 FP7 和更低版本以及 DB2 V9.7 FP4 和更低版本。

      对于非 root 用户安装的 DB2 中的实例,仅当您希望系统上的所有实例都使用相同的 STMM 共享内存段时,才应该设置此变量。不设置此变量或将其设为 NO 将导致非 root 用户实例使用其自己的特定于实例的 STMM 共享内存段,这可能会影响任何将 database_memory 设为 AUTOMATIC 的数据库调整整体数据库内存使用量。

      此注册表变量在 DB2 实例启动期间读取一次。注意,您需要在所有已升级的实例(即,非下级实例)上设置此参数,并且在设置此参数后,需要重新启动所有已升级的实例。

    GLOBAL_BENEFIT_SEGMENT_UNIQUE
    • 缺省值:未设置,值:YESNO
    • 仅当数据库的 database_memory 配置参数设为 AUTOMATIC 时,GLOBAL_BENEFIT_SEGMENT_UNIQUE 参数才会起作用。

      此参数指定每个已升级的实例(即,非下级实例)将使用其自己的特定于实例的 STMM 共享内存段。这意味着每个实例将调整属于它的任何数据库的整体数据库内存使用量,而与调整系统上属于其他实例的数据库的整体数据库内存使用量无关。

      对于系统上的所有实例,仅当 instance_memory 配置参数设为 AUTOMATIC 时,才应该考虑将此参数设为 YES。

      此注册表变量在 DB2 实例启动期间读取一次。注意,需要在所有已升级的实例上设置此参数,并且在设置此参数后,需要重新启动所有已升级的实例。

DB2_TRUNCATE_ REUSESTORAGE
  • 操作系统:所有操作系统
  • 缺省值:NULL(未设置),值:IMPORTimport
  • 可以使用此变量来解决带有 REPLACE 命令的 IMPORTBACKUP ... ONLINE 命令之间的锁定争用情况。在某些情况下,联机备份和截断操作无法同时执行。发生这种情况时,可以将 DB2_TRUNCATE_REUSESTORAGE 设为 IMPORTimport,这将跳过对象(包括数据、索引、长字段、大对象和块映射(对于多维集群表))的物理截断,而是只执行逻辑截断。即,带有 REPLACE 命令的 IMPORT 将清空该表,从而导致该对象的逻辑大小减小,但仍分配磁盘存储器。

    此注册表变量是动态的:可以设置或取消设置它,而不必停止并启动实例。可以在联机备份启动前设置 DB2_TRUNCATE_REUSESTORAGE,然后在联机备份完成后将其取消设置。对于多分区环境来说,此注册表变量只在设置了此变量的节点上处于活动状态。DB2_TRUNCATE_REUSESTORAGE 只对 DMS 永久对象有效。

    在 SAP 环境中,当设置了 DB2_WORKLOAD=SAP 时,此注册表变量的缺省值为 IMPORT

  • 对此变量的更改将在所有将来已编译 SQL 语句执行后立即生效。不需要重新启动实例或发出带有 -immediate 参数的 db2set 命令。
DB2_UTIL_MSGPATH
  • 操作系统:所有操作系统
  • 缺省值:instanceName/tmp 目录
  • DB2_UTIL_MSGPATH 注册表变量与 SYSPROC.ADMIN_CMD 过程、SYSPROC.ADMIN_REMOVE_MSGS 过程和 SYSPROC.ADMIN_GET_MSGS UDF 配合使用。它应用于实例级。可以设置 DB2_UTIL_MSGPATH 来指示受防护用户标识在服务器上可以读写和删除文件的目录路径。必须能从所有协调程序分区访问此目录,而且该目录必须有足够的空间来容纳实用程序消息文件。

    如果未设置此路径,那么使用 instanceName/tmp 目录作为缺省目录(请注意,卸载 DB2 时,将清除 instanceName/tmp)。

    如果运行 ALTOBJ 过程时未设置此路径,那么将在 ~sqllib/tmp 目录中创建一个临时消息文件。

    更改此路径时,不会自动移动或删除先前设置所指向目录中的现有文件。如果要检索在旧路径下创建的消息内容,那么必须手动将这些消息(它们带有实用程序名前缀和用户标识后缀)移到 DB2_UTIL_MSGPATH 指向的新目录。以后,将在新位置创建、读取和清除实用程序消息文件。

    DB2_UTIL_MSGPATH 目录下的文件都是特定于实用程序的,而与事务无关。它们不是备份映像的一部分。DB2_UTIL_MSGPATH 目录下的文件由用户管理;这意味着用户可使用 SYSPROC.ADMIN_REMOVE_MSGS 过程来删除消息文件。卸载 DB2 时不会清除这些文件。

DB2_XBSA_LIBRARY
  • 操作系统:AIX、HP-UX、Solaris 和 Windows
  • 缺省值:NULL,值:任何有效路径和文件。
  • 指向供应商提供的 XBSA 库。在 AIX 上,如果共享对象未命名为 shr.o,设置必须包括该共享对象。HP-UX、Solaris 和 Windows 不需要共享对象名。例如,要对 DB2 使用 Legato 的 NetWorker Business Suite Module,必须按如下所示设置注册表变量:
       db2set DB2_XSBA_LIBRARY=“/usr/lib/libxdb2.a(bsashr10.o)”

    通过 BACKUP DATABASERESTORE DATABASE 命令可以调用 XBSA 接口。例如:

       db2 backup db sample use XBSA
       db2 restore db sample use XBSA
DB2_XSLT_ALLOWED_PATH
  • 操作系统:所有操作系统
  • 缺省值:NULL 或 NONE,值:ALL 或有效 URI 的列表,由空格分隔
  • 此注册表变量控制 DB2 实例如何引用在 XSLT 样式表中定义的外部实体。
    • NULL 或 NONE:不允许任何 URI 引用,并且使用这类样式表的变换会失败。
    • ALL:允许对 URI 的所有引用。
      注: 对外部 URI 的不受控制的引用可能是一个严重的安全问题。
    • URI 的列表:仅允许对位于来自列表的 URI 的子目录中的 URI 的引用,如以下示例所示:
      db2set DB2_XSLT_ALLOWED_PATH = “http://some.website.com/tst/   /home/Joe/resource.txt”