Variáveis de Comunicações

Você usa variáveis de comunicação para ajudar a controlar o fluxo de dados em conexões de rede Db2® e dentro do próprio ambiente Db2 . É possível configurar variáveis de comunicação para controlar comportamentos padrão, como configurações TCP/IP e atividade do gerenciador de comunicação.

DB2_ALLOW_WLB_WITH_SEQUENCES
  • Sistema operacional: Todos
  • Padrão =NO, Values: NO, SIM
  • Esta variável de registro controla se os aplicativos que acessam sequências têm permissão para participar do balanceamento de carga de trabalho.

    Quando DB2_ALLOW_WLB_WITH_SEQUENCES é configurado como NO, aplicativos que referenciam VALOR ANTERIOR ou NEXT VALUE em uma instrução SQL sequência são impedidos de participar do balanceamento de carga de trabalho.

    Quando DB2_ALLOW_WLB_WITH_SEQUENCES é configurado como SIM, os aplicativos que referenciam VALOR ANTERIOR ou NEXT VALUE em uma instrução SQL sequência não são impedidos de participar do balanceamento de carga de trabalho. Os aplicativos devem gerar o próximo valor de sequência com a expressão NEXT VALUE FOR sequence em uma transação antes de se referenciar o valor anterior da sequência usando a expressão PREVIOUS VALUE FOR sequence . Como o aplicativo pode participar do balanceamento de carga de trabalho, cada transação pode ser executada em uma nova sessão ou em uma sessão diferente. Acessando um valor de sequência anterior em uma transação sem antes gerar o valor da próxima sequência resulta em um erro SQL0845N .

    Considerações de sequência em um ambiente Db2 pureScale® :

    Em um ambiente Db2 pureScale , se você usar as opções CACHE e NO ORDER , vários caches poderão estar ativos simultaneamente. Os pedidos para o próximo valor de membros diferentes podem não resultar na atribuição de valores em ordem numérica estrita. Por exemplo, os membros DB2A e DB2B estão usando a mesma sequência DB2A obtém os valores de cache 1-20, enquanto DB2B obtém os valores de cache 21-40. Se o DB2A solicitou o próximo valor primeiro, então DB2B solicitou e, em seguida, DB2A solicitou novamente, a ordem dos valores designados seria 1; 21; 2

    O uso da opção ORDER ou NO CACHE garante que os valores atribuídos a uma sequência compartilhada por um ou mais aplicativos entre vários membros estejam em ordem numérica estrita. Se ORDER for especificado, então NO CACHE está implícito mesmo se CACHE n for especificado.

DB2CHECKCLIENTINTERVAL
  • Sistema operacional: Todos, apenas servidor
  • Padrão =100, Valores: Um valor numérico que é maior ou igual a zero.
  • Esta variável especifica a frequência de verificações de conexão do cliente TCP/IP durante uma transação ativa. Ele permite a detecção precoce da finalização do cliente, em vez de esperar até depois da conclusão da consulta. Se esta variável for configurada como 0, nenhuma verificação será realizada.

    Valores mais baixos causam cheques mais frequentes. Como um guia, para baixa frequência, use 100; para frequência média, use 50; para uso de alta frequência 10. O valor é medido em uma métrica interna Db2 . Os valores representam uma escala linear, isto é, aumentar o valor de 50 para 100 duplica o intervalo. Verificar com mais frequência o status do cliente enquanto executa uma solicitação de banco de dados alongam o tempo gasto para consultas completas. Se a carga de trabalho Db2 for pesada (ou seja, envolve muitas solicitações internas), configurar DB2CHECKCLIENTINTERVAL para um valor baixo tem um impacto maior no desempenho do que em uma situação em que a carga de trabalho é leve.

    Nota: Se esta variável for definida como 0, isso pode levar a conexões órfãs que podem levar a transações segurando de volta o log ativo. Isso resultará em aplicativos falhando com um erro de log full (SQL0964N).
DB2COMM
  • Sistema operacional: Todos, apenas servidor
  • Padrão=NULL, Valores: NPIPE, TCPIP, SSL
  • Esta variável especifica os gerentes de comunicação que são iniciados quando o gerenciador de banco de dados é iniciado. Se esta variável não for definida, nenhum gerenciador de comunicações Db2 é iniciado no servidor. Você pode configurar essa variável para qualquer combinação dos valores, separados por vírgulas.
    Nota: O valor NPIPE é válido apenas em sistemas operacionais Windows.
