[ MQ 9.4.0 Jul 2024][z/OS]

Colocando módulos globais do IBM MQ na LPA

Quando um gerenciador de filas do IBM® MQ for z/OS® é inicializado, ele carrega alguns de seus módulos de carregamento (módulos globais) na área de serviço comum estendida (ECSA). No encerramento do gerenciador de filas, o ECSA é liberado.

Há 19 módulos globais, que no IBM MQ 9.3, consumiram aproximadamente 1.2 MB de ECSA para cada gerenciador de filas em execução
Nota: Embora CSQ7GPLM seja um módulo global, ele não deve ser incluído no LPA.

Em ambientes que executam vários gerenciadores de fila para cada LPAR e requerem uma redução no consumo de ECSA devido ao ECSA ou a altas restrições privadas, é possível colocar os módulos globais na LPA Colocar os módulos globais do IBM MQ no LPA é um processo manual que requer cuidado, portanto, você só deve executar esse procedimento se houver uma necessidade significativa de abordar ECSA ou altas restrições privadas..

Se o gerenciador de filas não puder localizar um módulo global em seu STEPLIB e detectar que o módulo está no LPA, ele usará a cópia LPA diretamente, em vez de carregar uma cópia do módulo no ECSA. Como alternativa, se o código de gerenciadores de filas for normalmente carregado a partir da lista de links, quaisquer módulos globais no LPA serão carregados em preferência a quaisquer módulos globais na lista de links

A z/OS função de rastreamento de armazenamento comum (consulte Usando a função de rastreamento de armazenamento comum) controla o armazenamento no espaço de endereço MSTR de cada gerenciador de filas para cada gerenciador de filas e pode ser usado para detectar quanto espaço está sendo usado pelos módulos globais.

Por padrão, os módulos globais estão na biblioteca de carregamento SCSQAUTH.. Se o espaço de endereço MSTR de um gerenciador de filas localizar SCSQAUTH por meio da concatenação STEPLIB, os módulos globais de lá serão usados em preferência para qualquer um na LPA e serão carregados no ECSA..

Os módulos globais são:

CSQ0GPLM, CSQ3AMGP, CSQ3SSGP, CSQ9PREP,
, CSQ9SCNB, CSQGPLM, CSQMCGLM, CSQMGPLM, CSQRGLM1,
CSQSLD1, CSQVGEPL, CSQVSRX, CSQWDLD2, CSQWDLD3,
CSQWVZSA, CSQWZDG0, CSQWVZPS, CSQWVGTM, CSQZTDDM

Importante:
  • O nome dos módulos globais para IBM MQ permanecem constantes em diferentes versões IBM MQ . Portanto, se você carregar módulos globais no LPA, eles deverão ser de uma única versão do IBM MQ e deverão ser usados apenas pelos gerenciadores de filas em execução na mesma versão do IBM MQ
  • Se várias versões do IBM MQ forem executadas na mesma LPAR, apenas uma delas poderá ter seus módulos globais na LPA a qualquer momento.
  • Se a manutenção for aplicada a uma instalação do IBM MQ que tenha módulos globais carregados na LPA e essa manutenção atualizar qualquer um dos módulos globais, você deverá executar o procedimento descrito no texto a seguir novamente.

Procedimento

Para colocar os módulos globais de uma versão do IBM MQ no LPA, execute as etapas a seguir:
  1. Crie uma cópia da biblioteca de carregamento thlqual.SCSQAUTH e seu conteúdo, por exemplo: thlqual.LOCAL.SCSQAUTH. Assegure-se de que essa biblioteca de carregamento esteja protegida contra acesso não autorizado usando seu gerenciador de segurança externa (ESM).
  2. Autorize o APF na biblioteca de carregamento do thlqual.LOCAL.SCSQAUTH ; consulte Autorizar o APF IBM MQ bibliotecas de carregamento.
  3. Crie uma nova biblioteca de carregamento thlqual.GLOBAL.SCSQAUTH com os atributos thlqual.LOCAL.SCSQAUTH.
    Nota: Esta biblioteca de carregamento não precisa ser autorizada pelo APF... Certifique-se de que essa biblioteca de carga esteja protegida contra acesso não autorizado usando seu ESM.
  4. Copie os 19 módulos globais do thlqual.LOCAL.SCSQAUTH para o thlqual.GLOBAL.SCSQAUTH
  5. Exclua os 19 módulos globais do thlqual.LOCAL.SCSQAUTH.
  6. Coloque os 19 módulos globais do thlqual.GLOBAL.SCSQAUTH na LPA:
    1. a. Incluindo thlqual.GLOBAL.SCSQAUTH em um LPALSTxx membro de SYS1.PARMLIB. Em seguida, você deve executar IPL no sistema com a opção CLPA para assegurar que o conteúdo da biblioteca seja carregado no PLPA.
    2. b. Incluindo dinamicamente os módulos no LPA usando o comando a seguir:
      SETPROG 
      LPA,ADD,MODNAME=(CSQ0GPLM,CSQ3AMGP,CSQ3SSGP,CSQ9PREP,CSQ9SCNB,CSQGGPLM,
      CSQMCGLM,CSQMGPLM,CSQRGLM1,CSQSLD1,CSQVGEPL,CSQVSRX,CSQWDLD2,CSQWDLD3,
      CSQWVZSA,CSQWZDG0,CSQWVZPS,CSQWVGTM,CSQZTDDM),DSNAME= thlqual.GLOBAL.SCSQAUTH
      Nota: LPALSTxx é o meio preferencial de longo prazo de colocar módulos no LPA.
  7. Valide se os módulos estão no LPA emitindo o comando a seguir:
    D PROG,LPA,MODNAME=CSQMCGLM
A saída do comando deve indicar a entrada e os pontos de carga do módulo se ele foi carregado com sucesso na LPA.
Para cada gerenciador de filas que precisa usar os módulos globais do LPA, então, se você normalmente colocar:
  1. thlqual.SCSQAUTH na lista de links, basta parar e iniciar seu gerenciador de filas Os módulos globais são carregados a partir da LPA e os módulos locais da lista de links.
  2. thlqual.SCSQAUTHno MSTR JCL STEPLIB, altere o JCL para que o STEPLIB usethlqual.LOCAL.SCSQAUTH em vez dethlqual.SCSQAUTH . Pare e inicie o gerenciador de filas; os módulos globais são carregados do LPA e os módulos locais do STEPLIB.

O CHIN e o AMSM JCL podem continuar a usar thlqual.SCSQAUTH como qualquer aplicativo IBM MQ .

Para reverter o gerenciador de filas para carregar os módulos globais no ECSA, execute as seguintes etapas:
  1. Parar os gerenciadores de fila
  2. Remova os módulos globais do LPA, no próximo IPL, removendo as definições de LPALSTxx ou usando o comando a seguir:
    SETPROG LPA,DELETE,MODNAME=(xxx) FORCE=YES
  3. Se thlqual.LOCAL.SCSQAUTH estiver no STEPLIB do gerenciador de filas, substitua-o por thlqual.SCSQAUTH
  4. Reinicie os gerenciadores de filas.