Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1065894
  • 博文数量: 239
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 3618
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-12 13:17
文章分类

全部博文(239)

文章存档

2021年(1)

2016年(1)

2015年(30)

2014年(91)

2013年(116)

分类: LINUX

2014-04-12 23:28:50

使用DB2db2set -lr查看DB2注册表变量和环境变量,一下信息整理自DB2 信息中心
[db2inst1@db2 ~]$ db2set -lr
DB2_OVERRIDE_BPF
DB2_PARALLEL_IO
DB2ACCOUNT
DB2ADMINSERVER
DB2BQTIME
DB2BQTRY
DB2CHKPTR
DB2CLIINIPATH
DB2CODEPAGE
DB2COMM
DB2COUNTRY
DB2DBDFT
DB2DBMSADDR
DB2DEFPREP
DB2DMNBCKCTLR
DB2INCLUDE
DB2INSTDEF
DB2INSTPROF
DB2IQTIME
DB2LOADREC
DB2LOCK_TO_RB
DB2NTNOCACHE
DB2NTPRICLASS
DB2NTWORKSET
DB2OPTIONS
DB2PATH
DB2PRIORITIES
DB2REMOTEPREG
DB2RQTIME
DB2SORCVBUF
DB2SORT
DB2SOSNDBUF
DB2SYSTEM
DB2_FORCE_NLS_CACHE
DB2YIELD
DB2_AVOID_PREFETCH
DB2_COLLECT_TS_REC_INFO
DB2_GRP_LOOKUP
DB2_INDEX_FREE
DB2_MMAP_READ
DB2_MMAP_WRITE
DB2DISCOVERYTIME
DB2ENVLIST
DB2MEMDISCLAIM
DB2LIBPATH
DB2CHKSQLDA
DB2PORTRANGE
DB2INSTOWNER
DB2NOEXITLIST
DB2LOADFLAGS
DB2_HASH_JOIN
DB2NTMEMSIZE
DB2CHECKCLIENTINTERVAL
DB2_FALLBACK
DB2PROCESSORS
DB2ATLD_PORTS
DB2_SORT_AFTER_TQ
DB2_LIKE_VARCHAR
DB2ASSUMEUPDATE
DB2MAXFSCRSEARCH
DB2BIDI
DB2_NEW_CORR_SQ_FF
DB2CHGPWD_EEE
DB2LOCALE
DB2_SKIPDELETED
DB2LDAPHOST
DB2LDAPCACHE
DB2LDAP_CLIENT_PROVIDER
DB2LDAP_BASEDN
DB2_ENABLE_LDAP
DB2_SYSTEM_MONITOR_SETTINGS
DB2_FCM_SETTINGS
DB2SATELLITEID
DB2_LIC_STAT_SIZE
DB2CONNECT_IN_APP_PROCESS
DB2_NUM_FAILOVER_NODES
DB2ROUTINE_DEBUG
DB2_DJ_INI
DB2_DJ_COMM
DB2TCPCONNMGRS
DB2_SQLROUTINE_PREPOPTS
DB2_ANTIJOIN
DB2_DISABLE_FLUSH_LOG
DB2_SELECTIVITY
DB2_EXTENDED_OPTIMIZATION
DB2_ENABLE_SINGLE_NIS_GROUP
DB2_PINNED_BP
DB2_APM_PERFORMANCE
DB2_XBSA_LIBRARY
DB2_VENDOR_INI
DB2DOMAINLIST
DB2_FMP_COMM_HEAPSZ
DB2_SNAPSHOT_NOAUTH
DB2_LOGGER_NON_BUFFERED_IO
DB2_EVALUNCOMMITTED
DB2TERRITORY
DB2_PARTITIONEDLOAD_DEFAULT
DB2_ALLOCATION_SIZE
DB2_NO_FORK_CHECK
DB2_REDUCED_OPTIMIZATION
DB2_USE_PAGE_CONTAINER_TAG
DB2_NUM_CKPW_DAEMONS
DB2_KEEPTABLELOCK
DB2GRAPHICUNICODESERVER
DB2_MINIMIZE_LISTPREFETCH
DB2_INLIST_TO_NLJN
DB2_MEM_TUNING_RANGE
DB2_TRUSTED_BINDIN
DB2_CLPPROMPT
DB2_FORCE_APP_ON_MAX_LOG
DB2_CLP_EDITOR
DB2_CLP_HISTSIZE
DB2_LOAD_COPY_NO_OVERRIDE
DB2_USE_DB2JCCT2_JROUTINE
DB2_MAX_NON_TABLE_LOCKS
DB2_SMS_TRUNC_TMPTABLE_THRESH
DB2_USE_ALTERNATE_PAGE_CLEANING
DB2_HADR_BUF_SIZE
DB2_MAX_CLIENT_CONNRETRIES
DB2_CONNRETRIES_INTERVAL
DB2_DOCHOST
DB2_DOCPORT
DB2_TAPEMGR_TAPE_EXPIRATION
DB2_OBJECT_TABLE_ENTRIES
DB2_LOGGING_DETAIL
DB2_VIEW_REOPT_VALUES
DB2_SELUDI_COMM_BUFFER
DB2_RESOURCE_POLICY
DB2TCP_CLIENT_RCVTIMEOUT
DB2_DDL_SOFT_INVAL
DB2_SKIPINSERTED
DB2CONNECT_DISCONNECT_ON_INTERRUPT
DB2_LARGE_PAGE_MEM
DB2_ALTERNATE_GROUP_LOOKUP
DB2_MIN_IDLE_RESOURCES
DB2AUTH
DB2FFDC
DB2FODC
DB2_ASYNC_IO_MAXFILOP
DB2RSHCMD
DB2RSHTIMEOUT
DB2_MDC_ROLLOUT
DB2_TRUNCATE_REUSESTORAGE
DB2_WORKLOAD
DB2_DXX_PATHS_ALLOWED_READ
DB2_DXX_PATHS_ALLOWED_WRITE
DB2TCP_CLIENT_CONTIMEOUT
DB2_MAX_INACT_STMTS
DB2_USE_FAST_PREALLOCATION
DB2FCMCOMM
DB2_EXTENDED_IO_FEATURES
DB2_UTIL_MSGPATH
DB2_ENABLE_AUTOCONFIG_DEFAULT
DB2_MAP_XML_AS_CLOB_FOR_DLC
DB2_OPT_MAX_TEMP_SIZE
DB2_MAX_LOB_BLOCK_SIZE
DB2_MINIMUM_CLIENT_LEVEL
DB2CONNECT_ENABLE_EURO_CODEPAGE
DB2_RESOLVE_CALL_CONFLICT
DB2_IO_PRIORITY_SETTING
DB2_EVMON_STMT_FILTER
DB2_SERVER_CONTIMEOUT
DB2_DISPATCHER_PEEKTIMEOUT
DB2_CONNECT_GWY_AUTH_SUPP
DB2_EVMON_EVENT_LIST_SIZE
DB2_MEMORY_PROTECT
DB2_SET_MAX_CONTAINER_SIZE
DB2_UPDDBCFG_SINGLE_DBPARTITION
DB2_LIMIT_FENCED_GROUP
DB2_COMPATIBILITY_VECTOR
DB2_CAPTURE_LOCKTIMEOUT
DB2_HADR_NO_IP_CHECK
DB2_HADR_PEER_WAIT_LIMIT
DB2_OPTSTATS_LOG
DB2_ATS_ENABLE
DB2_KEEP_AS_AND_DMS_CONTAINERS_OPEN
DB2RESILIENCE
DB2_FORCE_OFFLINE_ADD_PARTITION
DB2_HADR_SOSNDBUF
DB2_HADR_SORCVBUF
DB2_DEFERRED_PREPARE_SEMANTICS
DB2TCP_CLIENT_KEEPALIVE_TIMEOUT
DB2_PMODEL_SETTINGS
DB2_PMAP_COMPATIBILITY
DB2_HADR_ROS
DB2_STANDBY_ISO
DB2_NCHAR_SUPPORT
DB2_RESTORE_GRANT_ADMIN_AUTHORITIES
DB2_ITP_LEVEL

常规注册表变量
DB2ACCOUNT
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 此变量定义发送至远程主机的记帐字符串。有关详细信息,参阅DB2 Connect? 用户指南
DB2BIDI
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 此变量启用双向支持,并且 DB2CODEPAGE 变量用于声明要使用的代码页。
DB2_CAPTURE_LOCKTIMEOUT
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:ON 或 NULL
  • 此变量指定在发生锁定超时的情况下日志记录关于锁定超时的描述性信息。日志记录的信息标识:导致锁定超时的锁定争用中所涉及的关键应用程序、关于这些应用程序在锁定超时的情况下正在运行的对象的详细信息,以及关于导致争用的锁定的详细信息。将同时捕获关于锁定请求者(接收锁定超时错误的应用程序)和当前锁定所有者的信息。对于每个锁定超时,将编写一个文本报告并将其存储在文件中。

    这些文件是使用以下命名约定创建的:db2locktimeout.par.AGENTID.yyyy-mm-dd-hh-mm-ss,其中 par 是数据库分区号;AGENTID 是代理程序标识;yyyy-mm-dd-hh-mm-ss 是时间戳记,由年、月、日、小时、分钟和秒组成。在非分区数据库环境中,par设置为 0。

    文件的位置取决于在 diagpath 数据库配置参数中设置的值。如果未设置 diagpath,那么文件位于下面其中一个目录中:

    • 在 Windows 环境中:
      • 如果未设置 DB2INSTPROF 环境变量,那么信息将写入 x:\SQLLIB\DB2INSTANCE,其中 x 是驱动器引用,SQLLIB 是对DB2PATH 注册表变量指定的目录,而 DB2INSTANCE 是实例所有者的名称。
      • 如果设置了 DB2INSTPROF 环境变量,那么信息将写入 x:\DB2INSTPROF\DB2INSTANCE,其中 x 是驱动器引用,DB2INSTPROF 是实例概要文件目录的名称,而 DB2INSTANCE 是实例所有者的名称。
      • 如果您将 DB2INSTPROF 环境变量设置为一个新位置,那么必须确保它包含适当的文件和文件夹以运行该实例。这可能会要求您将所有文件和文件夹从先前位置复制到新位置。
    • 在 Linux 和 UNIX 环境中:信息将写入 INSTHOME/sqllib/db2dump,其中 INSTHOME 是实例的主目录。

    当您不再需要锁定超时报告文件时,将这些文件删除。由于报告文件与其他诊断日志位于相同位置,因此在允许该目录变满的情况下,DB2? 系统可能会关闭。如果需要保留某些锁定超时报告文件,那么将它们移至 DB2 日志的存储目录或文件夹之外的目录或文件夹。

要点: 由于已有通过使用 CREATE EVENT MONITOR FOR LOCKING 语句来收集锁定超时事件的新方法,因此建议不要使用此变量,将来的发行版可能会将其除去。
DB2CODEPAGE
  • 操作系统:所有操作系统
  • 缺省值:从语言标识中派生,由操作系统指定。
  • 此变量指定为数据库客户机应用程序呈示给 DB2 的数据的代码页。除非在 DB2 文档中明确说明或 DB2 服务要求这样做,否则用户不应设置DB2CODEPAGE。将 DB2CODEPAGE 设置为不受操作系统支持的值可能会产生意外结果。通常,因为 DB2 会自动从操作系统派生该代码页信息,所以不需要设置 DB2CODEPAGE
    注: 由于 Windows 不报告 Unicode 代码页(在 Windows 区域设置中),而不是报告 ANSII 代码页,所以 Windows 应用程序不能用作 Unicode 客户机。要覆盖此行为,将 DB2CODEPAGE 注册表变量设置为 1208(表示 Unicode 代码页)以将应用程序用作 Unicode 应用程序。
DB2_COLLECT_TS_REC_INFO
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ON 或 OFF
  • 此变量指定在前滚表空间时,DB2 是否将处理所有日志文件,无论日志文件是否包含会影响表空间的日志记录。要跳过已知不包含将影响表空间的任何日志记录的日志文件,应将此变量设置为 ON。在创建和使用日志文件之前,必须设置 DB2_COLLECT_TS_REC_INFO,以便收集跳过日志文件的所需要的信息。
DB2_CONNRETRIES_INTERVAL
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:整数秒数
  • 此变量指定客户机自动重新路由功能的连续连接重试之间的休眠时间(以秒计)。可以将此变量与  配合使用以配置客户机自动重新路由重试行为。

    如果设置了 DB2_MAX_CLIENT_CONNRETRIES,但未设置 DB2_CONNRETRIES_INTERVAL,那么 DB2_CONNRETRIES_INTERVAL 缺省为 30。如果未设置 DB2_MAX_CLIENT_CONNRETRIES,但设置了 DB2_CONNRETRIES_INTERVAL,那么DB2_MAX_CLIENT_CONNRETRIES 缺省为 10。如果既未设置 DB2_MAX_CLIENT_CONNRETRIES 也未设置DB2_CONNRETRIES_INTERVAL,那么客户机自动重新路由功能将恢复为采用缺省行为,即重复地重新尝试连接数据库,最多 10 分钟。

DB2CONSOLECP
  • 操作系统:Windows
  • 缺省值:NULL,值:所有有效的代码页值
  • 指定用于显示 DB2 消息文本的代码页。当指定了此值时,它会覆盖操作系统代码页设置。
DB2COUNTRY
  • 操作系统:Windows
  • 缺省值:NULL,值:所有有效数字的国家或地区、地域或区域代码
  • 此变量指定客户机应用程序的国家或地区、地域或区域代码。当指定了此值时,它会覆盖操作系统设置。
注: 建议您不要使用 DB2COUNTRY,将来的发行版可能会将其除去。请改为使用 ,它与 DB2COUNTRY 接受相同的值。
DB2DBDFT
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 此变量指定要用于隐式连接的数据库的数据库别名。如果应用程序没有数据库连接,但发出了 SQL 或 XQuery 语句,那么在缺省数据库中定义了 DB2DBDFT 环境变量的情况下,将建立隐式连接。
DB2DISCOVERYTIME
  • 操作系统:Windows
  • 缺省值:40 秒,最小值:20 秒
  • 此变量指定 SEARCH 发现将在 DB2 系统中搜索的时间。
DB2_EXPRESSION_RULES
  • 操作系统:所有操作系统
  • 缺省值:空,值:RAISE_ERROR_PERMIT_SKIP 或 RAISE_ERROR_PERMIT_DROP
  • DB2_EXPRESSION_RULES 注册表变量的设置用于控制 DB2 优化器如何确定涉及 RAISE_ERROR 函数的查询的存取方案。RAISE_ERROR 函数的缺省行为是,不将任何过滤操作推到包含此函数的表达式之后。这可能会致使不在表访问期间应用任何有可能导致表达式计算量过高、锁定过多以及查询性能不佳的谓词。
    在某些情况下,此行为过于严格,这取决于应用程序的特定业务需求;如果在应用 RAISE_ERROR 之前应用谓词和连接,那么此行为并不重要。例如,在行级别安全性实现的上下文中,通常存在格式如下的表达式:
    CASE WHEN <用于验证对此行的访问权的条件> THEN NULL ELSE RAISE_ERROR(...) END
    此应用程序可能只希望验证对此查询所选择的行的访问权,而不希望验证对表中每一行的访问权。因此,可以在基本表访问期间应用谓词,并且只需要在执行所有过滤操作之后执行包含 RAISE_ERROR 的表达式。在此情况下,适当的值可能是DB2_EXPRESSION_RULES=RAISE_ERROR_PERMIT_SKIP
    另一种情况是列级安全性的上下文。在此情况下,通常存在格式如下的表达式:
    CASE WHEN <用于验证对此行和此列的访问权的条件> THEN  ELSE RAISE_ERROR(...) END
    在此情况下,此应用程序可能只希望在用户尝试接收特定行的数据并且列包含不允许用户检索的值时才引起错误。在此情况下,如果此特定列由谓词或列函数使用或者作为查询的输出返回,那么设置 DB2_EXPRESSION_RULES=RAISE_ERROR_PERMIT_DROP 只会导致对包含 RAISE_ERROR 函数的表达式进行求值。
DB2FFDC
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ON 或 CORE:OFF
  • 此变量提供了停用核心文件生成的功能。缺省情况下,将此注册表变量设置为 ON。如果未设置此注册表变量,或者将其设置为除 CORE:OFF以外的值,那么 DB2 服务器异常终止时可能会生成核心文件。

    核心文件是在 diagpath 目录中创建的用于问题确定的文件,它们包含终止 DB2 进程的整个进程映像。应注意可用的文件系统空间,因为核心文件可能非常庞大。该大小取决于 DB2 配置和发生问题时进程的状态。

    在 Linux 操作系统上,缺省核心文件大小限制为 0(即,ulimit -c)。对于此设置,不会生成核心文件。要在 Linux 操作系统上生成核心文件,请将值设置为 unlimited。

注: V9.5 中不推荐使用 DB2FFDC,在以后的发行版中会将其除去。新注册表变量 DB2FODC 包含了 DB2FFDC 的功能。
DB2FODC
  • 操作系统:所有操作系统
  • 缺省值:所有 FODC 参数的并置(请参阅下面的内容)
    • 对于 Linux 和 UNIX: "CORELIMIT=val DUMPCORE=ON DUMPDIR=diagpath"
    • 对于 Windows:"DUMPDIR=diagpath"
    请注意,参数之间用空格分隔。
  • 此注册表变量控制在“首次出现数据收集”(FODC) 中使用的一组与故障诊断相关的参数。使用 DB2FODC 控制中断情况下数据收集的不同方面。
    此注册表变量在 DB2 实例启动期间读取一次。要对 FODC 参数进行联机更新,请使用 db2pdcfg 工具。使用 DB2FODC 注册表变量使配置在重新引导期间保持有效。不需要指定所有参数,也不需要按特定顺序指定参数。将对未指定的任何参数指定缺省值。例如,如果不想转储核心文件,但您需要其他参数的缺省行为,那么可发出以下命令:
    db2set DB2FODC="DUMPCORE=OFF"
    参数: CORELIMIT
    • 操作系统:Linux 和 UNIX
    • 缺省值:当前 ulimit 设置,值:0 到 unlimited
    • 此选项指定所创建核心文件的最大大小(按字节计)。此值将覆盖当前核心文件大小限制设置。应注意可用的文件系统空间,因为核心文件可能非常庞大。该大小取决于 DB2 配置和发生问题时进程的状态。

      如果设置了 CORELIMIT,那么 DB2 将使用此值来覆盖当前用户核心限制 (ulimit) 设置以生成核心文件。

      如果未设置 CORELIMIT,那么 DB2 会将核心文件大小设置为等于当前 ulimit 设置的值。
      注: 在下一次重新启动 DB2 实例之后,对用户核心限制或 CORELIMIT 所作的任何更改才会生效。
    DUMPCORE
    • 操作系统:Linux、Solaris 和 AIX?
    • 缺省值:AUTO,值:AUTOON 或 OFF
    • 此选项指定是否将生成核心文件。核心文件是在 diagpath 目录中创建的用于问题确定的文件,它们包含终止 DB2 进程的整个进程映像。但是,实际是否转储核心文件取决于当前 ulimit 设置和 CORELIMIT 参数的值。某些操作系统还有与核心转储相关的配置设置,这些设置可能会指定应用程序核心转储的行为。如果 DB2RESILIENCE 注册表变量设置为 ON,那么 AUTO 设置将导致无法承受陷阱时生成核心文件。DUMPCORE=ON 设置将覆盖 DB2RESILIENCE 注册表变量设置,从而始终生成核心文件。

      建议通过将 DUMPCORE 设置为 OFF 来禁用核心文件转储。

    DUMPDIR
    • 操作系统:所有操作系统
    • 缺省值:diagpath 目录,或者在未定义 diagpath 时为缺省诊断目录,值:目录的路径
    • 此选项指定用于核心文件创建的目录的绝对路径名。
    FODCPATH
    • 操作系统:所有操作系统
    • 缺省值:由 DIAGPATH 数据库管理器配置参数定义的路径,值:fodc_path_name
    • 此选项指定要将 FODC 程序包定向至的绝对路径名。fodc_path_name 必须是一个现有目录,并且为其设置此选项的一个或多个成员以及正在这些成员上运行的 fmp 进程必须可写入此目录。
    COS
    • 操作系统:所有操作系统
    • 缺省值:ON,值:ON 或 OFF
    • 此选项指定是否启用了 db2cos 脚本。可以将下列参数与此参数配合使用: COS_SLEEP
      • 缺省值:3,值:0 到无限大
      • 此选项指定两次检查所生成输出文件的大小之间休眠的时间量(以秒计)。
      COS_TIMEOUT
      • 缺省值:30,值:0 到无限大
      • 此选项指定在完成脚本之前要等待的时间量(以秒计)。
      COS_COUNT
      • 缺省值:255,值:0 到 255
      • 此选项指定在数据库管理器陷阱期间执行 db2cos 的次数。
      COS_SQLO_SIG_DUMP
      • 缺省值:ON,值:ON 或 OFF
      • 此选项指定在接收到 SQLO_SIG_DUMP 信号时是否启用了 db2cos