DB2_DYNAMIC_SSL_LABEL
  • Sistema operacional: Todos
  • Padrão=ON
  • Esse parâmetro é usado para controlar se o valor do parâmetro de configuração do DBM SSL_SVR_LABEL é ou não configurável on-line. Para obter mais informações sobre o parâmetro SSL_SVR_LABEL, consulte ssl_svr_label - Rótulo no arquivo de chaves para conexões SSL de entrada no parâmetro de configuração do servidor.
  • As alterações nessa variável não terão efeito imediato por padrão. Para que elas entrem em vigor imediatamente, execute o comando db2set com o parâmetro -immediate.
    Atenção: Essa variável está disponível no Db2 Versão 11.5 Mod Pack 2 e versões posteriores.
DB2_ENABLE_LEGACY_TLS_DEFAULTS
  • Sistema operacional: Todos
  • Default=FALSE
  • Se esse parâmetro for definido como FALSE, o TLS 1.2 será a única versão de TLS dos wrappers de serviços da Web do LDAP Database Directory e da Federação
  • Se esse parâmetro for definido como TRUE, o TLS 1.0 e 1.1 será ativado para os wrappers de serviços da Web do LDAP Database Directory e da Federação
    Atenção: Essa variável está disponível no Db2 Versão 11.5 Mod Pack 9 e versões posteriores.
DB2FCMCOMM
  • Sistema operacional: Todas as plataformas suportadas Db2 Enterprise Server Edition
  • Padrão =TCPIP4, Valores: TCPIP4 ou TCPIP6
  • Esta variável especifica como os nomes do host no arquivo db2nodes.cfg são resolvidos. Todos os nomes de host são resolvidos como IPv4 ou IPv6. Se um endereço IP em vez de um nome de host for especificado em db2nodes.cfg, a forma do IP determina se IPv4 ou IPv6 é usado. Se DB2FCMCOMM não for configurado, sua configuração padrão de IPv4 significa que apenas os hosts IPv4 podem ser iniciados.
    Nota: Se o formato IP resolvido a partir do nome do hostname especificado em db2nodes.cfg, ou o formato IP diretamente especificado em db2nodes.cfg não corresponder à configuração de DB2FCMCOMM, db2start falhará.
DB2_FORCE_NLS_CACHE
  • Sistema operacional: AIX®
  • Padrão =FALSE, Values: TRUE ou FALSE
  • Esta variável é usada para eliminar a chance de contenção de bloqueios em aplicações multiencadeadas. Quando esta variável de registro é TRUE, a página de código e informações de código de território é salva na primeira vez que um thread acessa. A partir desse ponto, as informações em cache são usadas para qualquer outro encadeamento que solicite essas informações. Isso elimina a contenção de bloqueios e resulta em um benefício de desempenho em determinadas situações. Essa configuração não deve ser usada se o aplicativo alterar configurações de locale entre conexões. Provavelmente não é necessário em tal situação porque os aplicativos multiencadeados geralmente não alteram suas configurações de locale porque ele não é thread safe para fazê-lo.
DB2_PMODEL_SETTINGS
  • Sistema operacional: Todos
  • As alterações nesta variável entram em vigor imediatamente para todas as instruções SQL compiladas futuras. Não há necessidade de reiniciar a instância ou de emitir o comando db2set com o parâmetro -immediate .
  • Esta variável de registro controla um conjunto de parâmetros que permitem modificar o comportamento de vários aspectos da infraestrutura interna do Db2 . Separe parâmetros com um ponto e vírgula, como no exemplo a seguir:
    db2set
    DB2_PMODEL_SETTINGS=MLN_REMOTE_LISTENER:TRUE;ENHANCED_ROLLBACK:TRUE;SRVLST_EQUAL_WEIGHT:TRUE
  • Parâmetros:
    ROLLBACK_APRIMORADO
    • Padrão: FALSE
    • Valores: TRUE, FALSE
    • Use o parâmetro ENHANCED_ROLLBACK para melhorar o comportamento de rollback para unidades de trabalho em servidores Db2 em ambientes de banco de dados particionados. Se você configurar esta opção para TRUE, os pedidos de rollback para unidades de trabalho são enviados apenas para partições lógicas do banco de dados que participaram da transação.
    MLN_REMOTE_OUVINTE
    • Padrão: FALSE
    • Valores: TRUE, FALSE
    • Use o parâmetro MLN_REMOTE_LISTENER para iniciar um atendente TCP/IP em cada partição de banco de dados lógico. Se você configurar esta opção para TRUE, os aplicativos podem se conectar diretamente a cada partição de banco de dados lógico em vez de solicitações de roteamento através do servidor de partição de banco de dados que é atribuído à porta lógica 0.

      Se você configurar esta opção para TRUE, certise-se de que os ouvintes TCP/IP adicionais não utilizam portas que são necessárias por outros serviços.

    SRVLST_IGUAL_PESO
    • Padrão: FALSE
    • Valores: TRUE, FALSE
    • Use o parâmetro SRVLST_EQUAL_WEIGHT se você quiser pesos de membros não zero na lista de servidores para sempre ser idêntico, anulando assim o comportamento padrão no qual os pesos-membros são computados com base em carregamento. Os pesos-membros conforme contidos na lista de servidores são usados por um cliente remoto para distribuir carga de trabalho quando o balanceamento de carga de trabalho (WLB) estiver ativado.

      Se você configurar essa opção para TRUE, o WLB no cliente se traduz em até distribuição de carga de trabalho entre os membros sem considerar a carga de membro.

