sábado, fevereiro 12, 2011

Adabas Timeout Feature

Cada usuário que faz uma solicitação ao Adabas é atribuído a um user queue element (UQE), que indica os recursos alocados do núcleo para o usuário. Se um usuário faz uma chamada para o Adabas então é inativo por um período prolongado (por exemplo, por um operador de terminal deixa o terminal sem fazer logoff), os recursos do usuário que estão bloqueados e não estão disponíveis para outros usuários.

Adabas fornece um mecanismo de tempo limite que impede que esse potencial desperdício de recursos. A função do Adabas de timeout permite o controle de limites de sessão do usuário ou a nível individual do tempo para o tempo de operação global, e para os tipos de usuário específico.

Timeout Parameters

Os parâmetros a seguir ADARUN timeout pode ser definido na inicialização do núcleo:

Parametro Especifica o tempo máximo decorrido (em unidades de 1,048576 segundo)
TNAA an access-only user may be active without issuing an Adabas call.
TNAE an ET-logic user may be active without issuing an Adabas call.
TNAX an exclusive-control user may be active without issuing an Adabas call.
TT permitted for a logical transaction by an ET-logic user.

Se não for especificado, um tempo limite para o valor default do parâmetro 900 ou pouco mais de 15 minutos.

Estes valores de parâmetro, que se aplicam a todos os usuários na sessão, pode ser substituído por um único usuário com um comando OP Adabas para a sessão do usuário. Os valores máximos para substituições de comando, OP são especificados pelos seguintes parâmetros ADARUN timeout definido na inicialização do núcleo:

Parameter Specifies the maximum elapsed time (in units of 1.048576 seconds)
MXTNA any individual user may be active without issuing an Adabas call.
MXTT permitted for a logical transaction by an individual ET-logic user.

O utilitário Adabas ADADBS OPERCOM ou Adabas Online System também pode ser usados para alterar os valores de tempo limite.

A seção seguinte descreve as ações específicas realizadas para cada tipo de limite.

Action Taken If Time Limit Exceeded

Esta seção lista as ações que o núcleo pode ser tomada quando o prazo expirar ou o comando STOPU é emitido e descreve as circunstâncias que determinam a ação.

Notas:

1. O comando de operador DELUI/DELUF, o ADADBS OPERCOM STOPI/STOPF com a opção PURGE, ou seus Adabas Online System (AOS) são tratadas como contrapartes STOPU.

2. Os comandos de operador STOPI/STOPF, o ADADBS OPERCOM STOPI/STOPF sem a opção de deleção, ou os seus homólogos do AOS são tratadas como um limite não-atividade.

Back Out Transaction

O núcleo backs out uma transação apenas para um usuário ET que tem uma transação aberta. A transação é voltada para todos os tipos de tempo limite e para os comandos STOPU.

Release Command IDs

Quando o núcleo libera por comando um ID, ele também apaga a lista de arquivos que este ID esta usando e exclui também o ETID no elemento da fila usuário (UQE).

Esta ação é para todos os timeouts TNAx e para o comando STOPU.

Não é tomado por um timeout TT.

Close User Queue Element

O núcleo close o elemento da fila usuário (UQE) para todos os timeouts TNAx quando OPENRQ=YES e para o comando STOPU.

Nota:

Se OPENRQ=YES está em vigor para a sessão de um usuário e não iniciar com um comando OP, o usuário recebe um response code 9.

Esta ação não é tomada por timeouts TNAx quando OPENRQ=NO (com uma exceção descrita no parágrafo seguinte) ou de um tempo limite TT.

O núcleo fecha a UQE para um tempo limite TNAE quando OPENRQ=NO somente quando o usuário

* não tem ETID;
* não tem nenhuma transação aberta e
* não tenha emitido um comando OP com a opção-R.

Nota:

Quando OPENRQ=NO e UQE está fechada, próxima chamada do usuário não recebe um código de resposta 9, porque o núcleo não sabe mais o que expirou o usuário.

Set Timeout Status in the UQE

O núcleo define o status de timeout quando o UQE não está fechado.

Nota:

Se um usuário emite uma chamada e o estado do tempo limite é definido na UQE, o usuário recebe um código de resposta 9.

Original - Clique Aqui

1 comentário: