IBM Sterling Connect:Direct : Principais Comandos e Arquivos

From Wiki

Principais arquivos

A instalação padrão fica no diretório:

/opt/cdunix/
|- ndm/
|  |  |- cfg                -> Configurações
|  |  |- msgfile.cfg
|  |  |- <NODE_NAME>
|  |  |  |- initparm.cfg    -> variáveis de inicialização
|  |  |  |- netmap.cfg      -> 
|  |  |  |- userfile.cfg    -> autenticação
|  |  |  |- sysacl.cfg      -> controle de acesso
|  |  |- cliapi
|  |  |  |- ndmapi.cfg      -> Configuração do Cliente
|  |- bin                   -> executáveis e shell
|  |  |- direct             -> IBM Sterling Connect:Direct client
|  |  |- ndmxlt             -> a Translation table utility, converte ASCII to EBCDIC
|  |  |- ndmmsg             -> Exibe códigos e mensagens de erro de forma detalhada 
|  |  |- statarch.sh        -> Utilitário de arquivamento de estatísticas
|  |- security             
|  |  |- keys.client        -> chaves do cliente
|  |  |- keys.server        -> chaves do server
|  |- src                   -> processos de exemplo
|  |  |- sample.cd
|- etc
|  |- cdcust                -> configurações exemplos para customização

Principais Comandos

Importante:

  • Um Processo é uma coleção de instruções que definem atividades entre 2 nodes, como por exemplo: copiar arquivos entre nós, executar jobs, manipulação de erros, submeter outros processos ...
  • Transmission Control Queue (TCQ) é a quem gerencia todos os Processos que são submetidos pelo C:D. Possui 4 filas: EXECUTION, WAIT, TIMER e HOLD.
Comando Abreviação Descrição
submit file=<sample.cd>; sub submete o processo para execução na Transmission Control Queue (TCQ). E habilita a execução do código no arquivo especificado.
change process; cha pro altera o status e modifica características específicas de um processo não executando no TCQ
delete process; del pro remove um processo não executando do TCQ
flush process; flu pro remove um processo executando do TCQ
stop; stop para o direct e retorna pra o S.O.
quit; quit para o direct e o Connect:Direct, depois retorna pra o S.O.
select process pnumber=<N> detail=yes; sel pro Monitora processos em execução ou em waiting. Permite definir critérios de busca e apresentação.
select statistics pnumber=<N>; sel stat Retorna informações estatísticas. Permite definir critérios de busca e apresentação.
view process view pro Exibe um processo na TCQ onde o local node é o PNODE. Mostra apenas processos em execução.



Select Process

select process <OPCOES> detail=yes;

onde

Opção Descrição Detalhes
pnumber= número do processo, lista pnumber=(13,14)
pname= nome do processo.

Pode ser usado com pname=name | (list) | generic

  • name=sysXpto
  • name=sysY*
  • name=(sysX,sysY)
queue= fila do processo. hold | timer | wait | exec
snode= nó secundário generic | (list)
status= Status HC | HE | HI | HO | HR | HS | PE | WC | WR | WS | (list)EX (Execution)
submitter= quem enviou o processo generic | (list)
detail=yes tipo de relatório detalhado.

Listando processos nas filas (Dica monitoração)

Se você utilizar o comando

sel pro;

sem parametros consegue ver os processos nas filas.

=======================================================
  SELECT PROCESS
=======================================================
PROCESS NAME   NUMBER  USER    SUBMITTER NODE QUEUE STATUS
-------------------------------------------------------
SENDREC         2      cduser1 CDXPTO       HOLD  HR
SENDFILE        6      cduser1 CDXPTO       HOLD  HI
SENDFILE        8      cduser1 CDXPTO       HOLD  HI
=======================================================
Select Process completed sucessfully.

Select Statistics

Mostra estatísticas e detalhes sobre o Processo.

select statistics <OPCOES>;

onde

Opção Descrição Detalhes
pnumber= número do processo, lista pnumber=(13,14)
pname= nome do processo.

Pode ser usado com pname=name | (list) | generic

  • name=sysXpto
  • name=sysY*
  • name=(sysX,sysY)
ccode=(operator,nn) código final do processo.

Exemplo: todos os processos que finalizaram com código 8. ccode=(=,8) ou ccode=(eq,8).

Completion code:

  • 0 - Processo finalizou corretamente
  • 4 - A transferência ocorreu mas um problema menor ocorreu
  • 8 - A transferência não ocorreu devido a um problema maior
  • 16 - A transferência não ocorreu. O C:D não ser recuperou do erro ocorrido.

Operadores:

  • eq ou = ou ==
  • ge ou >= ou =>
  • gt ou >
  • le ou <= ou =<
  • lt ou <
  • ne ou !=
recids= record id (list)
snode= nó secundário generic | (list)
submitter= quem enviou o processo generic | (list)
startt= start time Pode ser usado com STARTT=(,04:00:00 PM)
stopt= stop time Pode ser usado com STOPT=(,04:00:00 PM)
detail=yes tipo de relatório detalhado.

Flush Process

flush process <OPCOES>

onde OPCOES:


Opção Descrição Detalhes
pnumber= número do processo, lista pnumber=(13,14)
force=yes tipo de parada
  • yes = parada imediata
  • no = para após a execução
hold=yes especifica a fila
  • yes = adiciona o processo à fila Hold, ficando o status HS (Hold due to execution Suspension) após o processo terminar.
  • no = delete o processo da fila TCQ após o processo terminar

Ferramentas

Ferramenta ndmmsg

Exibe códigos e mensagens de erro de forma detalhada

ndmmsg -f /usr/ndmunix/msgfile.cfg XUPC050I


Ferramenta ndmxlt

a Translation table utility to translates data from one character set code to a different character set code, such as ASCII to EBCDIC

Ferramenta statarch.sh

Faz o arquivamento de estatísticas.

./ndm/bin/statarch.sh /opt/IBM/ConnectDirect/cdunix/work/CDSRV01 S20230307

onde statarch.sh <diretório com os arquivos> <date range> Neste caso faz o arquivamento dos arquivos

S20230306.001
S20230305.001
S20230304.001

Isto é controlado pelo initparm.cfg

# Stat file info.
stats:\
 :file.size=1048576:\
 :max.age=8:\
 :log.commands=n:\
 :log.select=n:\
 :syslog.logd=daemon:

mais detalhes em Statistics file information record

Exemplo arquivo sample.cd

/*
* This sample process ...
* 
*/

sample PROCESS SNODE=NODE1

step01 COPY
  FROM (
    FILE=/tmp/file1.txt
    PNODE
  )

  CKPT=2M
  COMPRESS extended

  TO (
    FILE=/tmp/file1.delete
    SNODE
    DISP=rpl
  )

PEND;

Onde:

  • CKPT: Checkpoint a cada NN e a medida K/M

Ver também