DB2RSHCMD
  • Sistema operacional: UNIX, Linux®
  • Padrão=ssh, os valores são um nome de caminho completo para rsh, remsh ou ssh
  • Observação: ssh é o valor padrão a partir da versão 11.5.6 do Db2. Em versões anteriores, o padrão é rsh.
  • Por padrão, o sistema de banco de dados Db2 usa o ssh como protocolo de comunicação ao iniciar partições de bancos de dados remotos e com o script db2_all para executar utilitários e comandos em todas as partições de bancos de dados. Por exemplo, definir essa variável de registro como o nome completo do caminho para rsh faz com que os produtos de banco de dados Db2 usem rsh como o protocolo de comunicação para a execução solicitada dos utilitários e comandos. Pode também ser configurado o nome completo do caminho de um script que invoca o programa de comando remoto com parâmetros padrão apropriados. Essa variável só é necessária para bancos de dados particionados ou para ambientes de partição única em que o comando db2start é executado em um servidor diferente daquele em que o produto Db2 foi instalado e para utilitários dependentes de rsh ou SSH que tenham a capacidade de iniciar, parar ou monitorar uma instância Db2, como db2gcf. O proprietário da instância deve ser capaz de usar o programa de shell remoto especificado para efetuar login de cada nó do banco de dados Db2 em cada outro nó do banco de dados Db2, sem ser solicitado a fornecer nenhuma verificação ou autenticação adicional (ou seja, senhas ou frases-senha).

    Para obter mais informações, consulte Ativação da execução de comandos remotos ( Linux e UNIX).

Para obter instruções detalhadas sobre como definir a variável DB2RSHCMD de registro para usar um shell ssh com Db2, consulte o white paper “Configurar um banco de dados DB2 Universal para UNIX para usar um OpenSSH

DB2RSHTIMEOUT
  • Sistema operacional: Unix, Linux
  • Padrão =30 segundos, Valores: 1 - 120
  • Esta variável é aplicável apenas se DB2RSHCMD for configurado para um valor não nulo. Esta variável de registro é usada para controlar o período de tempo limite que o sistema de banco de dados Db2 aguardará por qualquer comando remoto. Após esse período de tempo limite, se nenhuma resposta for recebida, a suposição é feita de que a partição do banco de dados remoto não é alcançável e a operação falhou.
    Nota: O valor de tempo dado não é o tempo necessário para executar o comando remoto, é o tempo necessário para autenticar o pedido.
DB2SORCVBUF
  • Sistema operacional: Todos
  • Padrão =65536
  • Especifica o valor de buffers de recebimento TCP/IP.
  • Se essa variável não for definida, Db2 será iniciado com o valor padrão em uma primeira conexão. Uma mensagem associada é registrada no db2diag.log quando o diaglevel é 4.
DB2SOSNDBUF
  • Sistema operacional: Todos
  • Padrão =65536
  • Especifica o valor de buffers de envio TCP/IP.
DB2TCP_CLIENT_CONTIMEOUT
  • Sistema operacional: Todos, cliente apenas
  • Padrão =0 (sem tempo limite), Valores: 0 - 32767 segundos
  • A variável de registro DB2TCP_CLIENT_CONTIMEOUT especifica o número de segundos que um cliente deve aguardar a conclusão em uma operação de conexão TCP/IP. Uma operação de conexão de banco de dados via TCP/IP envolve as subroutines de soquete () e recv (). O gerenciador de banco de dados retorna o-30081 selectForConnectTimeouterro se a subroutinha connect () atingir o tempo limite, e o-30081 selectForRecvTimeouterro se a subroutine de recv () atingir o tempo limite.

    Não há tempo limite se a variável de registro não for definida ou for configurada como 0.

    Nota: Os sistemas operacionais também possuem um valor de tempo limite de conexão que pode ser efetivado antes do tempo limite que você configura usando DB2TCP_CLIENT_CONTIMEOUT. Por exemplo, AIX tem um padrão tcp_keepinit=150 (em meio segundos) que terminaria a conexão após 75 seconds segundos.
  • As alterações nesta variável entram em vigor imediatamente para todas as instruções SQL compiladas futuras. Não há necessidade de reiniciar a instância ou de emitir o comando db2set com o parâmetro -immediate .