DB2_FORCE_APP_ON_MAX_LOG
  • 操作系统:所有操作系统
  • 缺省值:TRUE,值:TRUE 或 FALSE
  • 指定当超过了 max_log 配置参数值时将发生的情况。如果设置为 TRUE,那么会强制应用程序断开与数据库的连接并回滚工作单元。

    如果设置为 FALSE,那么当前语句将失败。该应用程序仍然可以落实在工作单元中由先前语句完成的工作,它也可以回滚已完成的工作以撤销该工作单元。

    注: 此 DB2 注册表变量影响 IMPORT 实用程序从日志满情况中恢复的能力。如果将 DB2_FORCE_APP_ON_MAX_LOG 设置为 TRUE,并且发出带 COMMITCOUNT 命令选项的 IMPORT 命令,那么 IMPORT 实用程序将不能执行落实以便避免用完活动日志空间。当 IMPORT 实用程序遇到 SQL0964C(事务日志满)时,将强制关闭数据库,并且当前工作单元将回滚。
DB2GRAPHICUNICODESERVER
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 此注册表变量用来存放现有的为将图形数据插入 Unicode 数据库而编写的应用程序。仅需要对那些特别地发送 Unicode 格式(而不是客户机的代码页)的 sqldbchar(图形)数据的应用程序使用此变量。(sqldbchar 是 C 和 C++ 中受支持的 SQL 数据类型,可以包含单个双字节字符。)如果设置为 ON,那么是通知数据库将接收的图形数据是 Unicode 格式,并且应用程序期望接收到 Unicode 格式的图形数据。
DB2INCLUDE
  • 操作系统:所有操作系统
  • 缺省值:当前目录
  • 指定在 DB2 PREP 处理期间处理 SQL INCLUDE 文本文件语句时要使用的路径。它提供一个有可能在其中找到包含文件的目录列表。请参阅开发嵌入式 SQL 应用程序以了解有关如何在不同预编译语言中使用 DB2INCLUDE 的描述。
DB2INSTDEF
  • 操作系统:Windows
  • 缺省值:DB2
  • 此变量设置在未定义  时要使用的值。
DB2INSTOWNER
  • 操作系统:Windows
  • 缺省值:NULL
  • 第一次创建实例时在 DB2 概要文件注册表中创建的注册表变量。将此变量设置为实例拥有的机器的名称。
DB2_LIC_STAT_SIZE
  • 操作系统:所有操作系统
  • 缺省值:NULL,范围:0 到 32767
  • 此变量确定包含系统许可证统计信息的文件的最大大小,以 MB 计。零值关闭许可证统计信息收集。如果无法识别或未定义该变量,那么该变量缺省为不受限制的大小。使用许可证中心显示该统计信息。
DB2LOCALE
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 此变量指定在调用 DB2 之后是否将进程的缺省值“C”语言环境复原为缺省“C”语言环境,以及在调用 DB2 函数之后是否将进程语言环境复原为原始“C”。如果原始语言环境不是“C”,那么忽略此注册表变量。
DB2_MAX_CLIENT_CONNRETRIES
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:重试连接的最大整数次数
  • 此变量指定客户机自动重新路由功能尝试的最大连接重试次数。可以将此变量与  配合使用以配置客户机自动重新路由重试行为。

    如果设置了 DB2_MAX_CLIENT_CONNRETRIES,但未设置 DB2_CONNRETRIES_INTERVAL,那么 DB2_CONNRETRIES_INTERVAL 缺省为 30。如果未设置 DB2_MAX_CLIENT_CONNRETRIES,但设置了 DB2_CONNRETRIES_INTERVAL,那么DB2_MAX_CLIENT_CONNRETRIES 缺省为 10。如果既未设置 DB2_MAX_CLIENT_CONNRETRIES 也未设置DB2_CONNRETRIES_INTERVAL,那么客户机自动重新路由功能将恢复为采用缺省行为,即重复地重新尝试连接数据库,最多 10 分钟。

DB2_MAX_GLOBAL_SNAPSHOT_SIZE
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:0 到快照的最大大小。
  • 此变量指定快照或快照估计的字节数。可以使用此变量,来防止大型全局快照出现内存使用达到峰值而引发的性能降级和系统暂挂的情况。

    缺省情况下,未设置 DB2_MAX_GLOBAL_SNAPSHOT_SIZE,此变量表示快照的最大大小的有效限制(2GB 减去 512 字节)。此变量为动态,且仅适用于分区数据库环境。

DB2_OBJECT_TABLE_ENTRIES
  • 操作系统:所有操作系统
  • 缺省值:0,值:0-65532

    系统上实际可能具有的最大值取决于页大小和扩展数据块大小,但是不能超过 65532

  • 此变量指定表空间中期望的对象数。如果知道将在 DMS 表空间中创建大量对象(例如,1000 或者更多个对象),那么在创建该表空间之前,应该将此注册表变量设置为一个接近的数目。在创建表空间期间,这将为对象元数据保留连续的存储器。通过保留连续的存储器,可以降低需要更新元数据条目的操作(例如 CREATE INDEX 和 IMPORT REPLACE)被联机备份阻塞的机率。它还将更容易调整表空间大小,原因是元数据将存储在表空间的开始部分。

    如果表空间的初始大小不足以保留连续存储器,那么将继续创建表空间而不保留附加空间。

DB2_SYSTEM_MONITOR_ SETTINGS
  • 操作系统:所有操作系统
  • 此注册表变量控制一组参数,这些参数允许您修改 DB2 监视的各个方面的行为。用分号分隔每个参数,如以下示例所示:
    db2set DB2_SYSTEM_MONITOR_SETTINGS=OLD_CPU_USAGE:TRUE;
    DISABLE_CPU_USAGE:TRUE
    每次设置 DB2_SYSTEM_MONITOR_SETTINGS 时,都必须显式设置每个参数。在设置此变量时未指定的任何参数将还原为其缺省值。因此,在以下示例中:
    db2set DB2_SYSTEM_MONITOR_SETTINGS=DISABLE_CPU_USAGE:TRUE
    OLD_CPU_USAGE 将恢复为其缺省设置。
    注: 当前,此注册表变量只具有适用于 Linux 的设置;在将来的发行版中将添加适用于其他操作系统的其他设置。
  • 参数: OLD_CPU_USAGE
    • 操作系统:Linux
    • 值:TRUE/ON 或 FALSE/OFF
    • RHEL4 和 SLES9 上的缺省值:TRUE(注意:OLD_CPU_USAGE 的 FALSE 设置将加以忽略 - 仅使用旧行为。)
    • RHEL5、SLES10 和其他操作系统上的缺省值:FALSE
    • 此参数控制实例如何获取 Linux 平台上的 CPU 使用时间。如果设置为 TRUE,那么将使用较旧的方法来获取 CPU 使用时间。此方法返回系统和用户 CPU 使用时间,但这样做将消耗更多 CPU(也就是说,它具有更高的开销)。如果设置为 FALSE,那么将使用较新的方法来获取 CPU 使用时间。此方法只返回用户 CPU 使用时间值,但由于它具有较小开销,所以速度更快。
    DISABLE_CPU_USAGE
    • 操作系统:Linux
    • 值:TRUE/ON 或 FALSE/OFF
    • RHEL4 和 SLES9 上的缺省值:TRUE
    • RHEL5、SLES10 和其他操作系统上的缺省值:FALSE
    • 此参数允许您确定是否读取 CPU 使用率。启用了 DISABLE_CPU_USAGE(设置为 TRUE)时,将不读取 CPU 使用率,从而避免在检索 CPU 使用率时有时会产生的开销。
DB2TERRITORY
  • 操作系统:所有操作系统
  • 缺省值:从语言标识中派生,由操作系统指定。
  • 此变量指定客户机应用程序的区域或地域代码,它影响日期和时间格式。
DB2_VIEW_REOPT_VALUES
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 当说明重新优化的 SQL 或 XQuery 语句时,此变量使所有用户都能够将该语句的经过高速缓存的值存储在 EXPLAIN_PREDICATE 表中。当此变量设置为 NO 时,只允许 DBADM 将这些值保存在 EXPLAIN_PREDICATE 表中。

系统环境变量

DB2_ALTERNATE_GROUP_LOOKUP
  • 操作系统:AIX? 和 Linux
  • 缺省值:NULL,值:NULLGETGRSET(在 AIX 上)或 GETGROUPLIST(在 Linux 上)
  • 此变量允许 DB2? 数据库系统从操作系统所提供的备用源中获取组信息。在 AIX 上,使用函数 getgrset。这使您能够通过可装入认证模块从本地文件之外的其他位置获取组。
DB2_APPL_CFG_PATH
  • 操作系统:Linux 和 UNIX
    注: 在 Linux 和 UNIX 服务器上,DB2_APPL_CFG_PATH 环境变量不受支持。
  • 缺省值:$DB2PATH
  • 此变量指定客户机配置文件的存储路径。客户机配置文件包括客户机数据库管理器配置文件、DB2 注册表变量、目录和 db2cli.ini 文件。
  • 可以设置此变量以指定特定于用户的客户机配置路径。如果您将 DB2_APPL_CFG_PATH 变量设置为特定于用户的路径,那么对缺省位置所作的任何更改都不会影响该客户机。
  • 但有其他环境变量会覆盖某些客户机配置文件(例如,db2cli.ini 和 db2dsdriver.cfg 文件)的缺省位置。如果设置了其他这些环境变量,那么会忽略 DB2_APPL_CFG_PATH 变量。
DB2_APPL_DATA_PATH
  • 操作系统:Linux 和 UNIX
    注: 在 Linux 和 UNIX 服务器上,DB2_APPL_DATA_PATH 环境变量不受支持。
  • 缺省值:$DB2PATH
  • 此变量指定客户机用户数据的存储路径。客户机用户数据包括 db2dump 目录、CLI 内部高速缓存文件、诊断数据文件、服务器列表高速缓存文件以及需要写访问权的内部临时文件。
  • 客户机用户无法共享应用程序数据路径。
  • 如果 DB2PATH 变量设置为只读网络路径,那么必须将此变量设置为您对其具有写访问权的位置。
  • 如果您在 db2cli.ini 文件中设置 DIAGPATH 配置参数和 DIAGPATH 关键字,那么会忽略 DB2_APPL_DATA_PATH 变量。
DB2_CLP_EDITOR 有关详细信息,请参阅“命令行变量”中的 。
DB2_CLP_HISTSIZE 有关详细信息,请参阅“命令行变量”中的 。
DB2CONNECT_ENABLE_EURO_CODEPAGE
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 在连接至需要支持欧元符号的 DB2 for z/OS? 服务器或 DB2 for i 服务器的所有 DB2 Connect? 客户机和服务器上,将此变量设置为 YES。如果将此变量设置为 YES,那么当前应用程序代码页将映射到明确指示支持欧元符号的等效编码字符集标识 (CCSID)。因此,DB2 Connect 通过使用一个 CCSID(它是当前应用程序代码的 CCSID 的超集,同时支持欧元符号)连接至 DB2 for z/OS 服务器或 DB2 for i 服务器。例如,如果客户机正在使用映射到 CCSID 1252 的代码页,那么该客户机将使用 CCSID 5348 进行连接。
DB2CONNECT_IN_APP_PROCESS
  • 操作系统:所有操作系统
  • 缺省值:YES,值:YES 或 NO
  • 将此变量设置为 NO 时,将强制 DB2 Enterprise Server Edition 工作站上的本地 DB2 Connect 客户机在代理程序内运行。在代理程序内运行的一些优点是可监视本地客户机,且本地客户机可使用 SYSPLEX 支持。
DB2_COPY_NAME
  • 操作系统:Windows
  • 缺省值:安装在工作站上的 DB2 缺省副本的名称。值:安装在工作站上的 DB2 副本的名称。此名称限长 128 个字符。
  • DB2_COPY_NAME 变量存储当前正在使用的 DB2 副本的名称。如果工作站上安装了多个 DB2 副本,那么无法使用 DB2_COPY_NAME 来切换到另一个 DB2 副本,而必须运行 INSTALLPATH\bin\db2envar.bat 命令才能切换当前正在使用的副本,其中 INSTALLPATH 是 DB2 副本的安装位置。
DB2DBMSADDR
  • 操作系统:Linux on x86、Linux on zSeries?(31 位)和 Windows(32 位)
  • 缺省值:NULL(在 Linux 操作系统上)或0x20000000(在 Windows 操作系统上),值:0x09000000 到 0xB0000000 范围内的虚拟地址,增量为 0x10000(在 Linux 操作系统上)或0x20000000 到 0xB0000000 范围内的虚拟地址,增量为 0x10000(在 Windows 操作系统上)
  • DB2DBMSADDR 注册表变量以十六进制格式指定缺省数据库共享内存地址。

    此变量可用来精细调整 DB2 进程的地址空间布局。此变量将把实例共享内存的位置从它在虚拟地址 0x10000000 的当前位置更改为新值。

    注: 不正确的地址会导致 DB2 数据库系统产生严重问题,这些问题包括无法启动 DB2 实例,甚至无法连接至数据库。不正确的地址就是与内存中已经在使用的区域相冲突的地址或者是预先指定为用于其他某些用途的地址。要解决此问题,可使用以下命令将 DB2DBMSADDR 注册表变量重置为 NULL
    db2set DB2DBMSADDR= 
    注: 在更改此变量的设置之前,您必须停止该实例和所有 DB2 进程。如果在设置此变量的情况下运行该实例,那么后续的任何 db2stop 命令都会失败。
DB2_DIAGPATH
  • 操作系统:所有操作系统
  • 缺省值:在 UNIX 和 Linux 操作系统上,缺省值是实例的 db2dump 目录;在 Windows 操作系统上,缺省值是实例的 DB2 目录。
  • 此参数仅适用于 ODBC 和 CLI 应用程序。

    此参数允许您指定 DB2 诊断信息的标准路径。此目录可能包含转储文件、陷阱文件、错误日志、通知文件和警报日志文件,视您使用的操作系统而定。

    对于该环境范围中的 ODBC 和 CLI 应用程序来说,设置此环境变量与设置 DB2 数据库管理器配置参数 diagpath 以及设置 CLI/ODBC 配置关键字 DiagPath 的效果相同。

DB2DOMAINLIST
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:由逗号(“,”)分隔的各个 Windows 域名组成的列表。
  • 此变量定义一个或多个 Windows 域。此列表在服务器上维护,它定义针对其认证请求用户标识的域。只会接受属于这些域的用户的连接请求。

    仅当在数据库管理器配置中设置了 CLIENT 认证时,此变量才有效。如果 Windows 域环境中要求从 Windows 桌面进行单点登录,那么需要此变量。

    DB2 服务器版本 7.1 或更高版本支持 DB2DOMAINLIST,但仅在纯 Windows 域环境中支持。从 V8 FP15 和 V9.1 FP3 开始,如果客户机或服务器正在 Windows 环境中运行,那么支持 DB2DOMAINLIST

DB2ENVLIST
  • 操作系统:UNIX
  • 缺省值:NULL
  • 此变量列示存储过程或用户定义的函数的特定变量名。缺省情况下,db2start 命令过滤掉除带 “DB2” 或 “db2” 前缀之外的所有用户环境变量。如果必须将特定环境变量传递至存储过程或用户定义的函数,那么可列示 DB2ENVLIST 环境变量中的变量名。用一个或多个空格将每个变量名隔开。
DB2INSTANCE
  • 操作系统:所有操作系统
  • 缺省值:(Windows 32 位操作系统)。
  • 此环境变量指定在缺省情况下处于活动状态的实例。在 UNIX 上,用户必须指定 DB2INSTANCE 的值。
    注: 不能使用 db2set 命令来更新此注册表变量。有关更多信息,请参阅和。
DB2INSTPROF
  • 操作系统:Windows
  • 缺省值:Documents and Settings\All Users\Application Data\IBM\DB2\Copy Name(Windows XP 和 Windows 2003)或ProgramData\IBM\DB2\Copy Name (Windows Vista)
  • 此环境变量指定 Windows 操作系统上实例目录的位置。从 V9.5 开始,实例目录和其他用户数据文件不能在 sqllib 目录中。
DB2LDAPSecurityConfig
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:IBM LDAP 安全插件配置文件的有效名称和路径
  • 此变量用来指定 IBM LDAP 安全插件配置文件的位置。如果未设置此变量,那么 IBM LDAP 安全插件配置文件的名称为IBMLDAPSecurity.ini 并且位于下列其中一个位置:
    • 在 Linux 和 UNIX 操作系统上:INSTHOME/sqllib/cfg/
    • 在 Windows 操作系统上:%DB2PATH%\cfg\

    在 Windows 操作系统上,应在全局系统环境中设置此变量,以确保 DB2 服务已使用此变量。

DB2LIBPATH
  • 操作系统:UNIX
  • 缺省值:NULL
  • DB2 构造其自身的共享库路径。如果要将 PATH 添加到引擎的库路径中(例如,在 AIX 上,用户定义的函数在 LIBPATH 中需要特定的条目),那么必须设置 DB2LIBPATHDB2LIBPATH 的实际值追加到 DB2 构造的共享库路径的末尾。
DB2LOGINRESTRICTIONS
  • 操作系统:AIX
  • 缺省值:LOCAL,值:LOCALREMOTESU 或 NONE
  • 此注册表变量允许您使用称为 loginrestrictions() 的 AIX 操作系统 API。此 API 确定是否允许用户访问系统。通过调用此 API,DB2 数据库安全性可以强制实施操作系统指定的登录限制。当您使用此注册表变量时,可以向此 API 提交不同的值。这些值为:
    • REMOTE

      DB2 强制实施登录限制,以验证帐户只能用于通过 rlogind 或 telnetd 程序进行远程登录。

    • SU

      DB2 V9.1 强制实施 su 限制,以验证允许执行 su 命令,并且当前进程有一个只能通过启动 su 命令来切换到帐户的组标识。

    • NONE

      DB2 不强制实施任何登录限制。

    • LOCAL(或者不设置此变量)

      DB2 强制实施登录限制,以验证只允许此帐户进行本地登录。当您登录时,这是正常行为。

    不管您设置了哪一个选项,具有指定特权的用户帐户或标识都能够在服务器上以本地方式或者从远程客户机成功使用 DB2。有关loginrestrictions() API 的描述,请参阅 AIX 文档。

DB2NODE
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:1 - 999
  • 用于指定希望连接的数据库分区服务器的目标逻辑节点。如果未设置此变量,那么目标逻辑节点将缺省为使用该工作站上的端口 0 定义的逻辑节点。在分区数据库环境中,连接设置可能会对获取可信连接产生影响。例如,如果 DB2NODE 变量设置为一个节点,以便在该节点上建立连接需要通过一个中间节点(中继段节点),那么在评估此连接以确定是否可以将它标记为可信连接时,将考虑该中间节点的 IP 地址以及用来在中继段节点与连接节点之间进行通信的通信协议。也就是说,不考虑发出连接的原始节点。而是考虑中继段节点。
    注: 不能使用 db2set 命令来更新此注册表变量。有关更多信息,请参阅。
DB2OPTIONS
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用来设置命令行处理器选项。
DB2_PARALLEL_IO
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:TablespaceID:[n],... - 已定义的表空间(由其数字表空间标识识别)的逗号分隔列表。 如果表空间的预取大小设置为 AUTOMATIC,那么可以通过指定表空间标识,后面跟一个冒号,再加上每个容器的磁盘数 n,向 DB2 数据库管理器指示该表空间中每个容器的磁盘数。如果未指定 n,那么将使用缺省值 6

    可以将 TablespaceID 替换为星号 (*) 以指定所有表空间。例如,如果 DB2_PARALLEL_IO =*,那么所有表空间都将使用 6 作为每个容器的磁盘数。如果您同时指定星号 (*) 和表空间标识,那么优先使用表空间标识设置。例如,如果 DB2_PARALLEL_IO =*,1:3,那么所有表空间都将使用 6 作为每个容器中的磁盘数,但第一个表空间除外(它使用 3 作为每个容器中的磁盘数)。

  • 此注册表变量用来更改 DB2 计算表空间的 I/O 并行性的方式。如果启用了 I/O 并行性(通过使用多个容器来隐式启用,或者通过设置DB2_PARALLEL_IO 来显式启用),那么通过发出正确数目的预取请求来实现此目标。每个预取请求都是对页的扩展数据块的请求。例如,表空间具有两个容器,而预取大小是扩展数据块大小的四倍。如果设置了此注册表变量,那么此表空间的预取请求会分为四个请求(每个请求对应一个扩展数据块),并且可能由四个预取程序来并行处理这些请求。

    如果表空间中的各个容器分布在多个物理磁盘上,或者表空间中的容器是在由多个物理磁盘组成的单个 RAID 设备上创建的,那么您可能想要设置注册表变量。

    如果未设置此注册表变量,那么任何表空间的并行度都是表空间的容器数。例如,如果 DB2_PARALLEL_IO 设为 NULL 并且表空间有四个容器,那么将发出四个具有扩展数据块大小的预取请求;如果表空间有两个容器,并且预取大小是扩展数据块大小的四倍,那么此表空间的预取请求将分为两个请求(每个请求对应两个扩展数据块)。

    如果设置了此注册表变量,并且表的预取大小不是 AUTOMATIC,那么表空间的并行度为预取大小除以扩展数据块大小。例如,如果对预取大小为 160 而扩展数据块大小为 32 页的表空间设置了 DB2_PARALLEL_IO,那么将发出 5 个具有扩展数据块大小的的预取请求。

    如果设置了此注册表变量,且表空间的预取大小是 AUTOMATIC,那么 DB2 将自动计算表空间的预取大小。下表概述了可用的不同选项和在每种情况下计算并行性的方式:
    表 1. 如何计算并行性
    表空间的预取大小 DB2_PARALLEL_IO 设置 并行性等同于:
    AUTOMATIC 未设置 容器数
    AUTOMATIC 表空间标识 容器数 * 6
    AUTOMATIC 表空间标识:n 容器数 * n
    非 AUTOMATIC 未设置 容器数
    非 AUTOMATIC 表空间标识 预取大小/扩展数据块大小
    非 AUTOMATIC 表空间标识:n 预取大小/扩展数据块大小

    在某些情况下使用此变量可能会导致磁盘争用。例如,如果表空间有两个容器,并且每个容器都有专用的单个磁盘,那么设置此注册表变量可能导致发生磁盘争用,这是因为两个预取程序会同时访问两个磁盘。但是,如果每个容器都分布在多个磁盘上,那么设置此注册表变量将潜在允许同时访问四个不同的磁盘。

    要激活对此注册表变量的更改,请发出 db2stop 命令,然后输入 db2start 命令。

DB2PATH
  • 操作系统:所有操作系统
  • 缺省值:随 Windows 操作系统不同而有所变化。在 Linux 和 UNIX 操作系统上,缺省路径为 $HOME/sqllib
  • 此环境变量用于指定该产品的安装目录。
  • 在 Linux 和 UNIX 操作系统上,对于通过网络安装的客户机环境,请将路径设置为 DB2 客户机代码所在的网络路径。
    注: 在 Linux 和 UNIX 服务器上,DB2PATH 环境变量不受支持。
DB2_PMAP_COMPATIBILITY
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ON 或 OFF
  • 此变量允许用户继续使用 sqlugtpi 和 sqlugrpn API 来分别返回某个表的分布信息以及某行的数据库分区号和数据库分区服务器号。缺省设置 ON 表示分布映射大小仍为 4096 个条目(V9.7 以前的行为)。如果此变量设置为 OFF,那么新数据库或已升级数据库的分布映射大小将增大为 32768 个条目(V9.7 的行为)。如果您使用 32K 分发映射,那么必须使用新的 db2GetDistMap 和 db2GetRowPartNum API。
DB2PROCESSORS
  • 操作系统:Windows
  • 缺省值:NULL,值:0-n-1(其中,n 为处理器数)
  • 此变量设置特定 db2syscs 进程的进程亲缘关系掩码。在运行多逻辑节点的环境中,此变量用来使逻辑节点与一个处理器或一组处理器相关联。

    指定了此变量时,DB2 会发出 SetProcessAffinityMask() API。如果未指定此变量,那么 db2syscs 进程将与服务器上的所有处理器相关联。

DB2RCMD_LEGACY_MODE
  • 操作系统:Windows
  • 缺省值:NULL,值:YESONTRUE 或 1 或者 NOOFFFALSE 或 0
  • 此变量允许用户启用或禁用 DB2 远程命令服务的增强安全性功能。要以安全方式运行 DB2 远程命令服务,请将 DB2RCMD_LEGACY_MODE设置为 NOOFFFALSE0 或 NULL。要以旧方式(未增强安全性)运行,请将 DB2RCMD_LEGACY_MODE 设置为 YESONTRUE 或1。仅当域控制器运行的是 Windows 2000 或更高版本时,安全方式才可用。
    注: 如果将 DB2RCMD_LEGACY_MODE 设置为 YESONTRUE 或 1,那么所有发送至 DB2 远程命令服务的请求都在请求者上下文中进行处理。为了便于进行此处理,必须在域控制器上启用工作站和服务登录帐户,以允许工作站和/或服务登录帐户模拟客户机。
    注: 如果将 DB2RCMD_LEGACY_MODE 设置为 NOOFFFALSE 或 0,那么您必须拥有 SYSADM 权限才能让 DB2 远程命令服务代表您运行命令。
DB2RESILIENCE
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ONTRUE 或 1)或者 OFFFALSE 或 0
  • 此注册表变量可用于控制是否容忍物理读错误以及是否激活扩展陷阱恢复功能。缺省行为是,容忍读错误并激活扩展陷阱恢复功能。要恢复为前发行版的行为并强制数据库管理器关闭实例,请将该注册表变量设置为 OFF。此注册表变量不会影响现有的存储密钥支持。
DB2_RESTORE_GRANT_ADMIN_AUTHORITIES
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 如果 DB2_RESTORE_GRANT_ADMIN_AUTHORITIES 设置为 ON,并且您正在复原到新的或现有数据库,那么会为您授予 SECADM、DBADM、DATAACCESS 和 ACCESSCTRL 权限。
  • 当 DB2_RESTORE_GRANT_ADMIN_AUTHORITIES 设置为 ON 时,支持下列复原方法:
    • 分割镜像备份
    • ACS 快照备份
    • 使用 RESTORE DATABASE 命令进行联机和脱机数据库备份
    注: 此变量对表空间复原没有影响;不会对发出复原操作的用户授予任何其他权限。
  • 如果 DB2_WORKLOAD 设置为 SAP,那么 DB2_RESTORE_GRANT_ADMIN_AUTHORITIES 会设置为 ON
DB2SYSTEM
  • 操作系统:Windows 和 UNIX
  • 缺省值:NULL
  • 指定您的用户和数据库管理员用于标识 DB2 数据库服务器系统的名称。应尽可能使此名称在网络中是唯一的。

    此名称显示在控制中心的对象树的系统层,以帮助管理员来标识可以从控制中心管理的服务器系统。

    当您使用“配置助手”的搜索网络功能时,DB2 发现返回此名称,并在生成的对象树中的系统层显示该名称。此名称帮助用户识别包含他们希望访问的数据库的系统。在安装时,将 DB2SYSTEM 的值设置如下:

    • 在 Windows 上,安装程序将它设置成对 Windows 系统指定的计算机名称。
    • 在 UNIX 系统上,将它设置为 UNIX 系统的 TCP/IP 主机名。
DB2_UPDDBCFG_SINGLE_DBPARTITION
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:0/FALSE/NO 或 1/TRUE/YES
  • 当此注册表变量设置为 1TRUE 或 YES 时,它允许您指定对数据库所进行的任何更新或重置仅影响特定分区。如果未设置此变量,那么更新和请求将按照 V9.5 的行为。
  • 从 V9.5 开始,如果未指定分区子句,那么对数据库配置所进行的更新或更改将对所有数据库分区生效。DB2_UPDDBCFG_SINGLE_DBPARTITION 允许您还原为先前版本的 DB2 的行为,即,对数据库配置的更新仅适用于本地数据库分区或 注册表变量设置的数据库分区。对于需要此行为的任何现有命令脚本或应用程序,这使得能够与较低版本兼容。
注: 此变量不适用于通过调用 ADMIN_CMD 例程发出的更新或重置请求。
DB2_USE_PAGE_CONTAINER_TAG
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:ON 或 NULL
  • 缺省情况下,DB2 将容器标记存储在每个 DMS 容器的第一个扩展数据块中,而无论它是文件还是设备。容器标记是容器的元数据。在 DB2 V8.1 之前,容器标记存储在单个页中,因此,它在容器中需要较少的空间。要继续将容器标记存储在单个页中,请将DB2_USE_PAGE_CONTAINER_TAG 设置为 ON

    但是,如果在对容器使用 RAID 设备时将此注册表变量设置为 ON,那么会降低 I/O 性能。这是因为对于您使用等于 RAID 分割区大小或其倍数的扩展数据块大小创建表空间的 RAID 设备,将 DB2_USE_PAGE_CONTAINER_TAG 设置为 ON 会导致扩展数据块不与 RAID 分割区排列在一起。因此,I/O 请求可能必须访问比正常情况下最适合的物理磁盘数更多的磁盘。不建议用户启用此注册表变量,除非您有严格的空间约束,或者您要求行为与 V8 之前的数据库行为保持一致。

    要激活对此注册表变量的更改,请发出 db2stop 命令,然后输入 db2start 命令。

DB2_WORKLOAD
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:1CCMCOGNOS_CSFILENET_CMINFOR_ERP_LNMAXIMOMDMSAPTPMWASWC 或 WP
  • DB2_WORKLOAD 的每个值表示若干个注册表变量和预定义的设置的特定分组。
  • 以下是有效值: 1C 如果要在数据库中为 1C 应用程序配置一组注册表变量,请使用此设置。 CM 当您想在数据库中为 IBM? Content Manager 配置一组注册表变量时使用此设置。 COGNOS_CS 当您想在数据库中为 Cognos? Content Server 配置一组注册表变量时使用此设置。 FILENET_CM 当您想在数据库中为 FileNet Content Manager 配置一组注册表变量时使用此设置。 INFOR_ERP_LN 当您想在数据库中为 Infor ERP Baan 配置一组注册表变量时使用此设置。 MAXIMO 当您想在数据库中为 Maximo? 配置一组注册表变量时使用此设置。 MDM 当您想在数据库中为 Master Data Management 配置一组注册表变量时使用此设置。 SAP 当您想在数据库中为 SAP 环境配置一组注册表变量时使用此设置。
    设置了 DB2_WORKLOAD=SAP 时,不会自动创建用户表空间 SYSTOOLSPACE 和用户临时表空间 SYSTOOLSTMPSPACE。这些表空间用于由下列向导、实用程序或函数自动创建的表:
    • 自动维护
    • 设计顾问程序
    • 控制中心数据库信息面板
    • SYSINSTALLOBJECTS 存储过程(如果未指定表空间输入参数)
    • GET_DBSIZE_INFO 存储过程

    如果没有 SYSTOOLSPACE 和 SYSTOOLSTMPSPACE 表空间,那么不能使用这些向导、实用程序和函数。

    为了能够使用这些向导、实用程序或函数,请执行下列任一操作:
    • 手动创建 SYSTOOLSPACE 表空间以保存工具需要的对象(在分区数据库环境中,在目录分区上创建此表空间)。例如:
      CREATE REGULAR TABLESPACE SYSTOOLSPACE
      IN IBMCATGROUP
      MANAGED BY SYSTEM
      USING ('SYSTOOLSPACE')
    • 通过指定有效的表空间,调用 SYSINSTALLOBJECTS 存储过程以创建用于工具的对象,并指定特定工具的标识。SYSINSTALLOBJECTS 将为您创建表空间。如果不想将 SYSTOOLSSPACE 用于对象,请指定另一个用户定义的表空间。
    在至少完成了这些选项中的一个选项之后,创建 SYSTOOLSTMPSPACE 临时表空间(如果您在分区数据库环境中工作,那么同样在目录分区上创建该临时表空间)。例如:
    CREATE USER TEMPORARY TABLESPACE SYSTOOLSTMPSPACE
    IN IBMCATGROUP
    MANAGED BY SYSTEM
    USING ('SYSTOOLSTMPSPACE')

    创建了表空间 SYSTOOLSPACE 和临时表空间 SYSTOOLSTMPSPACE 之后,可以使用前面提到的向导、实用程序或函数。

    TPM 当您要在数据库中为 IBM Tivoli? Provisioning Manager 配置一组注册表变量时使用此设置。 WAS 当您想在数据库中为 WebSphere? Application Server 配置一组注册表变量时使用此设置。此值在 DB2 V9.5 FP5 及更高版本中可用。 WC 当您想在数据库中为 WebSphere Commerce 配置一组注册表变量时使用此设置。此值在 DB2 V9.5 FP4 及更高版本中可用。 WP 当您想在数据库中为 WebSphere Portal 配置一组注册表变量时使用此设置。此值在 DB2 V9.5 FP5 及更高版本中可用。

通信变量

DB2CHECKCLIENTINTERVAL
  • 操作系统:所有操作系统,仅适用于服务器
  • 缺省值:100,值:大于或等于零的数字值。
  • 此变量指定活动事务期间 TCP/IP 客户机连接验证的频率。它允许提前检测客户机的终止,而不是等到查询完成之后。如果此变量设置为 0,那么不执行任何验证。

    较低的值会使得检查频率更高。作为一条准则,对于较低频率,使用 100;对于中等频率,使用 50;对于较高频率,使用 10。使用 DB2? 内部度量值来衡量此值。此值表示一个线性刻度,即将该值从 50 增加至 100 会使时间间隔加倍。当执行数据库请求时更频繁地检查客户机状态会延长完成查询所耗的时间。如果 DB2 工作负载很重(即,它涉及许多内部请求),那么将 DB2CHECKCLIENTINTERVAL 设置为较低的值,较之于在工作负载较轻的情况对性能的影响会更大。

DB2COMM
  • 操作系统:所有操作系统,仅适用于服务器
  • 缺省值:NULL,值:NPIPE、TCPIP 或 SSL
  • 此变量指定当启动数据库管理器时所启动的通信管理器。如果未设置此变量,那么不在服务器上启动任何 DB2 通信管理器。可以将此变量设为值的任何组合(用逗号来分隔值)。
    注: 值 NPIPE 仅在 Windows 操作系统中有效。
DB2FCMCOMM
  • 操作系统:所有受支持的 DB2 Enterprise Server Edition平台
  • 缺省值:TCPIP4,值:TCPIP4 或 TCPIP6
  • 此变量指定如何解析 db2nodes.cfg 文件中的主机名。所有主机名都解析为 IPv4 或 IPv6。如果 db2nodes.cfg 中指定的是 IP 地址而不是主机名,那么 IP 地址的格式确定是使用 IPv4 还是 IPv6。如果未设置 DB2FCMCOMM,那么其缺省设置 IPv4 表示只能启动 IPv4 主机。
    注: 如果根据 db2nodes.cfg 中指定的主机名解析的 IP 格式或 db2nodes.cfg 中直接指定的 IP 格式与 DB2FCMCOMM 的设置不匹配,那么 db2start 将失败。
DB2_FORCE_NLS_CACHE
  • 操作系统:AIX?、HP_UX 和 Solaris
  • 缺省值:FALSE,值:TRUE 或 FALSE
  • 此变量用于消去多线程应用程序中锁定争用的可能。当此注册表变量为 TRUE 时,在线程第一次访代码页和地域代码信息时将保存这些信息。由此,高速缓存的信息就可用于请求此信息的任何其他线程。在某些情况中,这样可消去锁定争用并导致有利于性能的结果。如果该应用程序更改了连接之间的语言环境设置,那么不应该使用此设置。在这种情况下,可能不需要这样做,原因是多线程应用程序通常不更改它们的语言环境设置,因为这样做不是线程安全的。
DB2_PMODEL_SETTINGS
  • 操作系统:所有操作系统
  • 此注册表变量控制一组参数,这些参数允许您修改 DB2 内部基础结构的各个方面的行为。使用分号分隔参数,如以下示例中所示:
    db2set
    DB2_PMODEL_SETTINGS=MLN_REMOTE_LISTENER:TRUE;ENHANCED_ROLLBACK:TRUE
  • 参数: MLN_REMOTE_LISTENER
    • 缺省值:FALSE
    • 值:TRUE 或 FALSE
    • 在 V9.7 FP3 及更高版本中,可以使用 MLN_REMOTE_LISTENER 参数对每个逻辑数据库分区启动 TCP/IP 侦听器。如果您将此选项设置为 TRUE,应用程序可以直接连接至每个逻辑数据库分区,而不通过分配给逻辑端口 0 的数据库分区服务器来传递请求。

      如果您将此选项设置为 TRUE,请确保其他 TCP/IP 侦听器不使用其他服务所需要的端口。

    ENHANCED_ROLLBACK
    • 缺省值:FALSE
    • 值:TRUE 或 FALSE
    • 在 V9.7 FP3 及更高版本中,可以使用 ENHANCED_ROLLBACK 参数来改进使用分区数据库环境的 DB2 服务器上的工作单元的回滚行为。如果您将此选项设置为 TRUE,那么只会将工作单元的回滚请求发送至参与事务的逻辑数据库分区。
DB2RSHCMD
  • 操作系统:UNIX 和 Linux
  • 缺省值:rsh(在 HP-UX 上为 remsh);值为 rsh、remsh 或 ssh 的完整路径名
  • 缺省情况下,在启动远程数据库分区时,DB2 数据库系统使用 rsh 作为通信协议,并使用 db2_all 脚本来对所有数据库分区运行实用程序和命令。例如,将此注册表变量设置为 ssh 的完整路径名会导致 DB2 数据库产品使用 ssh 作为请求运行实用程序和命令的通信协议。还可以将它设置为使用适当缺省参数调用远程命令程序的脚本的完整路径名。仅分区数据库、db2start 命令是从安装了 DB2 产品的服务器之外的另一个服务器运行的单分区环境,以及能够启动、停止或监视 DB2 实例(例如,db2gcf)的 rsh 或 ssh 从属实用程序,才需要此变量。实例所有者必须能够使用指定的远程 shell 程序来从每个 DB2 数据库节点登录到其他每个 DB2 数据库节点,而不会提示他们输入任何其他验证或认证(即,密码或密码短语)。

有关设置 DB2RSHCMD 注册表变量以便将 SSH Shell 与 DB2 配合使用的详细指示信息,请参阅白皮书“配置 DB2 Universal Database? for UNIX 以使用 OpenSSH”。

DB2RSHTIMEOUT
  • 操作系统:UNIX 和 Linux
  • 缺省值:30 秒,值:1 - 120
  • 仅当 DB2RSHCMD 设为非空值时,此变量才适用。此注册表变量用来控制 DB2 数据库系统将等待任何远程命令的超时时间段。经过这段超时时间段之后,如果未接收到响应,就会假定无法访问远程数据库分区,操作就会失败。
    注: 提供的时间值不是运行远程命令所需的时间,而是对请求进行认证所需的时间。
DB2SORCVBUF
  • 操作系统:所有操作系统
  • 缺省值:65536
  • 指定 TCP/IP 接收缓冲区的值。
DB2SOSNDBUF
  • 操作系统:所有操作系统
  • 缺省值:65536
  • 指定 TCP/IP 发送缓冲区的值。
DB2TCP_CLIENT_CONTIMEOUT
  • 操作系统:所有操作系统,仅适用于客户机
  • 缺省值:0(无超时),值:0 - 32767 秒
  • DB2TCP_CLIENT_CONTIMEOUT 注册表变量指定客户机必须等待 TCP/IP 连接操作完成的秒数。通过 TCP/IP 进行的数据库连接操作涉及 connect() 和 recv() 套接字子例程。如果 connect() 子例程达到超时,那么数据库管理器会返回 -30081 selectForConnectTimeout 错误,如果 recv() 子例程达到超时,那么数据库管理器会返回 -30081 selectForRecvTimeout 错误。

    如果未设置此注册表变量或将它设为 0,那么没有超时。

    注: 操作系统还有一个连接超时值,在达到您使用 DB2TCP_CLIENT_CONTIMEOUT 设置的超时之前起作用。例如,AIX 的缺省值为tcp_keepinit=150(以 0.5 秒为单位),它将在 75 秒后终止连接。
