IMS

IMS/VS - Information Management System/Virtual Storage


Criado para facilitar acesso ao banco de dados através do processo Batch ou On-line, ou seja, é um aplicativo de controle.

Componentes do IMS

IMAGE COPY - Faz o backup dos bancos de dados do IMS. Durante esse backup ninguem consegue usar os databases do IMS, mas o IMS continua ativo.

PRODUCTION BACKUP - Faz o backup do resto do IMS e não só dos databases, e este geralmente é executado com o IMS inativo.

PADS (Paper and Accessories Distribution Service) - São os Jobs de processo batch que geram os relatorios do IMS. Executam com o IMS indisponivel no sistema, fora do horário de uso do mesmo.

Dois serviços exitem para gerenciamento do IMS:

IMS/DB - Database Management Services - Aplicativo para uso banco de dados

IMS/DC - Data Communications Services - Aplicativo para usuário

O IMS/DC - é a interface de usuário, onde pode ser usado o CICS tambem.


REGIONS


Uma Region de IMS é uma área da memória que é usada para o que os programas do aplicativo executem.

IMS Regions

Um IMS instalado no sistema contem várias Regions.

Control Region - Essa region tem o programa de controle do IMS, a de maior importancia e que interage com todas as outras Regions. Contrala, terminais, bancos de dados e a Log. Executa como ums Started Task. Geralmente tem 'CTL' no nome. Interage com o VTAM atraves do VTAM ACB.

Message Processing Regions (MPR's) - A segunda Region na sequencia. Ela processa as transações on-line. Pode nao estar instalada, pois o CICS pode ser usado para substituir esta Region tambem. Geralmente tem um 'MPXX' no nome da Region e o numero dela, quando existem mais de uma para o IMS.

Batch Message Processing Region (BMP) - Usada para o trabalho de procesamento Batch. Muitas podem estar ativas no sitema, mas isso demanda recurso do sistema, ou seja, quantas mais BMP's, mais lento fica o acesso ao IMS. Os Jobs que executam em uma BMP e os outros Jobs é que os BMP usam uma Control Region, pois isso permite que os BMP usem o banco de dados ao mesmo tempo que um usuário, coisa que os outros Jobs (normais do sistema) não conseguem fazer.

Database Recovery Control Region (DBRC) - Ajuda na recuperação os bancos de dados no caso de uma falha. Essa Region grava informaçoes do estatus da Log do IMS no dataset RECON. Esta Region mantem todas as Image Copies do banco de dados e automaticamente gera o JCL necessário para a inicialização do IMS após uma falha. A Region tem geralmente 'DBRC' no nome.

Data Language/i Region (DL/i) - Provem os requerimentos de processamento para o database esse aplicativo é chamado de DL/i, que faz a interface entre o programa de aplicação e os dados. Tambem é usado para escrever programas.


DB

Database (Banco de Dados) - Coleção de dados inter-relacionados que são mantidos em um formato que possam ser processados pelos programas da aplicação. O Database é hierarquico, significa que os dados são organizados como em uma piramide na qual cada pedaço do está relacionado com o anterior e posterior.

Uma seção do banco de dados é um seguimento, cada segmento é relacionado com o abaixo e com o acima. Esta situação é conhecida como relação PAI/FILHO, na qual o seguimento acima é sempre pai do segmento abaixo.

O banco de dados foi desenvolvido para liberar acesso a muitos usuários ao mesmo tempo em um pacote de dados centralizado, trazendo muitos beneficios.

1 - Por estarem os dados centralizados, nenhum dado é duplicado.

2 - Fica mais barato manter os dados centralizados, pelo numero menor de backups necessários.

3 - Acesso fica mais seguro quando o banco de dados é centralizado.

DL/I

O DL/I ajuda na criação manutenção e acesso do banco de dados, isso cria uma interface entre o IMVS/VS e o programa de aplicação. Todos os 'calls' (acessos ao banco de dados), são controlados pelo DL/I.


Data Communication Concepts - DC

O DC permite o acesso ao usuários acessarem o IMS e bancos de dados de um terminal remoto ou local.

O roteamento de mensagens entre IMS e os terminais é feito pelo DC, funciona igual a um VTAM.Mas o VTAM também pode fazer parte desse roteamento.

Transaction - Uma mensagem processada pelo programa.

Message Switch - Mensagem enviada pelo terminal sem intervenção do programa.

COMMAND (comando) - Uma mensagem direta para o IMS. Usa-se o prefixo '/'

As mensagens enviadas para serem processadas pelos programas do aplicativo, as transações, são colocados em uma fila de INPUT (entrada) até que o programa esteja pronto para processá-las na MESSAGE PROCESSING REGION. Exixtem diferentes filas de INPUT para diferentes tipos de mensagens.

As mensagens que já foram processadas vão para uma fila OUTPUT (saída), antes de serem enviadas ao terminal em questao.

Exitem dois tipos de terminal:

Logical Terminals ( Terminais Logicos ) e Phisical Terminals ( Terminais Fisicos ).

Terminal Fisico (PTERM) - é um terminal atual, ou seja, um hardware. Este terminal pode ser endereçado por um node de VTAM (VTAM ID).

ex.: /DIS NODE XXXXXXX

Este comando é usado para um Display de Node, que neste caso é um VTAM ID mas também um node de PTERM.

Terminal Logico (LTERM) - É um nome lógico para um terminal físico.
É um terminal que pode ter o nome de MASTER, que por exemplo pode ser uma Log de Hardcopy definida como SYSPRINT que pode estar atachado ao IMS. Terminais lógicos podem ser movidos entre terminais fisicos, por exemplo entre MASTER TERMINAL e ALTERNATE MASTER.

ex.: /ASIGN LTERM MASTER NODE XXXXXXX - onde XXXXXX é o VTAM ID do ALTERNATE MASTER.

LOG - Onde se gravan informações, tipo quando o IMS inicia, quando programas executam, ou quando são feitas changes no banco de dados. São arquivadas mensagens recebidas ou enviadas, Checkpoints pelos programas ou Checkpoints do IMS.

OLDS (Online Log Datasets) - Grava toda as atividades do IMS citadas acima.
A Log OLDS está dividida em duas, PRIMARY OLDS que é onde tem informação necessária mas que não está disponível para leitura e tem ainda a SECONDARY OLDS que tem informação disponível.

Quando uma Log OLDS enche, as informações vão para a próxima OLDS disponível. Depois de cheias as OLDS Logs váo para um Dataset chamado SYSTEM LOG DATASET.

WADS ( Write Ahead Dataset ) - O Buffer do OLDS são escritos no WADS, no caso de uma falha os aruivos estarão no OLDS e no WADS, geralmente são usados 2 ou 3.

SLDS ( System Log Datasets ) - Quando o OLDS fica cheio ele esvazia arquivando no SLDS. Pode estar em DASD, fita ou cartucho. Os jobs de arquivo (archive), executam automaticamente quando os OLDS enchem.

RLDS ( RECOVERY LOG DATASET ) - Não é criado sempre. Contem arquivos de recuperação a serem usados em caso de falha do sistema. Ele contem arquivos que já estão no OLDS, por isso não se cria sempre.

RDS ( RESTART DATASET ) - Contem informaçao do IMS Checkpoint usado durante o STARTUP do IMS, ele le a LOG e determina o ultimo CHECKPOINT feito pelo IMS.

RECON Dataset ( RECOVERY CONTROL DATASET ) - Contem informação da data de criação do OLDS e SLDS. O IMS usa para determinar qual dataset contem os ultimos arquivos gravados, para ser usado para num eventual inicialização por CHECKPOINT. As informações do RECON são retiradas do DBRC.


O CICS (Customer Information Control System/Virtual Storage) deve ser usado para acessar o banco de dados DL/I do IMS/VS. Além disso, o proprio IMS/VS pode ser usado para acessar o banco de dados.

O banco de dados DB2 pode ser acessado pelo IMS/VS também. O DB2 também pode compartilhar dados com o IMS/VS DL/I.


MTO


IMS/VS MTO (Master Terminal Operator) - Gerencia todo o aplicativo IMS/VS, fazendo através do Master Terminal. É usado para realizar tarefas no IMS/VS e obter informação a respeito do mesmo.

O MTO é usado para:

Monitorar o sistema, identificar problemas, identificar areas para desenvolvimento e para atualização de documentação.

Obtem informação sobre o IMS/VS, ter o conhecimento sobre a relação IMS/VS x OS, conhecimento da rede(Network) do sistema e ficar a par da importancia da integridade dos bancos de dados.


CHECKPOINTS


Fazem uma cópia da atividade atual do IMS/VS. São cinco, três são TERMINATING (usados para 'derrubar' o IMS/VS) e dois são NON-TERMINATING.

Os três primeiros (TERMINATING):
/che dumpq
/che purge
/che freeze

Os outros dois (NON-TERMINATING):
/che - Checkpoint simples
/che snapq

Checkpoint simples - Tira uma 'foto' da ativade corrente do IMS/VS. São feitos regularmente pelo IMS. As Region's BMP fazem Checkpoint regularmente também.

Os comandos /che e /che snapq - Podem ser usados pelo MTO para um Checkpoint manual.

Checkpoint SNAPQ - Faz uma cópia das filas de mensagem do OLDS. Possibilita um fácil reestabelecimento do IMS em caso de Abend. O SNAPQ demora para executar, por isso não deve ser executado em horário comerial.




Inicializando o IMS

WARM - Este tipo de inicialização continua o IMS no mesmo estado que estava antes do Shutdown. Tudo é mantido no lugar. É mais usado quando o IMS termina normalmente.

Quando a forma usada é 'WARM' a seguinte mensagem deve aparecer:

DFS3139I - IMS/VS INITIALIZED,AUTOMATIC RESTART PROCEEDING - IPRD
DFS3136l - NORMAL RESTART IN PROCESS - IPRD
DFS680I - USING CHKPT 91116/211710 - IPRD
DFS994I - CHKPT 91117/071127 SIMPLE IPRD
DFS994I - WARM START COMPLETED
- Esta vai ser a hora que a inicialização vai ser considerada completa.

Quando o operador está usando o MTO, é possível se ver ainda quais OLDS e WADS estão sendo usados. E onde Checkpoint. Mostra também os módulos IPRD que estão ativo e mostra a conexão com o DBR ativa.

O VTAM ACB (Access Control Block) é a conexão entre IMS e VTAM.

As mensagens de VTAM ACB CLOSED e LOGONS DISABLED indica que ninguem pode logar no IMS.

O comando /DIS A mostra a situação do VTAM ACB, das conexões, das IPRD, Message Processing Region, Etc.

A primeira Region que deve ser inicializada seria a Control Region. Dois comandos pode ser usados:

S IPRDCTL,AUTO=YES - Inicializa o IMS automaticamente. A Control Region decide se vai ser WARM ou EMERGENCY. Este comando pode ser usado somente S IPRDCTL pois o sistem entende como AUTO=YES.

S IPRDCTL,AUTO=NO - Usando este comando, a decisão para o tipo de inicialização fica a cargo do MTO. Usado para inicialização com estado COLD.

Inicializando o component DC (Data Communications)

Usa-se o comando:
/STA DC - Este comando vai abrir o VTAM ACB e vai liberar os Logons.

Inicializando Message Regions

Usa-se o comando:

/STA REG IPRDMPXX - Onde XX é onde se define o nome de uma Region para um sistema. Ex.: IPRDMP01

Esta Region é uma Message Processing Region, o que é indicado pelas letras 'MP' no nome da mesma.

Inicializando transações, programas e bancos de dados

Usam-se os comandos:

/STA TRAN ALL - Para inicializar todas as transações pré-configuradas.
/STA PGM ALL - Para inicializar todos os programas pré-configuradas.
/STA DB ALL - Para inicializar todos os bancos de dados pré-configuradas.

EMERGENCY - Usado quando o IMS termina não normal (ABEND). O IMS é inicializado no mesmo estado que estava antes do erro.

O comando mais usado para uma inicialização de Emergência é:

S IPRDCTL - O IMS vai perceber que o último Shutdown não foi normal e vai inicializar em modo emergecial.

Estas mensagens deve aparecer:

DFS3161I EMERGENCY RESTART IN PROCESS - IPRD
DFS994I EMERGENCY START COMPLETED - IPRD

Depois destas mensagens, o sistema inicializa igual a uma inicialização em estado WARM.

O comando de inicialização menos usado, mas possivel, é:

S IPRDCTL,AUTO=NO - Para que o operador possa inicializar manualmente o IMS.

Esta mensagem em forma de Reply deve aparecer:

XX DFS810A IMS/VS READY 91117/111514 IPRDCTL.IPRDCTL IPRD

Este reply indica que o operador deverá atuar na inicialização respondendo este Reply como:

/ERE. - Esta resposta irá inicializar o IMS com estado emergencial. O ponto, no final do comando é essencial.

COLD - Este tipo de inicialização inicializa os Control Blocks, as Regions do IMS e as filas de mensagens. Nenhum dado será mantido da ultima sessão do IMS, é uma inicialização 'Clean'. É usado quando o IMS terá alguma mudança de configuração.

Usa-se o comando manual para a inicialização modo COLD:

S IPRDCTL,AUTO=NO - Este comando deixa a cargo do operador a inicialização do IMS.

O seguinte Reply vai aparecer:

XX DFS810A IMS/VS READY 91117/111514 IPRDCTL.IPRDCTL IPRD

Dve ser respondido da seguinte forma:

/NRE CHEKPOINT 0 - NRE significa NORMAL RESTART, e o parametro CHECKPOINT pode ser abraviado para CHKPT.

/NRE CHKPT 0 FORMAT ALL - Esta resposta formata certos Datasets do IMS.

/NRE CHKPT 0 FORMAT WA - Esta resposta formata os Write Ahead Datasets.

Mas cada inicialização de IMS pode ser diferente em cada sistema.

/NRE - Se o operador usar somente esta resposta, o IMS vai assumir um modo WARM de inicialização.




Parando o IMS


Existem cinco modos de Chekpoint para parar o IMS, mas de imediato veremos tres deles:

/CHE DUMPQ - Para o IMS rápido mas na ordem correta, espera as transações e programas terminarem e as mensagens serem transmitidas antes de parar o IMS. É o mais usado.

/CHE PURGE - Esta parada do IMS é a que mais demora para acontecer e funciona assim, as linhas de entrada param assim que as mensagens enviadas chegam, as mensagens na fila de entrada são processadas e as de filas de saida são enviadas. As BMP's terminam os processos antes de parar e por último as linhas de saida param. O que nao foi processado é enviado para as Log's.

/CHE FREEZE - É o jeito mais rápido de parar o IMS. As linas de entrada e saída param assim que as mensagens são enviadas ou recebidas, as MPR param assim que termina o processamento das mensagens que estavam ativas, as BMP param na próxima chamada do DL/I, todas as mensagens restantes ficam nos datasets de fila de mensagens.

Parando o IMS Ordenadamente

Seria correto afirmar que a forma descrita a seguir seria o meio politicamente correto de se parar o IMS:

Horário comercial já terminou, o DC é parado para que ninguem entre no sistema, as MPR são paradas assim que não tiverem mais transações para processar, faz-se um DBR dos bandos de dados e os IMAGE COPIES vão começar. Após os IMAGE COPIES o IPRD pode ser parado, agora serão feitos Backups do IMS e seus Datasets de produção. Depois dos Backups o IPRD pode ser inicializado novamente.

Antes de parar o IMS o operador deverá enviar uma mensagem a todos os usuários. Para isso, deve-se ativar o Broadcast.

/BRO A message - este comando enviará uma mensagem a todos os usuários do IMS.

/STO DC - Para parar o DC. Este comando vai fechar o VTAM ACB e desabilitar os Logons. O VTAM ACB vai ficar em modo PENDING, pois os terminais que estão conectados ao sistema precisam desconectar antes, mas ninguem mais vai conseguir conectar ao sistema.

/CLS NODE ALL - Este comando vai desconectar os terminais que estiverem conectados, mas isso caso se queira 'derrubar' os terminais.

O proximo processo seria parar as MPR ( Messaging Processing Regions ) - Para que não se processem as transações sem que o IMS esteja Online.

/STO REG XX - Onde XX é o ID da MPR - Comando que para a Region.

Agora deve-se usa um comando para fazer um DBR (database Recovery) de banco de dados.

/DBR DB ALL - Usado para colocar os bancos de dados em modo DBR, o que indica que eles estarão disponíveis somente para IMAGE COPY ou Backups.

/DBR DB XXXXXX - Usado quando se quer colocar em modo DBR somente um DB específico.

Deve se ver as seguintes mensagens:

DFS052I DBR COMMAND IN PROGRESS
SHR310I - SEGMENT IP020000.00010571 COMPRESSED
SHORTEST=00045,LONGEST=032000,AVG=00239
SHR311I - SEGMENT IP020000.46216997 EXPANDED

O comando de DBR vai:

Mudar as OLDS de um lugar pra outro e fazer um Checkpoint simples.

O seguinte processo ainda pode ser usado:

/DBR DB ALL NOFEOV ou /DBR DB XXXXXX NOFEOV - Estes comandos vão indisponibilizar os bancos de dados sem mudar as OLDS de lugar, é menos seguro mas permite vários comandos DBR simultaneamente.

/DIS DB ALL - Usado para ver qual o estado dos DBs, quando DBR é feito, eles devem aparecer STOPPED.

Usando o /CHE DUMPQ

Usando este mode de parar o IMS a sequencia será a seguinte:
O IMS faz um Chekpoint, em seguida o IMS fecha as OLDS, e a Log do IMS fecha. Isso acontece muito rápido.




Checagem do IMS

O primeiro comando e o mais importante é:

/DIS A - Este comando vai mostrar as Message Regions, as Batch Regions, subsistemas e o estado do VTAM ACB.

Uma Region com estado 'Waiting' indica que está esperando disponível para processamenteo.

/DIS OLDS - Este comando mostra o estado das OLDS Logs, se tem algum job fazendo Archive das OLDS, o estado da OLDS se está cheia ou se tem job pronto para arquivar os dados, etc. As OLDS serão arquivadas assim que encherem um numero pré determinado de Logs que fica aparente no parâmetro AUTOMATIC ARCHIVE. O comando mostra ainda quais estão em uso. Se uma OLDS está com estado NEEDED indica que tem dados precisam ser arquivados.
Se foram vistos parametros em estado WRITE ERROR, CLOSE ERROR ou STOPPED, quer dizer que existem sérios problemas e que um suporte deverá ser chamado.


/DIS STA TRAN PGM DB - Este comando mostra o estado das Transações, Programas e Bancos de Dados.

Para transações, o estado UNRESTRICTED é normal.
Para os bancos de dados o estado NOTOPEN é normal, já o segundo parametro pode estar em ALLOCF indica que uma tentativa de alocar o DB falhou por este DB estar sendo usado, se o parametro estiver em estado NOTINIT indica que o DB nunca foi usado, ja se algum DB estiver em modo STOPPED quer dizer que não está normal se for horário comercial
Para programa, os estados que podem aparecer são STOPPED, LOCKED ou NOTINIT.

Tudo que estiver em estado STOPPED em horário comercial deve ser investigado.

/DIS Q TRAN - Este comando mostra as filas das transações. Mostra as transações que estão prontas pra processar.

Se a resposta vier como No QUEUES, indica que não há transação na fila. Se alguma mensagem está na fila para ser processada, o comando mostra a classe, prioridade nome da transação e o número de mensagens para serem processadas.


/DIS LTERM SYSPRINT - SYSPRINT é o nome do LTerm para a log Hardcopy da Printer. Este comando é usado para ver se não há nada parado na fila para ser impresso. Os parametros que devem ser checados são:

ENQCT (Enqueue Count) - Numero de mensagem enfileiradas.
DEQCT (Dequeue Count) - Numero de mensagens que já foram impressas depois do ultimo COLD Start.
QCT - Mensagens ne fila de impressão. Se este parâmetro deve ser sempre olhado para ver se aumenta muito.

/OPN NODE XXXXXXX - Comando usado para abrir a conexão da printer com o VTAM, onde XXXXXXX é o Node de VTAM para esta printer.

/DIS NODE XXXXXX - Usado para um Display do Node da Printer. Com este comando pode-se ver o estado do Node, STOPPED (parado), IDLE(disponivel), CON(em uso) e RESP(esperando resposta do IMS).

/RES NODE XXXXXX - Usado para resetar o Node, caso esteja travado em algum dos modos.


/DIS SUBSYS ALL - Este comando vai mostrar os subsistemas que estão atachados para o IMS.

Quando este comando é usado mostra os seguints parametros:

SUBSYS - Com o nome do subsistema que está atachado ao IMS.
CRC - Para mandar comando para o subsistema, por exemplo para o DB2. Ex.: /SSR -DIS THD
REGID - Para mostrar se tem algum programa ativo e qual o ID dele.
PROGRAM - Mostra qual o programa está ativo, se tiver algum.
LTERM - Qual o LTerm associado ao programa.
CONN - Se o subsistema está conectado. Pode aparecer como NOT CONN ou TERM IN PROGRESS, indicando problema.

/DIS LINE 2 PTERM 1 - Este comando mostrará o SPOOL do IMS. SPOOL é a log de mensagens que são mostradas no MTO. O comando mostra se existem mensagems enfileiradas para o PTERM, se tiver isso pode ser um problema.

Este comando mostrará os seguintes parametros:

LIN/PTE - Mostra os números da LINE e do PTERM.
TYPE - Mostra o tipo do Node que podem ser, INTERNAL ou READER/PRINTER.
ADDR - Este é o parametro do endereço fisico do Node. Line e PTerm não são endereços físicos.




Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License