DB2TCP_CLIENT_KEEPALIVE_TIMEOUT
  • Sistema operacional: AIX, Linux, Windows (somente cliente)
  • Padrão =15, Valores: 0 - 32767 segundos
  • A variável de registro DB2TCP_CLIENT_KEEPALIVE_TIMEOUT representa a quantidade total de tempo em segundos um soquete pode permanecer ocioso; e não responder a análises de keepalive antes que ele seja considerado inconsciente. Quando um socket é considerado não responsivo, ele é finalizado pelo Db2. É o equivalente ao cliente de DB2TCP_SERVER_KEEPALIVE_TIMEOUT.

    Quando esta variável não é definida, usa-se a configuração padrão de 15 seconds. Quando a palavra-chave KeepAliveTimeout é definida para 0, a configuração keepalive que é configurada no sistema operacional entra em vigor. Se definida, essa variável terá precedência sobre qualquer configuração keepAliveTimeout especificada no arquivo db2dsdriver.cfg.

    Mudanças nessa variável são efetivadas imediatamente para todas as futuras conexões TCP/IP e anexos para o servidor

DB2TCP_CLIENT_RCVTIMEOUT
  • Sistema operacional: Todos, cliente apenas
  • Padrão =0 (sem tempo limite), Valores: 0 - 32767 segundos
  • A variável de registro DB2TCP_CLIENT_RCVTIMEOUT especifica o número de segundos que um cliente espera por dados em uma operação de recebimento de TCP/IP. Se dados do servidor não forem recebidos nos segundos especificados, então o gerenciador de banco de dados Db2 retorna o erro-30081 selectForRecvTimeout.

    Não há tempo limite se a variável de registro não for definida ou for configurada como 0.

    Nota: O valor do DB2TCP_CLIENT_RCVTIMEOUT pode ser substituído pelo CLI, usando a palavra-chave db2cli.ini ReceiveTimeout ou o atributo de conexão SQL_ATTR_RECEIVE_TIMEOUT.
  • As alterações nesta variável entram em vigor imediatamente para todas as instruções SQL compiladas futuras. Não há necessidade de reiniciar a instância ou de emitir o comando db2set com o parâmetro -immediate .
DB2TCPCONNMGRS
  • Sistema operacional: Todos
  • Padrão =1 em máquinas seriais; raiz quadrada do número de processadores arredondado até um máximo de dezesseis gerentes de conexão em máquinas multiprocessador simétricas. Valores: 1 a 16
  • O número padrão de gerentes de conexão é criado se a variável de registro não for definida. Se a variável de registro for definida, o valor atribuído aqui substituirá o valor padrão. O número de gerenciadores de conexão TCP/IP especificado até um máximo de 16 é criado. Se menos de 1 for especificado então DB2TCPCONNMGRS é configurado para um valor de 1 e um aviso é logado que o valor está fora de alcance. Se maior do que 16 é especificado então DB2TCPCONNMGRS é configurado para um valor de 16 e um aviso é registrado que o valor está fora de alcance. Os valores entre 1 e 16 são usados como dado. Quando há maior do que um gerenciador de conexão criado, o rendimento de conexão deve melhorar quando várias conexões do cliente são recebidas simultaneamente. Pode haver processos adicionais gerenciadores de conexão TCP/IP (em UNIX) ou threads (em sistemas operacionais Windows) se o usuário estiver rodando em uma máquina SMP, ou tiver modificado a variável de registro DB2TCPCONNMGRS . Processos ou threads adicionais requerem armazenamento adicional.
    Nota: Ter o número de gerenciadores de conexão configurados para 1 causa uma queda no desempenho em conexões remotas em sistemas com muitos usuários, freqüentes conectam e desconectam, ou ambos.
DB2TCP_SERVER_KEEPALIVE_TIMEOUT
  • Sistema operacional: AIX, Linux, Windows (somente servidor)
  • Padrão =60, Valores: 0 - 32767 segundos
  • A variável de registro DB2TCP_SERVER_KEEPALIVE_TIMEOUT especifica o tempo máximo em segundos antes que uma conexão ou anexo do cliente TCP/IP não responsivo seja detectado como não mais vivo. É o equivalente no lado do servidor de DB2TCP_CLIENT_KEEPALIVE_TIMEOUT e keepAliveTimeout. Quando esta variável não é definida, usa-se a configuração padrão de 60 seconds.

    As mudanças nessa variável são efetivadas imediatamente para todas as futuras conexões TCP/IP e anexos do servidor. Não há necessidade de reiniciar a instância do servidor.