DB2TCP_CLIENT_KEEPALIVE_TIMEOUT
  • 操作系统:AIX、Linux 和 Windows(仅适用于客户机)
  • 缺省值 = 15 值:0 - 32767 秒
  • DB2TCP_CLIENT_KEEPALIVE_TIMEOUT 注册表变量指定在检测到无响应的 TCP/IP 客户机连接或附件不再处于活动状态之前经过的最长时间(按秒计)。如果未设置此变量,那么会使用为 15 秒的缺省设置。当 KeepAliveTimeout 关键字设置为 0 时,在操作系统中设置的保持活动设置将生效。如果设置此变量,那么它会优先于 db2dsdriver.cfg 文件中指定的任何 keepAliveTimeout 设置。

    对此变量的更改针对所有将此服务器的 TCP/IP 连接和附件立即生效

DB2TCP_CLIENT_RCVTIMEOUT
  • 操作系统:所有操作系统,仅适用于客户机
  • 缺省值:0(无超时),值:0 - 32767 秒
  • DB2TCP_CLIENT_RCVTIMEOUT 注册表变量指定 TCP/IP 接收操作中客户机等待数据的秒数。如果在指定的秒数内未接收到来自服务器的数据,那么 DB2 数据库管理器将返回错误 -30081 selectForRecvTimeout。

    如果未设置此注册表变量或将它设为 0,那么没有超时。

    注: CLI 可以使用 db2cli.ini 关键字 ReceiveTimeout 或连接属性 SQL_ATTR_RECEIVE_TIMEOUT 覆盖 DB2TCP_CLIENT_RCVTIMEOUT 的值。
DB2TCPCONNMGRS
  • 操作系统:所有操作系统
  • 在串行机器上,缺省值:1;在对称多处理器上,缺省值为处理器数的平方根进位向上舍入至最大连接管理器数 (16)。值:1 至 16
  • 如果未设置此注册表变量,那么创建缺省数目个连接管理器。如果设置了此注册表变量,那么此处指定的值覆盖缺省值。将创建指定数目个 TCP/IP 连接管理器,最多创建 16 个。如果指定小于 1 的值,那么 DB2TCPCONNMGRS 将设为值 1,并记录一条警告,指示值超出范围。如果指定大于 16 的值,那么 DB2TCPCONNMGRS 将设为值 16,并记录一条警告,指示值超出范围。1 到 16 之间的值按给定的那样使用。当创建多于 1 个连接管理器时,如果同时接收多个客户机连接,那么连接处理能力应能得到提高。如果用户在 SMP 机器上工作,或修改了DB2TCPCONNMGRS 注册表变量,那么可能有其他 TCP/IP 连接管理器(在 UNIX 上)或线程(在 Windows 操作系统上)。附加的进程或线程需要附加的存储器。
    注: 将连接管理器数设为 1 会导致具有许多用户的系统中的远程连接的性能下降、频繁连接和/或断开连接。

命令行变量

DB2BQTIME
  • 操作系统:所有操作系统
  • 缺省值:1 秒,最小值:1 秒
  • 此变量指定命令行处理器前端在检查后端进程是否活动并建立与它的连接之前休眠的时间量。
DB2BQTRY
  • 操作系统:所有操作系统
  • 缺省值:60 次重试,最小值:0 次重试
  • 此变量指定命令行处理器前端进程尝试确定后端进程是否活动的次数。此变量与 DB2BQTIME 共同起作用。
DB2_CLP_EDITOR
  • 操作系统:所有操作系统
  • 缺省值:Notepad(Windows)或 vi(UNIX),值:操作系统路径中的任何有效编辑器
    注: 在安装期间,不会将此注册表变量设置为缺省值。相反,如果未设置此注册表变量,使用此变量的代码就会使用缺省值。
  • 此变量确定执行 EDIT 命令时要使用的编辑器。从 CLP 交互式会话中,EDIT 命令启动使用用户指定命令预装入的编辑器,于是就可编辑和运行该编辑器。
DB2_CLP_HISTSIZE
  • 操作系统:所有操作系统
  • 缺省值:20,值:1-500(包括 1 和 500)
    注: 在安装期间,不会将此注册表变量设置为缺省值。如果未设置此注册表变量或者将其设置为有效范围以外的值,那么使用此变量的代码将使用缺省值 20
  • 此变量确定 CLP 交互式会话期间存储在命令历史记录中的命令数。由于命令历史记录保留在内存中,所以如果此变量的值非常高可能会对性能产生影响,影响大小取决于在会话中所运行命令的数目和长度。
DB2_CLPPROMPT
  • 操作系统:所有操作系统
  • 缺省值:无(如果未定义它,那么“db2 =>”将用作缺省 CLP 交互提示符),值:长度小于 100 且包含零个或零个以上下列标记的任何文本字符串:%i、%d、%ia、%da 或 %n。除非用户确实希望更改缺省 CLP 交互式提示符 (db2 =>),否则他们不需要设置此变量。
  • 此注册表变量允许用户定义要在命令行处理器 (CLP) 交互方式中使用的提示符。该变量可设置为长度小于 100 个字符且包含零个或零个以上可选标记 %i、%d、%ia、%da 或 %n 的任何文本字符串。当以 CLP 交互方式运行时,要使用的提示符的构造方式如下:通过获取DB2_CLPPROMPT 注册表变量中指定的文本字符串并将出现的所有 %i、%d、%ia、%da 或 %n 标记分别替换为当前连接的实例的本地别名、当前数据库连接的本地别名、当前连接的实例的授权标识、当前数据库连接的授权标识以及换行符(即,回车符)。
    注:
    1. 如果在 CLP 交互方式下更改了 DB2_CLPPROMPT 注册表变量,那么在关闭并重新打开 CLP 交互方式之前,DB2_CLPPROMPT 的新值不会生效。
    2. 如果不存在实例连接,那么 %ia 将替换为空字符串,而 %i 将替换为  注册表变量的值。(仅适用于 Windows 平台)如果未设置 DB2INSTANCE 变量,那么 %i 将替换为  注册表变量的值。如果这些变量都没有设置,那么 %i 将替换为空字符串。
    3. 如果不存在数据库连接,那么 %da 将替换为空字符串,而 %d 将替换为  注册表变量的值。如果未设置 DB2DBDFT 变量,那么 %d 将替换为空字符串。
    4. 交互式输入提示符将始终以大写形式显示授权标识、数据库名称和实例名的值。
DB2IQTIME
  • 操作系统:所有操作系统
  • 缺省值:5 秒,最小值:1 秒
  • 此变量指定命令行处理器后端进程在输入队列上等待前端进程传送命令的时间量。
DB2RQTIME
  • 操作系统:所有操作系统
  • 缺省值:5 秒,最小值:1 秒
  • 此变量指定命令行处理器后端进程等待前端进程提出请求的时间量。

分区数据库环境变量

DB2CHGPWD_EEE
  • 操作系统:AIX?、Linux 和 Windows 上的 DB2? ESE
  • 缺省值:NULL;值:YES 或 NO
  • 此变量指定是否允许其他用户更改 AIX 或 Windows ESE 系统上的密码。必须确保在 Windows 上使用 Windows 域控制器或在 AIX 上使用 LDAP 来集中维护所有数据库分区或节点的密码。如果没有集中维护,在所有数据库分区或节点之间密码可能会不一致。这可能会导致只在用户为了更改而连接的数据库分区中更改密码。
DB2_FCM_SETTINGS
  • 操作系统:Linux
  • 缺省值:YES;值:
    • FCM_MAXIMIZE_SET_SIZE:[YES|TRUE|NO|FALSE]。 FCM_MAXIMIZE_SET_SIZE 的缺省值为 YES
    • FCM_CFG_BASE_AS_FLOOR:[YES|TRUE|NO|FALSE]FCM_CFG_BASE_AS_FLOOR 的缺省值为 NO
  • 可以使用 FCM_MAXIMIZE_SET_SIZE 标记来设置 DB2_FCM_SETTINGS 注册表变量,以便为快速通信管理器 (FCM) 缓冲区预先分配缺省的 4 GB 空间。此标记的值必须是 YES 或 TRUE 才能启用此功能。

    在 V9.7 FP3 及更高修订包中,可通过 FCM_CFG_BASE_AS_FLOOR 选项设置 DB2_FCM_SETTINGS 注册表变量,以将基值设置为fcm_num_buffers 和 fcm_num_channels 数据库管理器配置参数的最低值。当 FCM_CFG_BASE_AS_FLOOR 选项设置为 YES 或TRUE,且这些参数设置为 AUTOMATIC 并具有初始或起始值时,数据库管理器不会将这些参数调整为低于此值。

DB2_FORCE_OFFLINE_ADD_PARTITION
  • 操作系统:所有操作系统
  • 缺省值:FALSE;值:FALSE 或 TRUE
  • 此变量允许您指定以脱机方式执行添加数据库分区服务器操作。缺省设置 FALSE 表明不必使数据库进入脱机状态即可添加 DB2 数据库分区服务器。但是,如果要以脱机方式执行此操作,或者某些限制导致无法在数据库处于联机状态时添加数据库分区服务器,请将DB2_FORCE_OFFLINE_ADD_PARTITION 设置为 TRUE。如果此变量设置为 TRUE,那么将按照版本 9.5 和更低版本的行为来添加新的 DB2 数据库分区服务器;即,新数据库分区服务器直到实例关闭并重新启动之后才对该实例可见。
DB2_NUM_FAILOVER_NODES
  • 操作系统:所有操作系统
  • 缺省值:2;值:0 至需要的数据库分区数
  • 设置 DB2_NUM_FAILOVER_NODES 以指定在发生故障转移时可能需要在机器上启动的其他数据库分区的数目。

    在 DB2 数据库高可用性解决方案中,如果数据库服务器出现故障,那么可以在另一台机器上重新启动故障机器上的数据库分区。快速通信管理器 (FCM) 使用 DB2_NUM_FAILOVER_NODES 来计算每台机器上要保留以便于进行此故障转移的内存大小。

    例如,考虑以下配置:
    • 机器 A 有两个数据库分区:1 和 2。
    • 机器 B 有两个数据库分区:3 和 4。
    • DB2_NUM_FAILOVER_NODES 在机器 A 和机器 B 上都设置为 2。
    执行 START DBM 时,FCM 将在机器 A 和机器 B 上保留足够的内存,以便管理多达四个数据库分区,这样在一台机器发生故障时,可以在另一台机器上重新启动故障机器上的那两个数据库分区。如果机器 A 出现故障,那么可以在机器 B 上重新启动数据库分区 1 和 2。如果机器 B 出现故障,那么可以在机器 A 上重新启动数据库分区 3 和 4。
DB2_PARTITIONEDLOAD_DEFAULT
  • 操作系统:所有受支持的 ESE 平台
  • 缺省值:YES;值:YES 或 NO
  • DB2_PARTITIONEDLOAD_DEFAULT 注册表变量允许用户在未指定特定于 ESE 的装入选项时更改 ESE 环境中 LOAD 实用程序的缺省行为。缺省值为 YES,这指定在 ESE 环境中,如果未指定特定于 ESE 的装入选项,那么将在定义了目标表的所有数据库分区上尝试装入。当值为 NO 时,仅在 LOAD 实用程序当前连接指的数据库分区上尝试装入。
    注: 建议您不要使用此变量,在以后的发行版中可能会将其除去。LOAD 命令具有各种选项,可使用它们获得相同的行为。通过使用 LOAD 命令指定以下内容,可获得与此变量的 NO 设置相同的结果:PARTITIONED DB CONFIG MODE LOAD_ONLY OUTPUT_DBPARTNUMS x,其中 x 是装入数据的分区的分区号。
DB2PORTRANGE
  • 操作系统:Windows
  • 值:nnnn:nnnn
  • 将此值设为 FCM 使用的 TCP/IP 端口范围,以便在另一台机器上创建的任何其他数据库分区也有相同的端口范围。

查询编译器变量

DB2_ANTIJOIN
  • 操作系统:所有操作系统
  • 在分区数据库环境中缺省值为 NO,在非分区数据库环境中缺省值为 YES;值:YES、NO 或 EXTEND
  • 对于分区数据库环境:如果指定 YES,那么优化器会寻找将“NOT EXISTS”子查询变换为可以由 DB2? 更有效处理的反连接的机会。对于非分区数据库环境:如果指定了 NO,那么优化器会限制将“NOT EXISTS”子查询变换为反连接的机会。

    在分区和非分区数据库环境中,如果指定了 EXTEND,那么优化器会寻找将“NOT IN”和“NOT EXISTS”子查询都变换为反连接的机会。

DB2_DEFERRED_PREPARE_SEMANTICS
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YESNO 或 YES_DBCS_GRAPHIC_TO_CHAR
  • 如果将此注册表变量设置为 YES,那么将启用延迟准备语义,以使 CLI 和 JDBC PREPARE 语句中使用的所有隐式类型参数标记都根据与后续 OPEN 或 EXECUTE 语句相关联的输入描述符来派生其数据类型和长度属性。与以前的情况相比,这样可以在更多位置使用隐式类型参数标记。

    注: 将 DB2_DEFERRED_PREPARE_SEMANTICS 设置为 YES 可能会导致非预期的影响或结果。如果输入描述符中的数据类型与使用“”的规则所派生的数据类型不同,那么可能会发生下列情况:
    • 由于增加了强制类型转换操作,使得查询性能降低。
    • 由于无法转换数据类型而使得查询失败。
    • 查询可能会返回不同的结果。
    例如,假定表 t1 中有 char_col 列,此列被定义为 VARCHAR(10) 并且具有值“1”、“100”、“200”和“xxx”。用户运行以下查询:
    select * from t1 where char_col = ?
    如果输入参数的数据类型为 INTEGER,并且正在使用延迟准备,那么会将 char_col 列强制转换为数字类型。但是,由于此表中的其中一行包含非数字数据(“xxx”),无法转换为数字值,因此查询失败。
    如果设置为 YES_DBCS_GRAPHIC_TO_CHAR,那么此注册表变量会指定参数标记要使用 VARCHAR 类型而不是 VARGRAPHIC 类型。如果符合下列所有条件,那么 DB2_DEFERRED_PREPARE_SEMANTICS 注册表变量隐式具有此设置:
    • 未设置 DB2_DEFERRED_PREPARE_SEMANTICS(即,设置为 NULL)。
    • The DB2_COMPATIBILITY_VECTOR 注册表变量设置为 ORAMYS 或 MSS
    • 您处于双字节字符集 (DBCS) 环境中。

    必须在发出 db2start 命令之前设置 DB2_DEFERRED_PREPARE_SEMANTICS 注册表变量。

    仅建议对 Unicode 数据库和 SBCS 数据库使用此注册表变量。

