Alterando o tempo de inatividade do Enterprise Manager console

Quando o Enterprise Manager, seja database, grid ou cloud control console é acessado, por default exite um tempo de inatividade até que o client HTTP seja desconectado em função do tempo máximo inativo ser violado. Em um EM Coud Control 12c, por exemplo, o client HTTP recebe a mensagem “The page has expired. Click OK to continue”, já no EM Database Control 10g ao tentar reutiliza-lo ele automaticamente redireciona para a página de logon sendo necessário inserir novamente as credenciais de acesso.

Segundo a documentação da Oracle este timout ocorre para prevenir o acesso de pessoas não autorizadas a console, onde após o tempo de inatividade predefinido a página é automaticamente expirada.

“To prevent unauthorized access to the Cloud Control, Enterprise Manager will automatically log you out of Cloud Control when there is no activity for a predefined period of time. For example, if you leave your browser open and leave your office. This default behavior prevents unauthorized users from using your Enterprise Manager administrator account.”

Apesar do timeout ser uma forma de segurança predefinida, visualizar algumas vezes a mensagem de página expirada e/ou precisar inserir novamente as credenciais pode começar a causar certa aflição, principalmente para quem gosta de estar sempre acompanhando o “ambiente” pela console e não está ativamente interagindo com  ela, fazendo o timeout ser constantemente alcançado.

Pois bem, a Oracle não poderia nos deixar nesta situação, logo, permite que seja alterado o tempo de inatividade de forma a ser prolongado(aumentado) ou mesmo que não exista um tempo de timeout!

Obs: Da mesma forma que ele pode ser aumentado(tempo de inatividade) ele pode ser diminuído, levando em consideração as politicas de segurança de sua empresa.

Banco=unicloud-> $OMS_HOME/bin/emctl get property -name oracle.sysman.eml.maxInactiveTime
Oracle Enterprise Manager Cloud Control 12c Release 2
Copyright (c) 1996, 2012 Oracle Corporation.  All rights reserved.
SYSMAN password:
Value for property oracle.sysman.eml.maxInactiveTime for oms All Management Servers is null
Banco=unicloud->

É possível visualizar no exemplo acima(cloud control 12c) que o maxInactiveTime está definido como “null“, desta forma prevalece o tempo default de inatividade (45 minutos para grid/cloud control).

Alterando o value para -1 e restartando o OMS (Oracle Management Service), os serviços são ajustados para nunca expirarem, eliminando assim que a mensagem “The page has expired.” seja novamente visualizada no client HTTP.

Banco=unicloud-> $OMS_HOME/bin/emctl set property -name oracle.sysman.eml.maxInactiveTime -value -1
Oracle Enterprise Manager Cloud Control 12c Release 2
Copyright (c) 1996, 2012 Oracle Corporation.  All rights reserved.
SYSMAN password:
Property oracle.sysman.eml.maxInactiveTime has been set to value -1 for all Management Servers
OMS restart is required to reflect the new property value
Banco=unicloud->

O value é sempre especificado em minutos, caso não queira definir o tempo de inatividade como ilimitado(-1) coloque 1 (para 1 minuto), 2,3,4,5 …

Para finalizar, reiniciar os serviços(solicitado apos o ajuste do maxInactiveTime):

Banco=unicloud-> $OMS_HOME/bin/emctl stop oms -all
Oracle Enterprise Manager Cloud Control 12c Release 2
Copyright (c) 1996, 2012 Oracle Corporation.  All rights reserved.
Stopping WebTier...
WebTier Successfully Stopped
Stopping Oracle Management Server...
Oracle Management Server Successfully Stopped
AdminServer Successfully Stopped
Oracle Management Server is Down
Banco=unicloud-> $OMS_HOME/bin/emctl start oms
Oracle Enterprise Manager Cloud Control 12c Release 2
Copyright (c) 1996, 2012 Oracle Corporation.  All rights reserved.
Starting Oracle Management Server...
Starting WebTier...
WebTier Successfully Started
Oracle Management Server Successfully Started
Oracle Management Server is Up
Banco=unicloud->

Para a versão 11.x Enterprise Manager Grid Console, o procedimento é basicamente o apresentado acima.

1. Navegar até o diretório de instalação do OMS software e setar o oracle.sysman.eml.maxInactiveTime para o valor requerido:

$ cd <OMS_HOME>/bin
$ ./emctl set property -name oracle.sysman.eml.maxInactiveTime -value 60 -sysman_pwd <password>

2. Reiniciar o OMS:

$ cd <OMS_HOME>/bin
$ ./emctl stop oms
$ ./emctl start oms

Na versão 10.x Enterprise Manager Grid Console é necessário editar o arquivo emoms.properties conforme abaixo:

1. Navegar até o diretório <OMS_HOME>/sysman/config

2. Efetuar um backup(copia) do arquivo emoms.properties e abrir o arquivo original(emoms.properties) com um editor

3. Vá até o final do arquivo e adicione a seguinte linha: (60 é o tempo em minutos de idle time até que a sessão seja desconectada)

oracle.sysman.eml.maxInactiveTime=60

4. Reiniciar o OMS:

$ cd <OMS_HOME>/bin
$ ./emctl stop oms
$ ./emctl start oms

Quando utilizamos o Database Control, seja 10 ou 11, devemos seguir as seguintes etapas:

-> Diferentemente do grid/cloud control que o tempo default de inatividade é de 45 minutos o database control possui como default 35 minutos!

1. Parar o dbconsole:

$ emctl stop dbconsole

2. Efetuar um backup(copia) do arquivo emoms.properties localizado no diretório $ORACLE_HOME/<hostname_sid>/sysman/config e abrir o arquivo original(emoms.properties) com um editor adicionando ao final do arquivo a seguinte linha:

oracle.sysman.eml.maxInactiveTime=<tempo em minutos>

3. Atualizar o arquivo web.xml abaixo do diretorio $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/WEB-INF com:

<session-config><session-timeout>-1</session-timeout></session-config>

onde o -1 indica que não existe timeout. Qualquer valor positivo indica o tempo de inatividade antes da sessão ser desconectada.

4. Reiniciar o database console:

$ emctl start dbconsole
Referência:
12c Cloud Control: How to Change the Default Login (Idle) Timeout Value for the Enterprise Manager Cloud Console Connections? (Doc ID 1385996.1)
How to Change the Default Session Timeout for Database Control/DB Control ? (Doc ID 1170373.1)
How to Change the Default Login Timeout Value for the 10g/11g Enterprise Manager Grid Console Connections? (Doc ID 234875.1)
http://docs.oracle.com/cd/E24628_01/install.121/e24089/addnl_tasks.htm#EMADV570
%name Alterando o tempo de inatividade do Enterprise Manager console

Autor: Anderson Graf

Bacharel em Sistemas de Informação e MBA em Gestão de Banco de Dados Oracle. Entusiasta da tecnologia Oracle, ACE Associate ♠, autor em vários blogs e OTN. Consultor Oracle Senior na Exímio Soluções em TI

Envolvido em soluções de:
– Implementação, migração, gerenciamento e suporte a produtos Oracle, multiplataforma
– Monitoramento de ambientes 24×7
– Backup e Recovery
– Performance e Tuning
– Alta disponibilidade (HA) – RAC, Data Guard
– EM database/grid/cloud control
– Particionamento & Advanced Compression
– Oracle Engineered Systems – ODA, Exadata

Blog pessoal: http://www.andersondba.com.br
Articulista na Oracle Technology Network (OTN) – https://goo.gl/99R6yW
ACE Associate – https://goo.gl/MBB51b
Articulista GPO – http://profissionaloracle.com.br