DB2_INLIST_TO_NLJN
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 在某些情况下,SQL 和 XQuery 编译器可以将 IN 列表谓词重写入连接。例如,在以下查询中:
     SELECT *
         FROM EMPLOYEE
         WHERE DEPTNO IN ('D11', 'D21', 'E21') 
    可以编写为:
     SELECT *
         FROM EMPLOYEE, (VALUES 'D11', 'D21', 'E21) AS V(DNO)
         WHERE DEPTNO = V.DNO 

    如果 DEPTNO 上有索引,那么此修订版可以提供更好的性能。首先访问值列表,然后使用索引应用连接谓词,通过嵌套循环连接将它连接到 EMPLOYEE。

    有时,优化器没有准确的信息来确定用于查询的重写版本的最好连接方法。如果 IN 列表包含阻止优化器使用目录统计信息来确定选择性的参数标记或主变量,那么会发生这种情况。此注册表变量导致优化器使用表来支持嵌套循环连接来连接值列表,该表提供 IN 列表作为连接中的内部表。

    注: 当 DB2 查询编译器变量  和/或 DB2_INLIST_TO_NLJN 设置为 YES 时,它们都保持为活动状态,即使指定了 REOPT(ONCE) 亦如此。
DB2_LIKE_VARCHAR
  • 操作系统:所有操作系统
  • 缺省值:Y,Y,
  • 控制子元素统计信息的使用。当数据具有空格定界的一系列子字段或子元素形式的结构时,它们是列中具有关于数据内容的统计信息。子元素统计信息的收集是可选的并由 RUNSTATS 命令或 API 中的选项来控制。
    此注册表变量将影响优化器如何处理以下格式的谓词:
     COLUMN LIKE '%xxxxxx%'
    其中 xxxxxx 是任意一个字符串。

    显示如何使用此注册表变量的语法如下:

     db2set DB2_LIKE_VARCHAR=[Y|N|S|num1] [,Y|N|S|num2]
    其中:
    • 逗号前的项或者谓词右边唯一的项,具有以下含义(仅当第二项指定为 N 或该列没有正的子元素统计信息):
      • S - 优化器根据括在 % 字符中的字符串的长度,估算并置在一起构成一个列的一系列元素中每个元素的长度。
      • Y - 缺省值。对算法参数使用缺省值 1.9。将可变长度子元素算法与算法参数一起使用。
      • N - 使用固定长度子元素算法。
      • num1 - 将 num1 的值与可变长度子元素算法一起用作算法参数。
    • 逗号后的项具有以下含义(仅适用于有正的子元素统计信息的列):
      • N - 不使用子元素统计信息。第一项生效
      • Y - 缺省值。使用可变长度子元素算法,该算法在列具有正的子元素统计信息的情况下,将子元素统计信息与算法参数的 1.9 缺省值结合使用。
      • num2 - 使用可变长度子元素算法,该算法在列具有正的子元素统计信息的情况下,将子元素统计信息与算法参数的 num2 的值结合使用。
DB2_MINIMIZE_LISTPREFETCH
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 列表预取是特殊的表访问方法,该方法涉及从索引检索限定 RID、按页号对其进行排序和预取数据页。有时,优化器没有准确的信息来确定列表预取是否是好的访问方法。当谓词选择性包含阻止优化器使用目录统计信息来确定选择性的参数标记或主变量时,可能发生这种情况。

    此注册表变量阻止优化器在此情况下使用列表预取。

    注: 当 DB2 查询编译器变量 DB2_MINIMIZE_LISTPREFETCH 和/或  设置为 YES 时,它们都保持为活动状态,即使指定了 REOPT(ONCE) 亦如此。
DB2_NEW_CORR_SQ_FF
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 将它设置为 ON 时,影响查询优化器为某些子查询谓词计算的选择值。它可用于改善 等式子查询谓词的选择值的精确性,这些谓词使用该子查询的 SELECT 列表中的 MIN 或 MAX 聚集函数。例如:
    SELECT * FROM T WHERE 
    T.COL = (SELECT MIN(T.COL) 
    FROM T WHERE ...)
DB2_OPT_MAX_TEMP_SIZE
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:一个查询在所有临时表空间中可以使用的空间大小(以兆字节计)
  • 限制查询在临时表空间中可以使用的空间量。如果设置 DB2_OPT_MAX_TEMP_SIZE,那么优化器选择的方案有可能比其他方式下选择的方案成本高得多,但使用的临时表空间会较少。如果设置 DB2_OPT_MAX_TEMP_SIZE,请确保在限制临时表空间使用量的需要与由于此设置而选择的方案的效率之间进行权衡。

    如果设置了 DB2_WORKLOAD=SAP,那么将把 DB2_OPT_MAX_TEMP_SIZE 自动设置为 10240 (10 GB)。

    如果运行的查询使用的临时表空间量超出对 DB2_OPT_MAX_TEMP_SIZE 设置的值,该查询不会失败,但是您将接收到一个警告,指出由于并非所有资源都可用,所以该查询的性能可能达不到最佳效果。

    优化器考虑的受 DB2_OPT_MAX_TEMP_SIZE 设置的限制影响的操作是:
    • 诸如 ORDER BY、DISTINCT、GROUP BY、合并扫描连接和嵌套循环连接之类的操作的显式排序。
    • 显式临时表
    • 散列连接和双重合并连接的隐式临时表
DB2_REDUCED_OPTIMIZATION
  • 操作系统:所有操作系统
  • 缺省值:NO,值:NO、YES、任何整数、DISABLE、NO_SORT_NLJOIN 或 NO_SORT_MGJOIN
  • 此注册表变量允许您请求使用缩减的优化功能或严格按照指定的优化级别来使用优化功能。如果减少所使用的优化技术的数目,那么还将减少优化期间耗用的时间和资源。
    注: 尽管可以减少优化时间和资源的使用,但会增大产生小于最佳数据存取方案的风险。仅当 IBM? 或其合作伙伴建议时,才使用此注册表变量。
    • 如果设置为 NO

      优化器将不更改它的优化技术。

    • 如果设置为 YES

      如果优化级别为 5(缺省值)或更低,优化器会禁用某些优化技术,这些技术可能消耗显著的准备时间和资源,但通常不会产生更好的存取方案。

      如果优化级别恰好是 5,优化器按比例逐步减少或禁用某些附加技术,这些技术可能进一步减少优化时间和资源使用,但也进一步增加小于最佳存取方案的风险。对于小于 5 的优化级别,其中某些技术不可能在任何情况下都有效。但是,如果它们有效,那么它们将保持有效。

    • 如果设置为任何整数

      效果与 YES 相同,对于在级别 5 优化的动态准备的查询,具有以下附加行为。如果任何查询块中的连接总数超出设置,那么优化器切换至贪婪连接枚举,而不是禁用附加的优化技术,如以上对级别 5 优化级别所述。这意味将以与优化级别 2 类似的级别优化查询。

    • 如果设置为 DISABLE

      当不受此 DB2_REDUCED_OPTIMIZATION 变量约束时,优化器的行为有时会对优化级别 5 的动态查询动态地减少优化,此设置禁用此行为并要求优化器执行全部的级别 5 优化。

    • 如果设置为 NO_SORT_NLJOIN

      优化器不生成对嵌套循环连接 (NLJN) 强制排序的查询方案。这些类型的排序有利于提高性能;因此,使用 NO_SORT_NLJOIN 选项时务必谨慎,它可能会对性能产生严重影响。

    • 如果设置为 NO_SORT_MGJOIN

      优化器不生成对合并扫描连接 (MSJN) 强制排序的查询方案。这些类型的排序有利于提高性能;因此,使用 NO_SORT_MGJOIN 选项时务必谨慎,它可能会对性能产生严重影响。

      注意:优化级别 5 的动态优化减少优先于对于在 DB2_REDUCED_OPTIMIZATION 设置为 YES 时恰好是 5 的优化级别所描述的行为以及整数设置所描述的行为。

DB2_SELECTIVITY
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 此注册表变量控制在 SQL 语句的搜索条件中可以使用 SELECTIVITY 子句的情况。

    如果此注册表变量设置为 NO,那么只能在用户定义的谓词中指定 SELECTIVITY 子句。

    当此注册表变量设置为 YES 时,可以为下列谓词指定 SELECTIVITY 子句:
    • 用户定义的谓词
    • 至少一个表达式包含主变量或参数标记的基本谓词
DB2_SQLROUTINE_PREPOPTS
  • 操作系统:所有操作系统
  • 缺省值:空字符串,值:
    • APREUSE {YES | NO}
    • BLOCKING {UNAMBIG | ALL | NO}
    • CONCURRENTACCESSRESOLUTION { USE CURRENTLY COMMITTED | WAIT FOR OUTCOME }
    • DATETIME {DEF | USA | EUR | ISO | JIS | LOC}
    • DEGREE {1 | degree-of-parallelism | ANY}
    • DYNAMICRULES {BIND | INVOKEBIND | DEFINEBIND | RUN | INVOKERUN | DEFINERUN}
    • EXPLAIN {NO | YES | ALL}
    • EXPLSNAP {NO | YES | ALL}
    • FEDERATED {NO | YES}
    • INSERT {DEF | BUF}
    • ISOLATION {CS | RR | UR | RS | NC}
    • OPTPROFILE {profile_name | schema_name.profile_name}
    • QUERYOPT optimization-level
    • REOPT {NONE | ONCE | ALWAYS}
    • STATICREADONLY {YES|NO|INSENSITIVE}
    • VALIDATE {RUN | BIND}
  • DB2_SQLROUTINE_PREPOPTS 注册表变量可以用来定制 SQL 和 XQuery 过程及函数的预编译和绑定选项。设置此变量时,请使用空格分隔每个选项,如下所示:
    db2set DB2_SQLROUTINE_PREPOPTS="BLOCKING ALL VALIDATE RUN"
    有关每个选项及其设置的完整描述,请参阅“BIND 命令”。

如果想要对选择各个过程获得与 DB2_SQLROUTINE_PREPOPTS 相同的结果,但不需要重新启动实例,那么可使用 SET_ROUTINE_OPTS 过程。

性能变量

DB2_ALLOCATION_SIZE
  • 操作系统:所有操作系统
  • 缺省值:128 KB,范围:64 KB - 256 MB
  • 指定缓冲池的内存分配大小。

    为此注册表变量设置较高的值可能具有下列优点:将需要更少的分配以达到缓冲池的期望内存量。

    为此注册表变量设置较高的值可能会增加成本,这是因为如果缓冲池的更改量不是分配大小的倍数,那么会浪费内存。例如,如果DB2_ALLOCATION_SIZE 的值为 8 MB,而缓冲池减少了 4 MB,那么由于不能释放整个 8 MB 段,所以这 4 MB 将会浪费。

注: 不推荐使用 DB2_ALLOCATION_SIZE,在以后的发行版中可能会将其除去。
DB2_APM_PERFORMANCE
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 将此变量设置为 ON 来启用存取方案管理器 (APM) 中与性能相关的更改,这些更改将影响查询高速缓存(程序包高速缓存)的行为。通常建议不要对生产系统使用这些设置。它们会引入一些限制,例如,可能会出现包外高速缓存错误和/或增加内存使用量。

    将 DB2_APM_PERFORMANCE 设置为 ON 也会启用无包锁定方式。此方式允许全局查询高速缓存运行,而不必使用包锁定,这些锁定是内部系统锁定,可以保护高速缓存的包条目不会被除去。NO PACKAGE LOCK 方式可能会使性能有较小的提高,但它不允许执行某些数据库操作。这些被禁止的操作可能包括:使包无效的操作、使包不起作用的操作、PRECOMPILEBIND 和 REBIND

DB2ASSUMEUPDATE
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 当启用此变量时,它允许 DB2? 数据库系统假定正在更改 UPDATE 语句中提供的所有固定长度列。这使得 DB2 数据库系统无需将现有列值与新值进行比较就可以确定实际上是否正在进行更改。当为更新提供了一些列(例如,在 SET 子句中)但是实际上没有进行修改时,使用此注册表变量会导致更多日志记录和索引维护。

    在执行 db2start 命令时激活 DB2ASSUMEUPDATE 注册表变量有效。

DB2_ASYNC_IO_MAXFILOP
  • 操作系统:所有操作系统
  • 缺省值:maxfilop 配置参数的值,值:从 maxfilop 的值到 max_int 的值
  • 不推荐使用 DB2_ASYNC_IO_MAXFILOP,在以后的发行版中可能会将其除去。由于线程数据库管理器所维护的共享文件句柄表而使此变量已过时。有关更多信息,请参阅

    在 V9.7 中仍然可以设置 DB2_ASYNC_IO_MAXFILOP,但是它将不起作用。如果您想限制可对每个数据库打开的文件句柄数,请参阅 配置参数。

DB2_AVOID_PREFETCH
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 指定在崩溃恢复期间是否应使用预取。如果 DB2_AVOID_PREFETCH =ON,那么不使用预取。
DB2_BACKUP_USE_DIO
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 指定操作系统是否对备份映像进行高速缓存。缺省行为是对该映像文件进行高速缓存。如果 DB2_BACKUP_USE_DIO 设置为 ON,那么备份映像文件直接写至磁盘(绕过文件高速缓存)。

    将此变量设置为 ON 可能会让操作系统更好地利用内存资源,因为对备份映像文件进行高速缓存没有任何好处。对于 Linux 平台,此性能影响带来的好处最大。但是,备份本身的速度可能会稍微减慢,所以应在 DB2_BACKUP_USE_DIO 设置为 ON 时测量备份性能的变化。
    注: 更改此注册表变量的值不会影响已在运行的备份操作的行为。对该值的更改将在下一次运行备份时生效,并且不需要实例重新启动。
DB2BPVARS
  • 操作系统:对每个参数指定的操作系统
  • 缺省值:路径
  • 两组参数可用于调整缓冲池。一组参数(仅在 Windows 上可用)指定缓冲池应对特定类型的容器使用散射读。另一组参数(在所有平台上都可用)影响预取行为。
    以格式 parameter=value 在 ASCII 码文件中指定参数,每行一个参数。例如,名为 bpvars.vars 的文件可能包含下列行:
     NO_NT_SCATTER = 1
          NUMPREFETCHQUEUES = 2 
    假定 bpvars.vars 存储在 F:\vars\ 中,要设置这些变量,请发出以下命令:
     db2set DB2BPVARS=F:\vars\bpvars.vars

    散射读参数

    对于针对相应类型的容器有大量顺序预取的系统以及您已将 DB2NTNOCACHE 设置为 ON 的系统,建议使用这些散射读参数。这些参数仅在 Windows 平台上可用,它们是 NT_SCATTER_DMSFILENT_SCATTER_DMSDEVICE 和 NT_SCATTER_SMS。指定 NO_NT_SCATTER 参数以显式地禁止对任何容器进行散射读。特定参数用于对所指示类型的所有容器打开散射读。对于这些参数中的每个参数,缺省值为(或OFF);且可能的值包括:(或 OFF)和 1(或 ON)。

    注: 仅当 DB2NTNOCACHE 设置为 ON 来关闭 Windows 文件高速缓存时,才可以打开散射读。如果 DB2NTNOCACHE 设置为 OFF 或者未设置,那么当您试图对任何容器打开散射读时,会向管理通知记录中写入一条警告消息,且仍然禁用散射读。

    预取调整参数

    预取调整参数是 NUMPREFETCHQUEUES 和 PREFETCHQUEUESIZE。这些参数在所有平台上都可用,且可用于改进缓冲池数据预取。例如,请考虑期望的 PREFETCHSIZE 划分为 PREFETCHSIZE/EXTENTSIZE 预取请求的顺序预取。在这种情况下,请求会放置在预取队列中,将从该队列分派 I/O 服务器来执行异步 I/O。缺省情况下,DB2 数据库管理器为每个数据库分区维护一个大小为 max(200,2*NUM_IOSERVERS ) 的队列。在某些环境中,随着队列和/或不同大小的队列的增加,性能会得到提高。预取队列的数目应该最多为 I/O 服务器数目的一半。设置这些参数时,请考虑其他参数(例如,PREFETCHSIZEEXTENTSIZENUM_IOSERVERS 和缓冲池大小)以及工作负载特征(例如,当前用户数)。

    如果认为缺省值对于您的环境太小,首先稍稍增大该值。例如,您可以设置 NUMPREFETCHQUEUES=4 和 PREFETCHQUEUESIZE=200。以受控方式对这些参数进行更改,以便可以监视和评估这些更改的效果。

    对于 NUMPREFETCHQUEUES,缺省值为 1,该值的范围是 1 至 NUM_IOSERVERS。如果将 NUMPREFETCHQUEUES 设置为小于 1,那么它将调整为 1。如果将它设置为大于 NUM_IOSERVERS,那么它将调整为 NUM_IOSERVERS

    对于 PREFETCHQUEUESIZE,缺省值为 max(200,2*NUM_IOSERVERS)。值的范围是 1 到 32767。如果将 PREFETCHQUEUESIZE 设置为小于 1,那么它将调整为缺省值。如果设置为大于 32767,那么它将调整为 32767

注: 不推荐使用 DB2BPVARS,在以后的发行版中可能会将其除去。
DB2CHKPTR
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 指定是否需要对输入进行指针检查。
DB2CHKSQLDA
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ON 或 OFF
  • 指定是否需要对输入进行 SQLDA 检查。
DB2_EVALUNCOMMITTED
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 当启用此变量时,在可能的情况下,它将进行扫描以延迟或避免行锁定,直到知道数据满足谓词求值为止。当启用此变量时,可对未落实的数据进行谓词求值。

    只有在“当前已落实”语义对避免锁定争用没有帮助时,DB2_EVALUNCOMMITTED 才适用。如果设置了此变量,并且“当前已落实”语义适用于扫描,那么将不会跳过已删除的行,并且不会对尚未落实的数据进行谓词求值;而是,将处理行和数据的当前已落实版本。

    并且,DB2_EVALUNCOMMITTED 只适用于使用“游标稳定性”或“读稳定性”隔离级别的语句。并且,执行表扫描访问时将无条件地跳过已删除的行,除非还设置了注册表变量 ,否则不会跳过已删除的键。

    在执行 db2start 命令时激活 DB2_EVALUNCOMMITTED 注册表变量有效。有关延迟锁定是否合适的决定则是在语句编译或绑定时作出的。

DB2_EXTENDED_IO_FEATURES
  • 操作系统:AIX?
  • 缺省值:OFF,值:ON 或 OFF
  • 将此变量设置为 ON 可启用增强 I/O 性能的功能。此增强功能包括提高内存高速缓存的命中率和减少高优先级 I/O 的等待时间。这些功能仅可用于特定的软硬件配置组合;对于其他配置来说,将此变量设置为 ON 将被 DB2 数据库管理系统或操作系统忽略。最低配置要求为:
    • 数据库版本:DB2 V9.1
    • 必须使用原始设备作为数据库容器(文件系统上的容器不受支持)
    • 操作系统:AIX 5.3 TL4
    • 存储子系统:Shark DS8000? 支持所有增强的 I/O 性能特征。请参阅 Shark DS8000 文档以了解设置和先决条件信息。

    HIGH、MEDIUM 和 LOW 的缺省 I/O 优先级设置分别为 38 和 12;可以使用  注册表变量来更改这些设置。

DB2_EXTENDED_OPTIMIZATION
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ONOFFENHANCED_MULTIPLE_DISTINCTIXOR 或 SNHD
  • 此变量指定查询优化器是否使用优化扩充功能来提高查询性能。ONENHANCED_MULTIPLE_DISTINCT 和 SNHD 值指定不同的优化扩充功能。如果要将这些值组合使用,请使用用逗号分隔的列表。

    如果查询中的一个单选操作涉及多个不同的聚集操作并且处理器数与数据库分区数的比率很低(例如,比率小于或等于 1),那么可以使用ENHANCED_MULTIPLE_DISTINCT 值来提高这种查询的性能。在不包含对称多处理器(SMP)的分区数据库环境中,应该使用此设置。

    IXOR 选项(从 DB2 V9.7 FP2 发行版开始提供此选项)指定优化器将使用索引 OR 运算数据访问方法。

    如果指定了 SNHD 值,那么优化器根据成本确定一个更加有效的单一分区、散列引导分区策略。在此方法下,无法真正以并行方式执行的操作将更加积极地被优化为在单个数据库分区(而非协调程序分区)上执行操作。

    这些优化扩充功能并不能在所有环境中提高查询性能。您应执行测试,以确定各个查询的性能提高情况。

DB2_HASH_JOIN
  • 操作系统:所有操作系统
  • 缺省值:YES,值:YES 或 NO
  • 在编译存取方案时,指定散列连接作为可能的连接方法。必须调整 DB2_HASH_JOIN 才能获得最佳性能。如果能够避免散列循环以及溢出到磁盘,那么散列连接的性能最佳。要调整散列连接性能,估计对 sheapthres 配置参数可用的最大内存量,然后调整 sortheap 配置参数。增大它的值,直到尽可能避免散列循环和磁盘溢出,但不要达到由 sheapthres 配置参数指定的限制。
    注: 建议不要使用 DB2_HASH_JOIN,将来的发行版可能会将其除去。
DB2_IO_PRIORITY_SETTING
  • 操作系统:AIX
  • 值:HIGH:#、MEDIUM:# 和 LOW:#,其中 # 可以在 1 至 15 之间
  • 此变量和  注册表变量一起使用。此注册表变量提供了一种方式来覆盖 DB2 数据库系统的缺省HIGHMEDIUM 和 LOW I/O 优先级设置,该缺省设置分别为 38 和 12。必须在启动实例之前设置此注册表变量;对此变量进行任何修改都需要重新启动实例。
    注: 单独设置此注册表变量并不会启用增强的 I/O 功能,还必须设置 DB2_EXTENDED_IO_FEATURES 才能启用这些功能。DB2_EXTENDED_IO_FEATURES 的所有系统要求同样适用于此注册表变量。
DB2_KEEP_AS_AND_DMS_ CONTAINERS_OPEN
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 如果将此变量设置为 ON,那么每个 DMS 表空间容器都将打开一个文件句柄,直到数据库被取消激活为止。因为免除了打开容器时所需进行的处理,所以查询性能可能会提高。仅应在纯 DMS 环境中使用此注册表,否则针对 SMS 表空间的查询的性能可能会受到负面影响。
DB2_KEEPTABLELOCK
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ONTRANSACTIONOFF 或 CONNECTION
  • 如果将此变量设置为 ON 或 TRANSACTION,那么此变量允许 DB2 数据库系统在“未落实的读”或“游标稳定性”隔离级别处于关闭状态期间维护表锁定。事务结束时将释放所保留的表锁定,就像为“读稳定性”和“可重复读”扫描释放表锁定一样。

    如果将此变量设置为 CONNECTION,那么将为应用程序释放一个表锁定,直到该应用程序回滚事务或者连接被重置为止。在落实之间,表锁定将继续挂起,删除表锁定的应用程序请求将被数据库忽略。表锁定仍然被分配给该应用程序。因此,当应用程序重新请求表锁定时,锁定已经处于可用状态。

    对于可利用此优化的应用程序工作负载,性能应该会有所提高。然而,并行运行的其他应用程序的工作负载可能会受到影响。其他应用程序可能无法访问给定表,从而使得并行性过低。DB2 SQL 目录表不受此设置影响。CONNECTION 设置还具有上面描述的 ON 或 TRANSACTION设置所具有的行为。

    在进行语句编译或绑定时将检查此注册表变量。

DB2_LARGE_PAGE_MEM
  • 操作系统:AIX、Linux 和 Windows Server 2003
  • 缺省值:NULL值:*(表示所有应该使用大页内存的适用内存区域)或者应该使用大页内存的特定内存区域的列表(各个内存区域之间以逗号分隔)。可用区域根据操作系统有所变化。在 AIX 上,可以指定下列区域:DBDBMSFCMAPPL 或 PRIVATE。在 Linux 上,可以指定以下区域:DB。在 Windows Server 2003 上,可以指定以下区域:DB。巨页内存仅在 AIX 上可用。
  • DB2_LARGE_PAGE_MEM 注册表变量用来启用大页支持或者巨页支持。设置 DB2_LARGE_PAGE_MEM=DB 将对数据库共享内存区域启用大页内存;如果 database_memory 设置为 AUTOMATIC,那么将禁止 STMM 对此共享内存区域进行自动调整。在 AIX 上,设置DB2_LARGE_PAGE_MEM=DB:16GB 将对数据库共享内存区域启用巨页内存。

    使用大量虚拟内存的密集内存访问型应用程序可以通过使用大页或巨页来提高性能。要使 DB2 数据库系统可以使用大页或巨页,必须先将操作系统配置为使用大页或巨页。

    要对 64 位 DB2 AIX 版上的代理程序专用内存启用大页(DB2_LARGE_PAGE_MEM=PRIVATE 设置),必须在操作系统中配置大页,并且实例所有者必须具有 CAP_BYPASS_RAC_VMM 和 CAP_PROPAGATE 能力。

    在 AIX 5L? 上,可以将此变量设置为 FCM。FCM 内存位于它自己的内存集中,因此必须将 FCM 关键字添加至 DB2_LARGE_PAGE_MEM 注册表变量的值,以便对 FCM 内存启用大页。

    在 Linux 上,还要求 libcap.so.1 库可用。必须先安装此库才能使此选项起作用。如果此选项已打开,且该库不在系统上,那么 DB2 数据库会禁用大内核页并继续如常运作。

    在 Linux 上,要验证大内核页是否可用,请发出以下命令:

     cat /proc/meminfo

    如果大内核页可用,那么应该显示下面三行(服务器上配置的内存量不同,显示的数字也会不同):

     HugePages_Total:   200
          HugePages_Free:    200
          Hugepagesize:    16384 kB

    如果没有看到这几行,或者 HugePages_Total 为 0,那么必须配置操作系统或内核。

    在 Windows 上,系统上可用的大页内存量小于总可用内存。系统运行一段时间之后,内存就会被分段,大页内存量就会减少。DB2_ALLOCATION_SIZE 注册表变量应设置为较高值(例如,256MB),以便在 Windows 上分配大内存页时实现一致的性能。(请注意,DB2_ALLOCATION_SIZE 需要您停止然后重新启动该实例。)

DB2_LOGGER_NON_ BUFFERED_IO
  • 操作系统:所有操作系统
  • 缺省值:AUTOMATIC,值:AUTOMATICON 或 OFF
  • 此变量允许您控制是否对日志文件系统执行直接 I/O (DIO) 操作。如果 DB2_LOGGER_NON_BUFFERED_IO 设置为 AUTOMATIC,那么将通过 DIO 来打开活动日志窗口(即,主日志文件),并且将对所有其他记录器文件进行缓存。如果它设置为 ON,那么将通过 DIO 来打开所有日志文件句柄。如果它设置为 OFF,那么将对所有日志文件句柄进行缓存。
DB2MAXFSCRSEARCH
  • 操作系统:所有操作系统
  • 缺省值:5,值:-1 以及 1 到 33554
  • 指定在将记录添加至表中时,要搜索的可用空间控制记录 (FSCR) 的数量。缺省情况是搜索 5 个 FSCR。修改此值允许您平衡插入速度与空间复用。使用较大的值将优化空间复用。使用较小的值将优化插入速度。将值设置为 -1 会强制数据库管理器搜索所有 FSCR。
DB2_MAX_INACT_STMTS
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:最大为 4000000000
  • 此变量覆盖对任何一个应用程序保留的不活动语句数的缺省限制。可以选择另一个值,以便增大或减小用于不活动语句信息的系统监视器堆大小。缺省限制为 250

    如果应用程序在一个工作单元中包含数目极多的语句,或者如果有许多应用程序正在同时运行,那么可能会耗尽系统监视器堆。

DB2_MAX_NON_TABLE_LOCKS
  • 操作系统:所有操作系统
  • 缺省值:YES,值:请参阅描述
  • 此变量定义在事务释放所有 NON 表锁定之前该事务可具有的 NON 表锁定的最大数目。NON 表锁定是这样一些表锁定:即使事务已使用完它们,它们仍保留在散列表和事务链中。因为事务经常多次访问同一个表,所以保留锁定并将它们的状态更改为 NON 可以提高性能。
    为了获得最佳结果,此变量的建议值是想要任何连接访问的表的最大数目。如果未指定用户定义的值,那么缺省值如下所示:如果 locklist 大小大于或等于
     SQLP_THRESHOLD_VAL_OF_LRG_LOCKLIST_SZ_FOR_MAX_NON_LOCKS 
    (当前为 8000),缺省值是
    SQLP_DEFAULT_MAX_NON_TABLE_LOCKS_LARGE
    (当前为 150)。否则,缺省值为
    SQLP_DEFAULT_MAX_NON_TABLE_LOCKS_SMALL
    (当前为 0)。
DB2_MDC_ROLLOUT
  • 操作系统:所有操作系统
  • 缺省值:IMMEDIATE,值:IMMEDIATEOFF 或 DEFER
  • 此变量对 MDC 表的删除操作启用称为“转出”的性能增强功能。当在搜索式 DELETE 语句中删除整个单元格(维值的交叉点)时,转出是删除 MDC 表中的行的较快方法。好处是减少了记录工作而处理效率更高。
    变量设置有三种可能的结果:
    • 不转出 - 在指定了 OFF 时
    • 立即转出 - 在指定了 IMMEDIATE 时
    • 转出但延迟清除索引 - 在指定了 DEFER 时

    如果在启动后更改了值,那么对语句进行的任何新编译都将沿用新的注册表值设置。对于程序包高速缓存中的语句,在重新编译语句之前,不会在删除处理中进行任何更改。SET CURRENT MDC ROLLOUT MODE 语句将在应用程序连接级别覆盖 DB2_MDC_ROLLOUT 的值。

    在 DB2 V9.7 及更高版本的发行版中,不支持将 DEFER 值用于具有分区 RID 索引的数据分区 MDC 表。仅支持 OFF 和 IMMEDIATE 值。如果DB2_MDC_ROLLOUT 注册表变量设置为 DEFER,或者 CURRENT MDC ROLLOUT MODE 专用寄存器设置为 DEFERRED 以覆盖DB2_MDC_ROLLOUT 设置,那么清除转出类型将为 IMMEDIATE。 如果 MDC 表仅存在非分区 RID 索引,那么支持执行延迟索引清除转出。

DB2MEMDISCLAIM
  • 操作系统:所有操作系统
  • 缺省值:YES;值:YES 或 NO
  • DB2 数据库系统进程使用的内存可能有一些关联的调页空间。即使在已经释放关联的内存后,也会保留该调页空间。这些条件取决于操作系统的(可调)虚拟内存管理资源分配策略。DB2MEMDISCLAIM 注册表变量控制 DB2 代理程序是否显式请求操作系统从释放的内存中解除关联保留的调页空间。

    DB2MEMDISCLAIM 设置为 YES 会导致较少的调页空间需求,并且可能导致较少的页面调度磁盘活动。DB2MEMDISCLAIM 设置为 NO 将会导致较多的调页空间需求,并且可能导致更多的页面调度磁盘活动。在某些情况下,例如,如果调页空间很大,并且实内存很大从不会发生页面调度,那么设置为 NO 会提供较小的性能提高。

DB2MEMMAXFREE
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:0 到 2??-1 字节
  • 指定未使用的专用内存的最大字节数,在将未使用的内存返回给操作系统之前这些内存由 DB2 数据库系统进程保留。

    如果未设置 DB2MEMMAXFREE,那么在将内存释放回操作系统之前,DB2 数据库系统进程将保留多达 20% 的未使用专用内存(根据当前消耗的专用内存量)。

注: 建议您不要使用 DB2MEMMAXFREE,在以后的发行版中会将其除去。由于数据库管理器现在使用线程引擎模型,所以不再需要此变量。不要设置此变量。设置它可能会降低性能,并且可能导致意外行为。
DB2_MEM_TUNING_RANGE
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:一系列百分比 n, m,其中 n=minfree,而 m=maxfree
  • DB2 实例保留可用的物理内存量十分重要,这是因为此数量指示了同一机器上运行的其他应用程序能够使用的内存量。当启用了数据库共享内存自调整功能时,给定实例保留可用的物理内存量取决于该实例(及其活动数据库)的内存需求。当一个实例紧急需要更多内存时,它将分配内存,直到系统上的可用物理内存量达到 minfree 指定的百分比为止。当该实例不需要那么多内存时,它将维护较大的可用物理内存量,此数量由 maxfree 以百分比形式指定。因此,要求对 minfree 设置的值必须小于 maxfree 值。

    如果未设置此变量,那么 DB2 数据库管理器就会根据服务器上的内存量计算 minfree 和 maxfree 的值。除非正在运行自调整内存管理器 (STMM) 并将 database_memory 设置为 AUTOMATIC,否则此变量的设置不起作用。

DB2_MMAP_READ
  • 操作系统:AIX
  • 缺省值:OFF,值:ON 或 OFF
  • 此变量与 DB2_MMAP_WRITE 一起使用,以允许 DB2 数据库系统使用 mmap 作为 I/O 的替代方法。

    当这些变量设置为 ON 时,读入至 DB2 缓冲池以及从这些缓冲池中写出的数据将绕过 AIX 内存高速缓存并使用内存映射 I/O。如果 DB2 缓冲池相对较小,并且您无法增大或选择不增大此缓冲池的大小,那么应该通过将 DB2_MMAP_READ 和 DB2_MMAP_WRITE 设置为 OFF 来利用 AIX 内存高速缓存。

DB2_MMAP_WRITE
  • 操作系统:AIX
  • 缺省值:OFF,值:ON 或 OFF
  • 此变量与 DB2_MMAP_READ 一起使用,以允许 DB2 数据库系统使用 mmap 作为 I/O 的替代方法。

    当这些变量设置为 ON 时,读入至 DB2 缓冲池以及从这些缓冲池中写出的数据将绕过 AIX 内存高速缓存并使用内存映射 I/O。如果 DB2 缓冲池相对较小,并且您无法增大或选择不增大此缓冲池的大小,那么应该通过将 DB2_MMAP_READ 和 DB2_MMAP_WRITE 设置为 OFF 来利用 AIX 内存高速缓存。

DB2_NO_FORK_CHECK
  • 操作系统:UNIX
  • 缺省值:OFF,值:ON 或 OFF
  • 当启用此注册表变量时,DB2 运行时客户机将使确定当前过程是否是派生调用的结果而进行的检查次数最少。这样可以提高不使用 fork()API 的 DB2 应用程序的性能。
DB2NTMEMSIZE
  • 操作系统:Windows
  • 缺省值:(随内存段变化)
  • Windows 要求在 DLL 初始化时保留所有共享内存段,以保证在不同的进程之间的地址匹配。DB2NTMEMSIZE 允许用户在必要时覆盖 Windows 上的 DB2 缺省值。在大多数情况下,缺省值应足够使用。内存段、缺省大小和替换选项为:
    1. 并行 FCM 缓冲区:缺省大小为 512 MB(在 32 位平台上)或 4.5 GB(在 64 位平台上);替换选项为 FCM:<字节数>
    2. 受防护方式的通信:缺省大小为 80 MB(在 32 位平台上)或 512 MB(在 64 位平台上);替换选项为 APLD:<字节数>
    3. 消息查询内存:缺省大小为 4 MB(在 32 位和 64 位平台上);覆盖选项是 QUE:
    通过用分号 (;) 来隔开替换选项,可替换多个段。例如,在 32 位版本的 DB2 上,要将 FCM 缓冲区设为 1 GB 并将受防护的存储过程限制为 256 MB,请使用:
    db2set DB2NTMEMSIZE=FCM:1073741824;APLD:268435456
    要将消息队列内存增加到 64 MB,请使用:
    db2set DB2NTMEMSIZE=QUE:67108864
DB2NTNOCACHE
  • 操作系统:Windows
  • 缺省值:OFF,值:ON 或 OFF
  • DB2NTNOCACHE 注册表变量指定 DB2 数据库系统是否使用 NOCACHE 选项打开数据库文件。如果 DB2NTNOCACHE=ON,那么不会执行文件系统高速缓存。如果 DB2NTNOCACHE=OFF,那么操作系统将高速缓存 DB2 文件。这适用于除包含长字段或 LOB 的文件以外的所有数据。消除系统高速缓存使数据库有更多内存可用,这样可以增加缓冲池或排序堆。

    在 Windows 中,在打开文件时对文件进行高速缓存,这是缺省行为。为文件中的每 1 GB 从系统池保留 1 MB。使用此注册表变量来覆盖高速缓存的无正式文件的 192 MB 限制。当达到该高速缓存限制时,给出资源不够错误。

注: 通过使用 CREATE TABLESPACE 和 ALTER TABLESPACE SQL 语句,可以对表空间容器获得相同好处。
DB2NTPRICLASS
  • 操作系统:Windows
  • 缺省值:NULL,值:RH 或(任何其他值)
  • 设置 DB2 实例(程序 DB2SYSCS.EXE)的优先级类别。有三种优先级类别:
    • NORMAL_PRIORITY_CLASS(缺省值优先级类别)
    • REALTIME_PRIORITY_CLASS(使用 R 来设置)
    • HIGH_PRIORITY_CLASS(使用 H 来设置)

    此变量与使用 DB2PRIORITIES 设置的各个线程优先级一起使用,以确定此系统中 DB2 线程相对于其他线程的绝对优先级。

    注: 建议不要使用 DB2NTPRICLASS,该参数只应在服务建议中使用。使用 DB2 服务类来调整代理程序优先级和预取优先级。使用此变量时应当小心。误用可能会对整个系统的性能有负面影响。

    有关更多信息,请参阅 Win32 文档中的 SetPriorityClass() API。

DB2NTWORKSET
  • 操作系统:Windows
  • 缺省值:1,1
  • 用于修改 DB2 数据库管理器可用的最小和最大工作集大小。缺省值情况下,当 Windows 未处于页面调度情况时,进程的工作集可按需要增大。但是,当发生页面调度时,进程可拥有的最大工作集大约是 1 MB。DB2NTWORKSET 允许您重设此缺省行为。

    使用 DB2NTWORKSET=min, max 语法来指定 DB2NTWORKSET,其中 min 和 max 以兆字节表示。

DB2_OVERRIDE_BPF
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:正数页数或 [;...],其中 =,
  • 此变量以页为单位指定在激活数据库、前滚恢复或崩溃恢复时要创建的缓冲池大小。当内存约束导致在激活数据库、前滚恢复或崩溃恢复期间出现故障时,此选项很有用。出现内存不足可能是因为实内存短缺(这种情况很少发生);或者因为数据库管理器试图在没有精确配置的缓冲池的情况下分配大的缓冲池。例如,当数据库管理器连 16 页的最小缓冲池都无法启动时,请尝试使用此环境变量来指定一个更小的页数。为此变量提供的值将覆盖当前的缓冲池大小。

    还可以使用 [;...](其中 =,)来临时更改所有缓冲池或部分缓冲池的大小,以便它们可以启动。

DB2_PINNED_BP
  • 操作系统:AIX、HP-UX 和 Linux
  • 缺省值:NO,值:YES 或 NO
  • 将此变量设置为 YES 将致使 DB2 请求操作系统锁定 DB2 的数据库共享内存。将 DB2 配置为锁定数据库共享内存之后,应注意确保系统不会被过度使用,这是因为操作系统在管理内存方面的灵活程度将下降。

    在 Linux 上,除了要求修改此注册表变量以外,还需要 libcap.so.1 库。

    如果将此变量设为 YES,那么将无法启用数据库共享内存自调整功能(通过将 database_memory 配置参数设为 AUTOMATIC 来激活此功能)。

    对于 AIX 操作系统,要使用具有中等页大小支持(这是缺省行为)的数据库内存锁定,通过以具有 root 用户权限的用户登录并发出以下命令来确保实例所有者具有 CAP_BYPASS_RAC_VMM 和 CAP_PROPAGATE 能力:
    chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE 

    对于 64 位环境中的 HP-UX,除了修改此注册表变量外,还必须对 DB2 实例组授予 MLOCK 特权。为此,具有 root 用户访问权限的用户要执行以下操作:

    1. 将 DB2 实例添加至 /etc/privgroup 文件中。例如,如果 DB2 实例组属于 db2iadm1 组,那么必须将下面这一行添加到/etc/privgroup 文件中:
       db2iadm1 MLOCK
    2. 发出以下命令:
       setprivgrp -f /etc/privgroup
DB2PRIORITIES
  • 操作系统:所有操作系统
  • 值的设置是与平台相关
  • 控制 DB2 进程和线程的优先级。
注: 建议不要使用 DB2PRIORITIES,该参数只应在服务建议中使用。使用 DB2 服务类来调整代理程序优先级和预取优先级。
DB2_RCT_FEATURES
  • 操作系统:所有操作系统
  • 缺省值:NULL。值:GROUPUPDATE=[ON|OFF]。GROUPUPDATE 的缺省值为 OFF。
  • 当仅在前导“键序列”列及其子集上指定了等于谓词时,此变量允许对搜索式 UPDATE 语句(它以范围集群表中的多行作为目标)进行经过优化和简化的更新处理。由于对于页面上的所有行只更新单个日志记录,而不是对于每一行都要更新日志记录,因此也简化了日志记录。
    用法:
    db2set DB2_RCT_FEATURES=GROUPUPDATE=ON

    注意:一旦启用了此注册表变量,就不可能逆向迁移到较低版本的修订包。此外,当使用 DATA CAPTURE CHANGES 的 UPDATE 语句的目标表、触发器和可变长度列具有任何辅助索引,或者更新修改任何主键列或外键列时,将不会执行组更新。

DB2_RESOURCE_POLICY
  • 操作系统:AIX 5 或更高版本、所有 Linux(32 位 zSeries? 除外)以及 Windows Server 2003 或更高版本
  • 缺省值:未设置,值:指向配置文件的有效路径
  • 定义如下资源策略:可以使用该策略来限制 DB2 数据库使用的操作系统资源,或者该策略包含用于将特定操作系统资源指定给特定 DB2 数据库对象的规则。例如,在 AIX、Linux 或 Windows 操作系统上,可使用此注册表变量来限制 DB2 数据库系统使用的一组处理器。资源控制的范围根据操作系统的不同而变化。

    在启用了 AIX NUMA 和 Linux NUMA 的机器上,可以定义指定 DB2 数据库系统使用的资源集的策略。使用资源集绑定时,将每个单独的 DB2 进程与特定资源集绑定。这对于一些性能调整方案很有用。

    可以设置该注册表变量来指示指向这样一个配置文件的路径:该配置文件定义用于将 DB2 进程与操作系统资源的策略绑定。资源策略使您可以指定一组操作系统资源来限制 DB2 数据库系统。每个 DB2 进程都与该资源集中的单个资源绑定。资源分配以循环方式进行。

    样本配置文件:

    示例 1:将所有 DB2 进程与 CPU 1 或 3 绑定。

      	
    	  
    			CPU
    		 
    		1	
    		
    		
    				3
    		
    	
    	 

    示例 2:(仅适用于 AIX)将 DB2 进程与下列其中一个资源集绑定:sys/node.03.00000、sys/node.03.00001、sys/node.03.00002 或 sys/node.03.00003

    
    	 
    			RSET
    		 
    				sys/node.03.00000
    		 
    		 
    				sys/node.03.00001
    		 
    		 
    				sys/node.03.00002
    		 
    		 
    				sys/node.03.00003
    		 
    	 
    
    注: (仅适用于 AIX)使用 RSET 方法要求具有 CAP_NUMA_ATTACH 功能。

    示例 3:(仅适用于 Linux)将与 SAMPLE 数据库相关联的缓冲池标识 2 和 3 的所有内存与 NUMA 节点 3 绑定。并且,将数据库内存总量的 80% 用于与 NUMA 节点 3 绑定,并保留 20% 的内存量分布在所有节点中作为并非特定于缓冲池的内存。

    
    	
    			sample
    			NODEMASK
    		
    				3
    				80
    			
    2
    3
    			
    		
    	
    

    示例 4:(仅适用于 Linux 和 Windows)定义两个分别由 CPU 掩码 0x0F 和 0xF0 指定的不同处理器集。将 DB2 进程和缓冲池标识 2 与处理器集 0x0F 绑定,并将 DB2 进程和缓冲池标识 3 与处理器集 0xF0 绑定。对于每个处理器集,将数据库内存总量的 50% 用于绑定。

    当期望建立处理器与 NUMA 节点之间的映射时,此资源策略很有用。下面是这种情况的一个示例:一个系统中有 8 个处理器和 2 个 NUMA 节点,其中处理器 0 到 3 属于 NUMA 节点 0,而处理器 4 到 7 属于 NUMA 节点 1。此资源策略允许在进行处理器绑定的同时隐式维护内存的局部性(CPU 方法和 NODEMASK 方法混合使用)。

    
    	
    			sample
    CPUMASK
    		
    			0x0F
    50
    			
    2
    			
    		
    		
    			0xF0
    50
    			
    3
    			
    		
    	
    
    DB2_RESOURCE_POLICY 注册表变量指定的配置文件接受 SCHEDULING_POLICY 元素。在某些平台上,可以使用 SCHEDULING_POLICY 元素来选择
    • DB2 服务器使用的操作系统调度策略

      可以使用 DB2NTPRICLASS 注册表变量来为 AIX 上的 DB2 和 Windows 上的 DB2 设置操作系统调度策略。

    • 各个 DB2 服务器代理程序使用的操作系统优先级

    此外,可以使用注册表变量 DB2PRIORITIES 和 DB2NTPRICLASS 来控制操作系统调度策略和设置 DB2 代理程序优先级。但是,如果在资源策略配置文件中指定 SCHEDULING_POLICY 元素,就可以在单一位置指定调度策略和相关代理程序优先级。

    示例 1:选择 AIX SCHED_FIFO 调度策略,并提高 DB2 日志写程序和阅读器进程的优先级。

    
    	
    		SCHED_FIFO
    		60
    
    		
    				db2loggr
    				56
    		
    
    		
    				db2loggw
    				56
    		
    	
    

    示例 2:在 Windows 上替换 DB2NTPRICLASS=H。

    
    	
    			HIGH_PRIORITY_CLASS
    	
    
DB2_SELUDI_COMM_BUFFER
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 此变量在通过 UPDATE、INSERT 或 DELETE(UDI)查询中的 SELECT 来处理分块游标时使用。当启用此注册表变量时,它会阻止将查询结果存储在临时表中。但是,在对 UDI 查询的 SELECT 的分块游标执行 OPEN 处理期间,DB2 数据库系统会尝试将查询的整个结果直接缓存到通信缓冲区内存区域中。

    如果通信缓冲区空间不足以容纳查询的整个结果,那么将返回 SQLCODE -906 错误并回滚事务。请分别查看 aslheapsz 和 rqrioblk 数据库管理器配置参数以了解有关调整本地应用程序和远程应用程序的通信缓冲区内存区域大小的信息。

    如果启用了分区内并行性,那么此注册表变量不受支持。

DB2_SET_MAX_CONTAINER_SIZE
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:-1 或任何大于 65 536 的正整数(以字节为单位)
  • 此注册表变量允许您限制启用了 AutoResize 功能的自动存储器表空间的各个容器大小。

    如果该值设置为 -1,那么对容器大小没有限制。

    注: 尽管您可以使用字节、千字节或兆字节单位来指定 DB2_SET_MAX_CONTAINER_SIZE,但是 db2set 将以字节为单位来指示它的值。
DB2_SKIPDELETED
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 当启用了此注册表变量时,它允许使用“游标稳定性”或“读稳定性”隔离级别的语句(在索引访问期间)无条件地跳过已删除的键和(在表访问期间)跳过已删除的行。启用  之后,将自动跳过已删除的行,但除非还启用了 DB2_SKIPDELETED,否则不会跳过索引中 未落实的伪删除键。

    只有在“当前已落实”语义对避免锁定争用没有帮助时,DB2_SKIPDELETED 才适用。如果设置了此变量,并且“当前已落实”语义适用于扫描,那么将不会跳过已删除的行;而是,将处理它们的当前已落实版本。

    此注册表变量不会影响 DB2 目录表上的游标的行为。

    此注册表变量用 db2start 命令激活。

DB2_SKIPINSERTED
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 当启用了 DB2_SKIPINSERTED 注册表变量时,它允许使用“游标稳定性”或“读稳定性”隔离级别的语句跳过未落实的已插入行,就好像从未插入这些行一样。此注册表变量不会影响 DB2 目录表上的游标的行为。此注册表变量是在数据库启动时激活的,而跳过未落实的已插入行的决定是在语句编译时或构建时做出的。

    如果正在使用“当前已落实”语义,那么此注册表变量没有任何作用。也就是说,即使将 DB2_SKIPINSERTED 设置为 OFF 并启用“当前已落实”行为,也仍然会跳过未落实的已插入行。

    注: 跳过已插入行的行为与具有暂挂转出清除的表不兼容。因此,扫描程序可能等待 RID 上的锁定,这样做只是为了发现该 RID 是否是已转出块的一部分。
DB2_SMS_TRUNC_TMPTABLE_THRESH
  • 操作系统:所有操作系统
  • 缺省值 =-2,值:-2-1 或 0 到 n,其中 n = SMS 表空间容器中针对每个临时表要维护的扩展数据块的数目
  • 此变量指定表示将在 SMS 表空间中维护的临时表的文件的最小文件大小阈值。

    从 DB2 V9.7 FP2 开始,此变量的缺省设置为 -2,这意味着对于其大小小于或等于 1 个扩展数据块 * 容器数的任何溢出的 SMS 临时对象,将没有任何不需要的文件系统访问。超过此大小的临时对象会被截断为 0 个扩展数据块。

    当此变量设置为 0 时(在 DB2 V9.7 FP2 之前,这是缺省设置),不会执行特殊阈值处理。但是,一旦不再需要临时表,该文件就会被截断为 0 个扩展数据块。当此变量的值大于 0 时,将维护更大的文件。超过此阈值的对象将被截断为阈值大小。这样可减少每次使用临时表时删除并重新创建文件所造成的一部分系统开销。

    如果此变量设置为 -1,那么不会截断该文件,并且允许它无限增长,只不过会受到系统资源的限制。

DB2_SORT_AFTER_TQ
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 指定当接收端要求对数据排序并且接收节点数与发送节点数相等时,优化器如何在分区数据库环境中使用定向表队列。

    当 DB2_SORT_AFTER_TQ=NO 时,优化器往往会在发送端排序,而在接收端合并行。

    当 DB2_SORT_AFTER_TQ=YES,优化器往往会发送未排序的行,在接收端不合并,而在接收完所有的行之后才在接收端对这些行进行排序。

DB2_SQLWORKSPACE_CACHE
  • 操作系统:所有操作系统
  • 缺省值:30,值:10 到 2000
  • 此变量允许您控制在 SQL 工作空间中对先前使用的段进行高速缓存的数量。

    SQL 工作空间包含执行 SQL 时的分配(以段的形式)。正在为应用程序执行的每个 SQL 语句(静态或动态)都必须在 SQL 工作空间中保留该语句的执行期间所使用的段的唯一副本。在完成该语句的执行后,该段将成为不活动段,并且可以释放与不活动段相关联的内存分配,也可以继续在 SQL 工作空间中高速缓存这些内存分配。当从任何连接再次执行相同 SQL 语句时,将在 SQL 工作空间中查找上次执行该语句时保留的段的高速缓存副本,从而节省与分配和初始化该段的新副本相关联的成本。因此,SQL 工作空间将同时包含活动段(对应于当前执行的 SQL)和当前未在执行的已高速缓存的段。

    此注册表变量的值指定允许在 SQL 工作空间中高速缓存的内存分配的百分比。此高速缓存将表示为活动段的内存分配的百分比。例如,值 50 表示 SQL 工作空间包含所有活动段(当前在执行的段)以及最多 50% 的先前执行了高速缓存的段(可以复用这些段)。应该根据您希望 SQL 工作空间中可供复用的多少来调整 DB2_SQLWORKSPACE_CACHE 的设置。例如,增加此变量的大小可以在一定程度上提高 OLTP 工作负载的性能。在另一方面,较高的设置也意味着将增加应用程序共享堆的大小。注意,如果未将 appl_memory 数据库配置参数设置为AUTOMATIC,那么 SQL 工作空间的大小还会受 appl_memory 的限制,因此 SQL 工作空间可能并不会提供DB2_SQLWORKSPACE_CACHE 设置所允许的高速缓存量;在这样的情况下,您可能需要考虑增大 appl_memory(或将其设置为AUTOMATIC)。此注册表变量不是动态的

DB2_TRUSTED_BINDIN
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:OFFON 或者 CHECK
  • 当启用了 DB2_TRUSTED_BINDIN 时,会加速执行不受防护的嵌入式存储过程中包含主变量的查询语句。

    当启用了此变量时,在绑定不受防护的嵌入式存储过程中包含的 SQL 和 XQuery 语句期间,不会将外部 SQLDA 格式转换为内部 DB2 格式。这将加速处理嵌入式 SQL 和 XQuery 语句。

    当启用了此变量时,不受防护的嵌入式存储过程中不支持下列数据类型:

    • SQL_TYP_DATE
    • SQL_TYP_TIME
    • SQL_TYP_STAMP
    • SQL_TYP_CGSTR
    • SQL_TYP_BLOB
    • SQL_TYP_CLOB
    • SQL_TYP_DBCLOB
    • SQL_TYP_CSTR
    • SQL_TYP_LSTR
    • SQL_TYP_BLOB_LOCATOR
    • SQL_TYP_CLOB_LOCATOR
    • SQL_TYP_DCLOB_LOCATOR
    • SQL_TYP_BLOB_FILE
    • SQL_TYP_CLOB_FILE
    • SQL_TYP_DCLOB_FILE
    • SQL_TYP_BLOB_FILE_OBSOLETE
    • SQL_TYP_CLOB_FILE_OBSOLETE
    • SQL_TYP_DCLOB_FILE_OBSOLETE

    如果遇到了这些数据类型,那么会返回 SQLCODE -804 和 SQLSTATE 07002。

    注: 输入主变量的数据类型和长度必须与相应元素的内部数据类型和长度精确匹配。对于主变量,将始终满足此要求。但是,对于参数标记,必须注意确保使用相匹配的数据类型。可以使用 CHECK 选项来确保所有输入主变量的数据类型和长度都匹配,但是此选项将不利于性能提高。
    注: 建议不要使用 DB2_TRUSTED_BINDIN,在以后的发行版中会将其除去。
DB2_USE_ALTERNATE_PAGE_CLEANING
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:ON 或 OFF
  • 此变量指定 DB2 数据库使用页清除算法的另一种方法还是使用页清除的缺省方法。当此变量设为 ON 时,DB2 系统会将更改的页写入磁盘,从而保持在 LSN_GAP 前面并且主动查找牺牲页。这样做允许页清除程序更好地利用可用的磁盘 I/O 带宽。当此变量设置为 ON 时,由于chngpgs_thresh 数据库配置参数不控制页清除程序的活动,所以它不再相关。
DB2_USE_FAST_PREALLOCATION
  • 操作系统:使用 VeritasVxFS、JFS2、GPFS? 或 ext4(仅适用于 Linux)文件系统的 AIX、Linux 和 Solaris。
  • 缺省值:ON(对于 Veritas VxFS、JFS2 和 GPFS),值:ON 或 OFF
  • 允许快速预分配文件系统功能部件保留表空间,并可以提高创建或改变大型表空间的过程以及数据库恢复操作的速度。实现此速度改善所增加的成本较低,也就是增加了在运行时期间插入行时分配实际空间所产生的成本。

    要禁用快速预分配,请将 DB2_USE_FAST_PREALLOCATION 设为 OFF。这可能会提高运行时性能;但是,在某些操作系统上(尤其是 AIX),当在同一表空间中执行大量插入和选择操作时,创建表空间的速度就会降低,并且数据库恢复时间将延长。对此设置进行的任何更改仅适用于表空间文件大小的新增部分或新文件。如果要禁用快速预分配并避免残留先前进行增加或添加时预分配的空间,需要复原该表空间。

DB2_USE_IOCP
  • 操作系统:AIX 5.3 TL9 SP2、AIX 6.1 TL2 或 AIX 7.1 或更高版本。
  • 缺省值:ON,值:OFF 或 ON
  • 在启用此注册表变量之前,请配置 IOCP。

    通过使用此变量,就可以在提交和收集异步 I/O (AIO) 请求时使用 AIX I/O 完成端口 (IOCP)。此功能用来提高非一致性内存访问 (NUMA) 环境中的性能,这是因为它可以避免进行远程内存访问。

其他变量

DB2ADMINSERVER
  • 操作系统:Windows 和 UNIX
  • 缺省值:NULL
  • 指定 DB2? 管理服务器。
DB2_ATS_ENABLE
  • 操作系统:所有操作系统
  • 缺省值:NULL;值:YES/TRUE/ON/1 或者 NO/FALSE/OFF/0
  • 此变量用于控制管理任务调度程序是否正在运行。缺省情况下,管理任务调度程序处于禁用状态。当此调度程序处于禁用状态时,可以使用内置过程和视图来定义和修改任务,但是此调度程序不执行任务。
DB2AUTH
  • 操作系统:所有操作系统
  • 缺省值:未设置。值:DISABLE_CHGPASSOSAUTHDBSQLADM_NO_RUNSTATS_REORGTRUSTEDCLIENT_SRVRENCTRUSTEDCLIENT_DATAENC和 JCC_ENFORCE_SECMEC
  • 此变量允许您调整用户认证的行为。
    • DISABLE_CHGPASS:此值禁用从客户机更改密码的能力。
    • OSAUTHDB:此值指示 DB2 数据库管理器使用用户在 AIX? 操作系统上的认证和组设置。从 FP1 开始,还已经将透明 LDAP 支持扩展到 Linux、HP-UX 和 Solaris 操作系统。可使用下列其中一个 LDAP 服务器:
      • IBM? Tivoli? Directory Server (ITDS)
      • Microsoft Active Directory (MSAD)
      • Sun One Directory Server
    • SQLADM_NO_RUNSTATS_REORG:此值是在 FP5 中引入的,用于使具有 SQLADM 权限的用户无法执行 reorg 或 runstats 操作。
    • TRUSTEDCLIENT_SRVRENC:此值强制不可信客户机使用 SERVER_ENCRYPT。此值不适用于 DB2 Connect? 网关。
    • TRUSTEDCLIENT_DATAENC:此值强制不可信客户机使用 DATA_ENCRYPT。此值不适用于 DB2 Connect 网关。
    • ALLOW_LOCAL_FALLBACK:此值允许 DB2 服务器在配置为使用类属安全性服务 (GSS) 插件时回退到使用 SERVER 认证进行本地隐式连接。如果启用了 ALLOW_LOCAL_FALLBACK,那么对于本地隐式连接,会使用 srvcon_pw_plugin 数据库管理器配置参数指定的用户标识和密码插件来认证用户,而不是使用指定的 GSS 认证,例如,KERBEROSKRB_SERVER_ENCRYPTGSSPLUGIN 或GSS_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 提供的安全插件始终允许本地隐式连接,因为它们假定操作系统已验证该用户。

    • DBADM_NO_SEQ_XSR_AUTH:此值禁用 DBADM 权限拥有对序列和 XSR 对象的使用特权,而将这些特权授予具有 DATAACCESS 权限的用户。
    • NO_GROUP_SEQ_AUTH:此值在发出涉及序列的静态 DML 语句时禁用组成员资格以获取 DBADM 权限。
    • JCC_ENFORCE_SECMEC:当认证值设置为 SERVER_ENCRYPT 时,此值会强制 DB2 服务器不接受 CLEAR_TEXT_PASSWORD_SECURITY 安全性机制。
  • 可使用 db2set 命令来为 DB2AUTH 设置多个值。必须用逗号来分隔每个值。例如,如果希望 DB2AUTH 同时启用 DISABLE_CHGPASS 和OSAUTHDB,请使用以下命令:
    db2set DB2AUTH=DISABLE_CHGPASS,OSAUTHDB
    注: 无法同时启用 TRUSTEDCLIENT_SRVRENC 和 TRUSTEDCLIENT_DATAENC
DB2CLIINIPATH
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于替换 CLI/ODBC 配置文件 (db2cli.ini) 的缺省路径并指定客户机上另一个位置。指定的值必须是客户机系统上的有效路径。
DB2_COMMIT_ON_EXIT
  • 操作系统:UNIX
  • 缺省值:OFF,值:OFF/NO/0 或 ON/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 的公共应用程序数据路径。
    • 对于 Windows XP 和 Windows 2003 操作系统:C:\Documents and Settings\All Users\Application Data\
    • 对于 Windows Vista 及更高版本操作系统:C:\ProgramData\
  • 指向用于保存 DB2 副本的 DB2 公共应用程序数据的用户定义位置。如果在安装响应文件期间指定了DB2_COMMON_APP_DATA_TOP_PATH 或在定制安装步骤期间填充了“DB2 公共应用程序数据顶部路径”字段,那么将填充此注册表变量。

    在 V9.7 FP5 和更高版本修订包中,此注册表变量在 db2set 命令输出中可视,但不可更改。尝试更改给定注册表值将导致 DBI1301E 无效值错误。

DB2_COMPATIBILITY_VECTOR
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:NULL 或者 00 到 FFF
  • DB2_COMPATIBILITY_VECTOR 注册表变量用来启用 DB2 V9.5 中引入的一个或多个 DB2 兼容性功能部件。通过这些功能部件,更容易完成将对其他关系数据库供应商编写的应用程序迁移到 DB2 V9.5 或更高版本的任务。
  • DB2_COMPATIBILITY_VECTOR 被表示为一个十六进制值,该变量中的每个位启用其中一个 DB2 兼容性功能部件,如表中所述。要启用所有受支持的兼容性功能部件,请将此注册表变量设置为值 ORA(此值等价于十六进制值 FFF)。这是建议设置。
DB2CONNECT_DISCONNECT_ON_INTERRUPT
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES/TRUE/1 或 NO/FALSE/0
  • 当此变量设置为 YESTRUE 或 1)时,它指定在发生中断时,应立即断开与 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,值:YES 或 NO
  • 将此注册表变量设置为 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 和其旧版本的应用程序可能无法正常工作。有关各种方案和正确操作过程的详细信息,请参阅 。
DB2_DDL_SOFT_INVAL
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ON 或 OFF
  • 允许在适用的数据库对象被删除或更改时使其软失效。
    如果 DB2_DDL_SOFT_INVAL 设置为 ON,那么任何 DDL 操作(例如删除、更改或拆离)不必等待引用相同对象的事务完成即可启动。依赖于这些对象的当前执行将继续使用原始的对象定义,而新执行将使用更改后的对象。这将提高发出 DDL 语句时的并行性。
    注: 新的软失效功能仅适用于动态程序包。任何使用静态程序包的对象仍要求执行硬失效操作。
DB2DEFPREP
  • 操作系统:所有操作系统
  • 缺省值:NO,值:ALLYES 或 NO
  • 对在 DEFERRED_PREPARE 预编译选项可用之前已预编译的应用程序,模拟此选项的运行时行为。例如,如果 DB2 V2.1.1 或更低版本的应用程序在 DB2 V2.1.2 或更高版本的环境中运行,那么可使用 DB2DEFPREP 来指示期望的“延迟准备”行为。
注: 建议您不要使用 DB2DEFPREP,将来的发行版中会将其除去。只有使用旧版本 DB2(DEFERRED_PREPARE 预编译选项在其中不可用)的用户才需要此变量。
DB2_DISABLE_FLUSH_LOG
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 指定在联机备份完成时,是否禁止关闭活动日志文件。

    当联机备份完成时,最后一个活动日志文件将被截断、关闭并且可以归档。这样就可确保您的联机备份有一组完整的归档日志可用于恢复。如果您担心这样会浪费部分日志序号 (LSN) 空间,那么可以禁用关闭最后一个活动日志文件。每次截断活动日志文件时,LSN 按截断空间量的比例递增。如果您每天都要执行大量联机备份,那么可以禁止关闭最后一个活动日志文件。

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

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

DB2_DISPATCHER_PEEKTIMEOUT
  • 操作系统:所有操作系统
  • 缺省值:1,值:0 到 32767 秒;0 表示立即超时
  • DB2_DISPATCHER_PEEKTIMEOUT 允许您调整分派器等待客户机的连接请求直至将客户机挂起至代理程序的时间,该时间以秒计。在大多数情况下,您不需要调整此注册表变量。此注册表变量只影响启用了 DB2 Connect 连接集中器的实例。

    此注册表变量和  注册表变量都配置在连接期间处理新客户机的方式。如果有很多客户机以很慢的速度与实例进行连接,那么分派器将对每个客户机分配长达 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,否则此变量将被忽略。

DB2DMNBCKCTLR
  • 操作系统:Windows
  • 缺省值:NULL,值:? 或域名
  • 如果您知道 DB2 服务器充当备份域控制器的域的名称,那么设置 DB2DMNBCKCTLR=DOMAIN_NAME。DOMAIN_NAME 必须是大写形式。要让 DB2 确定本地机器是其备份域控制器的域,设置 DB2DMNBCKCTLR=?。如果 DB2DMNBCKCTLR 概要文件变量未设置或设置为空白,那么 DB2 在主域控制器上执行认证。
    注: 缺省情况下,DB2 不使用现有的备份域控制器,因为备份域控制器可以脱离与主域控制器的同步,从而导致安全漏洞。当更新了主域控制器的安全性数据库但未将该更改传播至备份域控制器时,那么可能导致不同步。如果存在网络等待时间或计算机浏览器服务未运行,也可能发生此情况。
注: 建议您不要使用 DB2DMNBCKCTLR,在以后的发行版中会将其除去。由于 Active Directory 中没有其他备份域控制器,所以不再需要此变量。
DB2_DOCHOST
  • 操作系统:所有操作系统
  • 缺省值:未设置(但 DB2 仍将尝试从 IBM Web 站点(publib.boulder.ibm.com/infocenter/db2luw/v9r7)访问信息中心),值:http://hostname,其中 hostname 是有效的主机名或 IP 地址。
  • 指定安装了 DB2 信息中心的主机名。如果在 DB2 安装向导中选择了自动配置选项,那么在安装 DB2 信息中心期间可以自动设置此变量。
DB2_DOCPORT
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:任何有效端口号
  • 指定 DB2 帮助系统为 DB2 文档服务时使用的端口号。如果在 DB2 安装向导中选择了自动配置选项,那么在安装 DB2 信息中心期间可以自动设置此变量。
DB2DSDRIVER_CFG_PATH
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于覆盖 db2dsdriver.cfg 配置文件的缺省路径。有关更多信息,请参阅“相关参考”部分。
DB2DSDRIVER_CLIENT_HOSTNAME
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于覆盖 (db2dsdriver.cfg) 配置文件的缺省客户机主机名。该变量强制 CLI 从 db2dsdriver.cfg 文件的客户机自动重新路由部分中选取客户机主机名条目。
DB2_ENABLE_AUTOCONFIG_DEFAULT
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:YES 或 NO
  • 此变量控制创建数据库时是否自动运行配置顾问程序。如果未设置 DB2_ENABLE_AUTOCONFIG_DEFAULT (NULL),那么效果等同于将该变量设置为 YES,因此创建数据库时将运行配置顾问程序。设置此变量后,不需要重新启动实例。如果执行 AUTOCONFIGURE 命令或者运行CREATE DB AUTOCONFIGURE,那么这些命令将覆盖 DB2_ENABLE_AUTOCONFIG_DEFAULT 设置。
DB2_ENABLE_LDAP
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 指定是否使用“轻量级目录访问协议”(LDAP)。LDAP 是一种目录服务访问方法。

在 db2dsdriver.cfg 文件中可以指定的等效关键字为 EnableLDAP

DB2_EVMON_EVENT_LIST_SIZE
  • 操作系统:所有操作系统
  • 缺省值:0(没有限制),值:以 KB/Kb/kb、MB/Mb/mb 或 GB/Gb/gb 计;虽然此变量没有固定的上限,但它受监视器堆中的可用内存量限制。
  • 此注册表变量指定排队等待写入特定事件监视器的最大字节数。达到此限制后,尝试发送事件监视器记录的代理程序将等待,直到队列大小降低到小于此阈值为止。
注: 如果无法从监视器堆分配活动记录,那么这些记录将被删除。为了防止出现这种情况,请将 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':字符串中的每个名称表示要对其过滤记录的事件监视器的名称。每个选项(op1 和op2 等等)都表示指向特定 SQL 操作的整数值映射。指定整数值允许用户确定对哪个事件监视器应用哪些规则。
  • 可以使用 DB2_EVMON_STMT_FILTER 来减少语句事件监视器写入的记录数。设置了此注册表变量时,它仅导致下列 SQL 操作的记录写入指定的事件监视器:
    表 1. 要用于 DB2_EVMON_STMT_FILTER 以对特定 SQL 操作限制事件监视器输出的值
    SQL 操作 整数值映射
    EXECUTE 2
    EXECUTE_IMMEDIATE 3
    OPEN 4
    FETCH 5
    CLOSE 6
    STATIC COMMIT 8
    STATIC ROLLBACK 9
    PRE_EXEC 17

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

    示例 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,值:YES 或 NO
  • 通过锁定 DB2 对象(系统文件、目录和 IPC 对象)来防止对 DB2 进行未经授权的访问。为避免发生潜在的问题,不应该关闭此注册表变量。如果未设置 DB2_EXTSECURITY,其值在 DB2 数据库服务器产品上解释为 YES,在客户机上解释为 NO
DB2_FALLBACK
  • 操作系统:Windows
  • 缺省值:OFF,值:ON 或 OFF
  • 此变量允许在回退处理期间强制所有数据库连接断开。它与故障转移支持一起用于带有 Microsoft Cluster Server (MSCS) 的 Windows 环境中。如果 DB2_FALLBACK 未设置或设置为 OFF,且在回退期间数据库连接一直存在,那么不会导致 DB2 资源脱机。这意味着回退处理将失败。
DB2_FMP_COMM_HEAPSZ
  • 操作系统:Windows 和 UNIX
  • 缺省值:20 MB 或足够的空间来运行 10 个受防护的例程(以较大者为准)。在 AIX 上,缺省值是 256 MB
  • 此变量指定用于受防护的例程调用(例如,存储过程或用户定义的函数调用)的池的大小(以 4 KB 页计)。每个受防护的例程使用的空间是aslheapsz 配置参数值的两倍。

    如果正在系统上运行大量的受防护的例程,那么可能需要增大此变量的值。如果只是运行非常少量的受防护的例程,那么可以减小这个变量值。

    将此值设置为 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,值:LOCALDOMAINTOKENTOKENLOCAL 或 TOKENDOMAIN
  • 此变量指定如何使用 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 主数据库执行的日志记录操作被阻塞指定的秒数,那么主数据库将脱离对等状态。达到此限制时,主数据库将断开与备用数据库的连接。如果对等窗口被禁用,那么主数据库将进入断开连接状态,而日志记录将恢复。如果对等窗口被启用,那么主数据库将进入断开连接的对等状态,而其中的日志记录将继续被阻止。重新连接或对等窗口到期时,主数据库保持断开连接的对等状态。一旦主数据库脱离断开连接的对等状态,日志记录就会恢复。此参数对备用数据库没有影响,但建议对主数据库和备用数据库使用相同值。无效值(并非数字或负数)将解释为 0,表示没有限制。
    注: 如果设置 DB2_HADR_PEER_WAIT_LIMIT,请使用最小值 10 以避免触发假警报。

    由于此参数为静态参数,因此,需要重新启动实例以使此参数有效。

DB2_HADR_ROS
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:OFF 或 ON
  • 此变量启用对备用功能部件进行 HADR 读取。对 HADR 备用数据库启用了 DB2_HADR_ROS 时,此备用数据库将接受客户机连接并允许对它运行只读查询。DB2_HADR_ROS 是静态注册表变量,因此它要求重新启动 DB2 实例以使已更改的设置生效。
DB2_HADR_SORCVBUF
  • 操作系统:所有操作系统
  • 缺省值:操作系统 TCP 套接字接收缓冲区大小,值:1024 至 4294967295
  • 此变量指定 HADR 连接的操作系统 (OS) TCP 套接字接收缓冲区大小,这允许用户定制有别于其他连接的 HADR TCP/IP 行为。某些操作系统会自动对用户指定的值进行取整,或者以静默方式限制用户指定的值的大小。用于 HADR 连接的实际缓冲区大小将记录在 db2diag 日志文件中。请参阅操作系统网络调整指南以根据网络流量对此参数进行最佳设置。应将此变量与 DB2_HADR_SOSNDBUF 结合使用。
DB2_HADR_SOSNDBUF
  • 操作系统:所有操作系统
  • 缺省值:操作系统 TCP 套接字发送缓冲区大小,值:1024 至 4294967295
  • 此变量指定 HADR 连接的操作系统 (OS) TCP 套接字发送缓冲区大小,这允许用户定制有别于其他连接的 HADR TCP/IP 行为。某些操作系统会自动对用户指定的值进行取整,或者以静默方式限制用户指定的值的大小。用于 HADR 连接的实际缓冲区大小将记录在 db2diag 日志文件中。请参阅操作系统网络调整指南以根据网络流量对此参数进行最佳设置。应将此变量与 DB2_HADR_SORCVBUF 结合使用。
DB2_HISTORY_FILTER
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:NULL、GLQT 或 U
  • 此变量指定不会修改历史记录文件的操作。可使用 DB2_HISTORY_FILTER 注册表变量来减少对历史记录文件的潜在争用(通过过滤掉操作)。使用逗号分隔列表(值之间没有空格)来指定不会修改历史记录文件的操作:
    db2set DB2_HISTORY_FILTER=T,L
    DB2_HISTORY_FILTER 的可能值包括:
    • G:重组操作
    • L:装入操作
    • Q:停顿操作
    • T:改变表空间操作
    • U:卸载操作
DB2LDAP_BASEDN
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:任何有效的基本专有域名。
  • 设置此参数后,DB2 的 LDAP 对象将存储在 LDAP 目录中的
     CN=System
      CN=IBM
      CN=DB2
    指定基本专有名称下。

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

在 db2dsdriver.cfg 文件中可以指定的等效关键字为 BaseDN

DB2LDAPCACHE
  • 操作系统:所有操作系统
  • 缺省值:YES,值:YES 或 NO
  • 指定要启用 LDAP 高速缓存。此高速缓存用来编目本地机器上的数据库、节点和 DCS 目录。

    要确保高速缓存中具有最新的条目,请发出以下命令:

     REFRESH LDAP IMMEDIATE ALL

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

DB2LDAP_CLIENT_PROVIDER
  • 操作系统:Windows
  • 缺省值:NULL(如果 Microsoft 可用,那么使用此操作系统;否则使用 IBM。)值:IBM 或 Microsoft
  • 当在 Windows 环境中运行时,DB2 软件支持使用 Microsoft LDAP 客户机或 IBM LDAP 客户机来访问 LDAP 目录。此注册表变量用来显式地选择 DB2 软件要使用的 LDAP 客户机。
    注: 要显示此注册表变量的当前值,可使用 db2set 命令:
     db2set DB2LDAP_CLIENT_PROVIDER

在 db2dsdriver.cfg 文件中可以指定的等效关键字为 ClientProvider

DB2LDAPHOST
  • 操作系统:所有操作系统
  • 缺省值:Null,值:base_domain_name[:port_number] 或者 base_domain_name:SSL:636(当使用支持 SSL 的 LDAP 主机时)
  • 指定 LDAP 目录所在位置的主机名和可选的端口号,其中 base_domain_name 是 TCP/IP 主机名,[:port_number] 是端口号。

在 db2dsdriver.cfg 文件中可以指定的等效关键字为 LDAPServerHost

DB2LDAP_KEEP_CONNECTION
  • 操作系统:所有操作系统
  • 缺省值:YES,值:YES 或 NO
  • 指定 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,值:LOCALDOMAIN 或 GLOBAL
  • 指定在轻量级目录访问协议 (LDAP) 中搜索数据库分区信息或域信息的范围。LOCAL 禁止在 LDAP 目录中进行搜索。DOMAIN 仅在当前目录分区的 LDAP 中进行搜索。GLOBAL 在所有目录分区的 LDAP 中进行搜索,直到找到对象为止。
DB2_LIMIT_FENCED_GROUP
  • 操作系统:Windows
  • 缺省值:NULL,值:ON 或 OFF
  • 如果您启用了扩展安全性,那么可以通过将此注册表变量设置为 ON 并将 DB2 服务帐户(用来运行 DB2 服务的用户名)添加至 DB2USERS 组,将操作系统的受防护方式进程 (db2fmp) 的特权限制为指定给 DB2USERS 组的特权。
    注: 如果使用了 LocalSystem 作为 DB2 服务帐户,那么设置 DB2_LIMIT_FENCED_GROUP 将不起作用。

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

DB2_LOAD_COPY_NO_OVERRIDE
  • 操作系统:所有操作系统
  • 缺省值:NONRECOVERABLE,值:COPY YES 或 NONRECOVERABLE
  • 此变量将把任何 LOAD COPY NO 转换为 LOAD COPY YES 或 NONRECOVERABLE,这取决于该变量的值。此变量适用于 HADR 主数据库以及标准(非 HADR)数据库;HADR 备用数据库将忽略此变量。在 HADR 主数据库上,如果未设置此变量,那么 LOAD COPY NO 将转换为LOAD NONRECOVERABLE。此变量的值指定不可恢复的装入或复制目标,它使用与 COPY YES 子句相同的语法。
DB2LOADREC
  • 操作系统:所有操作系统
  • 缺省值:NULL
  • 用于在前滚期间替换装入副本的位置。如果用户更改了装入副本的物理位置,那么必须在发出前滚之前设置 DB2LOADREC
DB2LOCK_TO_RB
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:STATEMENT
  • 指定锁定超时是导致回滚整个事务还是仅回滚当前语句。如果将 DB2LOCK_TO_RB 设置为 STATEMENT,那么锁定超时只会导致回滚当前语句。任何其他设置都导致事务回滚。
DB2_MAP_XML_AS_CLOB_FOR_ DLC
  • 操作系统:所有操作系统
  • 缺省值:NO,值:YES 或 NO
  • 对于不支持将 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(没有限制),值:0 至 21487483647
  • 设置在一个块中返回的最大 LOB 或 XML 数据量。这不是硬最大值;如果数据检索期间在服务器上达到此最大值,服务器将完成写当前行的操作,然后再对客户机返回命令(例如 FETCH)应答。
DB2_MEMORY_PROTECT
  • 操作系统:具有存储密钥支持的 AIX
  • 缺省值:NO,值:NO 或 YES
  • 此注册表变量启用内存保护功能,该功能使用存储密钥来防止缓冲池中的数据由于无效内存访问而毁坏。内存保护通过确定 DB2 引擎线程应访问缓冲池内存的时间来工作。当 DB2_MEMORY_PROTECT 设置为 YES 时,只要 DB2 引擎线程尝试非法访问缓冲池内存,该引擎线程就会被捕获。
    注: 如果 DB2_LGPAGE_BP 设置为 YES,您将无法使用内存保护。即使 DB2_MEMORY_PROTECT 设置为 YES,DB2 也无法保护缓冲池内存并禁用此功能部件。
DB2_MIN_IDLE_RESOURCES
  • 操作系统:Linux
  • 缺省值:OFF,值:OFF 或 ON
  • 此变量指定已激活的数据库在空闲时将使用最少的处理资源。这可能在某些虚拟 Linux 环境(例如,zVM)中很有用。在这些环境中,节省少量的资源有助于主机虚拟机监视器在它的所有虚拟机之间更有效地调度其 CPU 和内存资源。
DB2_NCHAR_SUPPORT
  • 操作系统:所有操作系统
  • 缺省值:ON,值:ON 或 OFF
  • 当此变量设置为 ON(缺省值)时,图形数据类型的 NCHAR、NVARCHAR 和 NCLOB 拼写可供在 Unicode 数据库中使用。还提供了各种与本地语言字符相关的函数,例如,NCHAR() 和 TO_NCHAR()。

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

    注: 在将来的发行版中可能会除去 DB2_NCHAR_SUPPORT 注册表变量,那时,数据库中将不能具有用户定义的类型 NCHAR、NVARCHAR 或 NCLOB。
DB2NOEXITLIST
  • 操作系统:所有操作系统
  • 缺省值:OFF,值:ON 或 OFF
  • 此变量指示无论  注册表变量的设置为多少,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
  • 操作系统:所有操作系统
  • 缺省值:未设置(请参阅下面的详细信息),值:OFF 或 ON {NUM | SIZE | NAME | DIR}
  • DB2_OPTSTATS_LOG 指定统计事件日志记录文件的属性,这些文件用于监视和分析与统计信息收集相关的活动。DB2_OPTSTATS_LOG 未设置或设置为 ON 时,将启用统计事件日志记录,从而允许您监视系统性能并保留历史记录以便更好地确定问题。日志记录将写入第一个日志文件中,直到该文件已满为止。后续记录将写入下一个可用的日志文件。如果达到文件的最大数目,那么将用新记录覆盖存在时间最长的日志文件。如果您非常担心系统资源消耗,请通过将此注册表变量设置为 OFF 来将其禁用。
显式启用统计信息事件日志记录时(设置为 ON),您可以修改一些选项:
  • NUM:轮换日志文件的最大数目。缺省值:5,值:1 - 15
  • SIZE:轮换日志文件的最大大小。(每个旋转文件的大小为 SIZE/NUM。)缺省值 = 15 Mb,值 1 Mb - 4096 Mb
  • NAME:轮换日志文件的基本名称。缺省值:db2optstats.number.log,例如 db2optstats.0.log 和 db2optstats.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 注册表列表的远程机器名。DB2REMOTEPREG 的值只应在安装 DB2 之后设置一次,且不应该修改。使用此变量要格外小心。
DB2_RESOLVE_CALL_ CONFLICT
  • 操作系统:AIX、HP-UX、Solaris、Linux 和 Windows
  • 缺省值:YES,值:YES 或 NO
  • 当触发器调用的例程尝试访问已由触发器主体中的其他语句和例程修复的表时,这会中断嵌套的 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 所产生的性能影响很小。

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

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

DB2ROUTINE_DEBUG
  • 操作系统:AIX 和 Windows
  • 缺省值:OFF,值:ON 或 OFF
  • 指定是否对 Java? 存储过程启用调试功能。如果不调试 Java 存储过程,那么使用缺省值 OFF。启用调试对性能有影响。
注: 建议您不要使用 DB2ROUTINE_DEBUG,将来的发行版中会将其除去。此存储过程调试器已替换为统一调试器。
DB2_SAS_SETTINGS
  • 操作系统:所有操作系统
  • 缺省值:未设置。值:ENABLE_SAS_EPLIBRARY_PATHCOMM_BUFFER_SZCOMM_TIMEOUTRESTART_RETRIESDIAGPATH或 DIAGLEVEL
  • 此变量是带 SAS 嵌入式进程 (EP) 的数据库内分析的配置的主要点。除 ENABLE_SAS_EP 以外的所有设置都可在线配置。
    • ENABLE_SAS_EP(缺省值:FALSE)。如果设置为 TRUE,那么 SAS EP 将在 db2start 时自动启动。
    • 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 通信堆分配的。有关更多信息,请参阅。
    • COMM_TIMEOUT(缺省值:300 秒)。超时值,DB2 数据库管理器在交换控制消息时用它来确定是否应将 SAS EP 视为无法响应。如果达到此值,那么数据库管理器会终止 SAS EP 以便可再次衍生 SAS EP。
    • RESTART_RETRIES(缺省值:10)。整数值,用于指定检测到 SAS EP 异常终止后 DB2 数据库管理器应尝试重新衍生 SAS EP 的次数。此参数的有效值范围为 0 到 100。达到重试计数后,数据库管理器会等待 15 分钟,然后再次重试该操作。
    • DIAGPATH。标准路径,用于指定 SAS EP 的诊断日志的位置。如果未指定值,那么缺省值为 diagpath 数据库管理器配置参数的值。
    • DIAGLEVEL。整数值,用于指定 SAS 诊断日志中捕获的消息的最低严重性级别。此参数的有效值范围为 1 到 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,值:0 到 32767 秒
  • 此注册表变量和  注册表变量都配置在连接期间处理新客户机的方式。DB2_SERVER_CONTIMEOUT 允许您调整代理程序等待客户机的连接请求直至终止连接的时间,该时间以秒计。在大多数情况下,您无需调整此注册表变量,但如果在连接时 DB2 客户机常常被服务器作超时处理,您可以将 DB2_SERVER_CONTIMEOUT 设置为更高的值以延长超时时间。如果设置了无效值,那么将使用缺省值。此注册表变量不是动态的。
DB2_SERVER_ENCALG
  • 操作系统:所有操作系统
  • 缺省值:NULL,值:AES_CMP 或 AES_ONLY
  • 注: 在V9.7 中,建议不要使用 DB2_SERVER_ENCALG,将来的发行版中可能会将它除去。

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

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

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

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

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

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

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

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

DB2_USE_DB2JCCT2_ JROUTINE
  • 操作系统:所有操作系统
  • 缺省值:未设置,值:ON/YES/1/TRUE 或 OFF/NO/0/FALSE
  • 用于 Java 存储过程和用户定义的函数的缺省驱动程序是 IBM Data Server Driver for JDBC and SQLJ。如果要使用不推荐使用的 DB2 JDBC 2 类驱动程序 Linux 版、UNIX 版和 Windows 版来处理 Java 例程的 SQL 请求,请将 DB2_USE_DB2JCCT2_JROUTINE 设置为 OFFNO0或 FALSE 中的任意一个。
注: 在 V9.7 中,不推荐使用 DB2_USE_DB2JCCT2_JROUTINE,将来的发行版中可能会将其除去。
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_VENDOR_INI
  • 操作系统:AIX、HP-UX、Solaris 和 Windows
  • 缺省值:NULL,值:任何有效路径和文件。
  • 指向包含所有特定于供应商的环境设置的文件。当数据库管理器启动时读取该值。
注: 在 V9.5 中,不推荐使用 DB2_VENDOR_INI,将来的发行版中可能会将它除去。但是,可以将它包含的环境变量设置放入由 DB2_DJ_INI 变量指定的文件中。
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 DATABASE 或 RESTORE DATABASE 命令可以调用 XBSA 接口。例如:

     db2 backup db sample use XBSA
       db2 restore db sample use XBSA

阅读(12784) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

xsbkghio2014-04-17 18:53:22

这家伙不错,学习了  http://www.taohaoxueli.net一直在关注你