Monitoramento Oracle Database

Escrito por HIT

Monitoramento Oracle Database


Procedimento para instalação do ODBC no Linux

Realizar os procedimentos abaixo na máquina do proxy, somente no primeiro monitoramento Oracle.

1. Instalação do Driver ODBC do Linux

# yum install unixODBC unixODBC-devel

2. Instalação do Oracle Instant Client

Caso o Zabbix Proxy não esteja instalado diretamente em um servidor de Oracle Database, é necessário instalar o Oracle Instant Cliente. Nesse caso, siga as seguintes instruções:

Centos 7:

Baixar os arquivos RPM´s do Oracle InstantClient, para Sistemas Operacionais 64bits:

# wget https://app.hit.com.vc/downloads/oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --no-check-certificate
# wget https://app.hit.com.vc/downloads/oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm --no-check-certificate

Ou então, caso o Sistema Operacional seja 32bits, baixar os seguintes arquivos RPM´s do Oracle InstantClient:

# wget http://nimbus.visualsystems.com.br/setupFiles/oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm
# wget http://nimbus.visualsystems.com.br/setupFiles/oracle-instantclient11.2-odbc-11.2.0.4.0-1.i386.rpm

Centos 8:

wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-odbc-19.5.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm

Instalar o Oracle InstantClient na seguinte ordem (64bits): 

Centos 7:

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm

Instalar o Oracle InstantClient na seguinte ordem (32bits): 

# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm
# rpm -ivh oracle-instantclient11.2-odbc-11.2.0.4.0-1.i386.rpm

Centos 8:

# rpm -ivh oracle-instantclient19.5-odbc-19.5.0.0.0-1.x86_64.rpm
# rpm -ivh oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm

3. Configuração do Oracle ODBC Driver

Criar o diretório /etc/oracle onde ficarão os arquivos de configuração utilizados pelo Oracle ODBC Driver: 

# mkdir /etc/oracle

4. configurar as variáveis de ambiente

Criar/editar o arquivo /etc/sysconfig/zabbix-proxy para configurar as variáveis de ambiente necessárias para o funcionamento do Oracle ODBC Driver:

Centos 6

cat << 'EOF' > /etc/sysconfig/zabbix-proxy
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64
export TNS_ADMIN=/etc/oracle
export NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
EOF

Centos 7

cat << 'EOF' > /etc/sysconfig/zabbix-proxy
ORACLE_HOME=/usr/lib/oracle/11.2/client64
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/usr/lib64
TNS_ADMIN=/etc/oracle
NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
export ORACLE_HOME
export LD_LIBRARY_PATH
export TNS_ADMIN
export NLS_LANG
EOF

Centos 8

cat << 'EOF' > /etc/sysconfig/zabbix-proxy
ORACLE_HOME=/usr/lib/oracle/19.5/client64
LD_LIBRARY_PATH=/usr/lib/oracle/19.5/client64/lib:/usr/lib64
TNS_ADMIN=/etc/oracle
NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
export ORACLE_HOME
export LD_LIBRARY_PATH
export TNS_ADMIN
export NLS_LANG
EOF

5. Criar oracleenv.sh

Centos 6 e 7

cat << 'EOF' > /etc/oracle/oracleenv.sh
#!/bin/sh
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64
export TNS_ADMIN=/etc/oracle
export NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
EOF

Centos 8

cat << 'EOF' > /etc/oracle/oracleenv.sh
#!/bin/sh
export ORACLE_HOME=/usr/lib/oracle/19.5/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64
export TNS_ADMIN=/etc/oracle
export NLS_LANG="AMERICAN_AMERICA.WE8ISO8859P1"
EOF

Caso não tenha sido instalado o Oracle InstantClient, esteja se utilizado da própria instalação do Oracle Database, mudar a variável ORACLE_HOME para o local da instalação dos binários do banco de dados.

Validar se o arquivo de driver existe e está no caminho informado, executando o seguinte comando:

# find / -name libsqora.so.11.1 

Centos 8

# find / -name libsqora.so.19.1

Configurar o arquivo do pacote unixODBC para ele carregar a biblioteca ODBC do Oracle InstantClient:

Acesse o arquivos:

# vi /etc/odbcinst.ini

Adicione as entradas arquivo que foi criado:

Centos 6 e 7

[OracleODBC]
Description = Oracle ODBC driver for Oracle
Driver =/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
FileUsage = 1 

Centos 8

[OracleODBC]
Description = Oracle ODBC driver for Oracle
Driver =/usr/lib/oracle/19.5/client64/lib/libsqora.so.19.1
FileUsage = 1

Realizar os procedimentos abaixo no servidor do banco

1. Identificar o ORACLE_HOME

Primeiro passo: acessar com usuário oracle:

# su - oracle

Para verificar o nome das instâncias

# ps -ef | grep pmon

Este comando retornará o nome das instâncias contidas no servidor


Escolher banco de dados, utilizando o comando

# . oraenv

Depois entrar com ORACLE_SID (Nome da instância identificada)

Ex: smk

Identificar o "HOME", com o comando:

# echo $ORACLE_HOME

Copiar o valor da linha exibida que irá aparecer após o comando. Será usada no script "oratest"

2. Criar usuário de monitoramento

Utilizar o comando:

# sqlplus / as sysdba

Criar o usuário com os seguintes comandos:

CREATE PROFILE "MONITORHIT"
LIMIT
COMPOSITE_LIMIT DEFAULT
SESSIONS_PER_USER DEFAULT
CPU_PER_SESSION DEFAULT
CPU_PER_CALL DEFAULT
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL DEFAULT
IDLE_TIME DEFAULT
CONNECT_TIME DEFAULT
PRIVATE_SGA DEFAULT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME DEFAULT
PASSWORD_REUSE_MAX DEFAULT
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME DEFAULT
PASSWORD_GRACE_TIME DEFAULT;
 
CREATE USER MONITORHIT IDENTIFIED BY m0nit0rvS PROFILE MONITORHIT;
 
GRANT CREATE SESSION TO MONITORHIT;
GRANT CREATE PROCEDURE TO MONITORHIT;
GRANT SELECT_CATALOG_ROLE TO MONITORHIT;
GRANT SELECT ON GV_$SORT_SEGMENT TO MONITORHIT;
GRANT SELECT ON SYS.TS$ TO MONITORHIT;
GRANT SELECT ANY DICTIONARY TO MONITORHIT;
GRANT SELECT ON SYSTEM.CTL_STB TO MONITORHIT;
GRANT ALTER TABLESPACE TO "MONITORHIT";
GRANT ALTER DATABASE TO "MONITORHIT";

Sair do banco utilizando "quit"

Sair do usuário "oracle", utilizando o comando "exit"

3. Criação do script do oratest

Copie as linhas abaixo e colocar no prório Linux

Lembrar de alterar o caminho do "ORACLE_HOME" substituindo pelo valor copiado anteriormente.

cat << 'EOF' > /etc/zabbix/oratest.sh
#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1
export TNS_ADMIN=/etc/zabbix/oracle
echo "EXIT SUCCESS;" | $ORACLE_HOME/bin/sqlplus -S -L $1/$2@$3 > /dev/null && echo 1 || echo 0
EOF

4. Dar permissão ao arquivo recém-criado

# chmod 777 /etc/zabbix/oratest.sh

Criar arquivo de userparameter. Copiar as linhas abaixo e colocar no próprio Linux

cat << 'EOF' > /etc/zabbix/zabbix_agentd.d/userparameter_oratest.conf
UserParameter=oratest[*],/etc/zabbix/oratest.sh $1 $2 $3
EOF

5. Criar arquivo do TNS

Encontrar o arquivo de TNS

Utilizar o comando abaixo:

# find . / -name tnsnames.ora

Este comando irá retornar o caminho do arquivo TNS. Deve-se então, copiar o caminho corresponde para usá-lo abaixo.

Atentar-se, pois mais de um caminho pode ser encontrato.

Deve-se então verificar qual deles contem as entradas.

Criar o diretório com o comando

# mkdir /etc/zabbix/oracle

Copiar o arquivo TNS para o diretório criado

# cp caminho_do_TNS /etc/zabbix/oracle/" 

EX: cp /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora /etc/zabbix/oracle

OU

Acessar o diretório onde está(ão) o(s) arquivos(s) tnsnames.ora, verificar através do comando acima, onde está localizado o "home" do banco e complementar o caminho com "/network/admin/"

EX: cd /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/tnsnames.ora

Dentro do diretório do arquivo tnsnames.ora, copiar o arquivo para "/etc/zabbix/oracle"

EX: cp tnsnames.ora /etc/zabbix/oracle


Dar permissão ao arquivo TNS copiado

# chmod 777 /etc/zabbix/oracle/tnsnames.ora

6. Reiniciar o serviço do Zabbix Agent:

# service zabbix-agent restart

7. Adicionar o usuário Zabbix ao oinstall:

Abrir o arquivo do agrupamento

# vi /etc/group

Procure a linha, "oinstall" e adicione "zabbix"

Caso exista algo como "oracle" na frente do número após o "oinstall", mantê-la e só acrescentar o usuário zabbix, Seguir o modelo abaixo:

EX:

oinstall:x:500:oracle,zabbix

Sair do arquivo salvando ":wq"

Utilizar o comando "usermod -a -G oinstall zabbix"

Validar configurações do Selinux:

# SELINUX=disabled
# setenforce 0

8. Teste de conexão

1º Passo:

Utilizar o comando

# cat /etc/zabbix/oratest.sh

Ele retornará o seguinte:

#!/bin/sh
export ORACLE_HOME=/oracle/db11204
export TNS_ADMIN=/etc/zabbix/oracle
echo "EXIT SUCCESS;" | $ORACLE_HOME/bin/sqlplus -S -L $1/$2@$3 > /dev/null && echo 1 || echo 0

2º Passo:

Copiar as linhas abaixo pressionar a tecla Enter:

Utilizar as linhas que o Linux retornou, pois, o ORACLE_HOME, pode ter valor diferente.

EX:
export ORACLE_HOME=/oracle/db11204
export TNS_ADMIN=/etc/zabbix/oracle

3º Passo:

Copiar a linha abaixo e Enter:

# $ORACLE_HOME/bin/sqlplus

4º Passo:

Preencher as informações da seguinte maneira

Enter user-name: MONITORHIT@BANCO
Enter password: m0nit0rvS

Se acontecer conforme abaixo, está funcional.

Conectado a:

Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

With the Automatic Storage Management option

SQL>

Caso ocorra o erro abaixo, deve-se revisar o arquivo "/etc/zabbix/oracle/tnsnames.ora"

ORA-12154: TNS:could not resolve the connect identifier specified

- Verificar se a entrada referente ao banco, está correta:

EX:

NOME_DA_INSTÂNCIA =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = IP_DO_NÓ )(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SID = NOME_DO_NÓ)
   )
 )  

Realizar os procedimentos abaixo na máquina do Proxy:

Editar o arquivo /etc/odbc.ini para incluir uma entrada para cada base de dados monitorada. Veja o exemplo abaixo contendo duas entradas de conexões:

# vi /etc/odbc.ini

Adicione as entradas arquivo que foi criado:

[banco]
Description = myoracledb database
Driver = OracleODBC
ServerName = BANCO
[banco1]
Description = myoracledb database
Driver = OracleODBC
ServerName = BANCO1

Definição de cada conexão do arquivo /etc/odbc.ini:

  • Entrada é o valor que deve ser informado na macro {$ORA_DSN} em cada host, como será detalhado mais à frente.
  • O parâmetro ServerName de cada conexão é o valor da string de conexão configurada no arquivo /etc/oracle/tnsnames.ora 

Editar o arquivo tnsnames.ora para ter uma entrada para cada banco de dados monitorado. No caso de cluster, criar um entrada para o cluster e uma para cada nó.

# vi /etc/oracle/tnsnames.ora

Adicione as entradas no arquivo:

NOME_DO_BANCO(Escrever todo em maiúsculo") =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = IP_DO_SERVIDOR_DO_NÓ_1)(PORT = 1521))
   (ADDRESS = (PROTOCOL = TCP)(HOST = IP_DO_SERVIDOR_DO_NÓ_2)(PORT = 1521))
   (LOAD_BALANCE = yes)
   (FAILOVER = ON)
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = nome_do_banco)
     (FAILOVER_MODE =
       (TYPE = select)
       (METHOD = basic)
     )
   )
 )

Caso sejam nós, criar suas respectivas entradas:

NOME_DO_NÓ_1 =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = IP_DO_SERVIDOR_DO_NÓ_1)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = nome_do_banco)
     (INSTANCE_NAME = nome_do_nó_1)
   )
 ) 
NOME_DO_NÓ_2 =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = IP_DO_SERVIDOR_DO_NÓ_2)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = nome_do_banco)
     (INSTANCE_NAME = nome_do_nó_2)
   )
 ) 

Manter os números 1 e 2 após "nome_do_nó", conforme verificado através do comando "ps -ef | grep pmon", realizado em cada nó.

Para validar se as configurações estão funcionando, rodar o seguinte comando no console do Zabbix Proxy (onde o usuário/senha utilizados para o monitoramento são MONITORHIT/m0nit0rvS):

Utilizar o comando abaixo para "setar" o script:

# . /etc/oracle/oracleenv.sh

Utilizar o comando para testar a conexão:

isql banco MONITORHIT m0nit0rvS -v

Caso conecte, o retorno será conforme o quadro abaixo:

+---------------------------------------+
| Connected!              |
|                        |
| sql-statement             |
| help [tablename]                |
| quit                     |
|                        |
+---------------------------------------+
SQL>

Utilizar o comando "quit" para fechar a conexão.

Caso exista algum outro erro, verificar se as libs dos drivers estão corretas conforme os procedimentos (Realizar no Proxy)

Ajustes e correções do unixODBC

Caso no ambiente não haja os arquivos da versão 2 do Driver ODBC (arquivos libodbcinst.so.2 e libodbcinst.so.2.0.0), é necessário forçar a instalação de um pacote unixODBC mais novo, o qual possua a versão 2 do Driver ODBC. Para isso, faça o download do pacote no formato RPM (caso seja 64bits):

# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/swida/RedHat_RHEL-5/x86_64/unixODBC-2.2.14-15.2.x86_64.rpm

Caso o Sistema Operacional seja 32bits, faça o seguinte download:

# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/swida/RedHat_RHEL-5/i386/unixODBC-2.2.14-15.2.i386.rpm

Para fazer a instalação execute o seguinte commando (64bits):

# rpm -ivh --replacepkgs --replacefiles unixODBC-2.2.14-15.2.x86_64.rpm

Caso o Sistema Operacional seja 32bits, fazer a instalação do seguinte pacote (32bits):

# rpm -ivh --replacepkgs --replacefiles unixODBC-2.2.14-15.2.i386.rpm

Caso esteja instalado o pacote unixODBC versão 2.2.xx, é necessário fazer uma mudança em um arquivo de link para apontar um arquivo de biblioteca mais atualizado. Para verificar a versão do unixODBC execute o seguinte comando:

# odbcinst -j
unixODBC 2.2.11
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

Caso seja a versão 2.2.xx, é necessário fazer o seguinte procedimento:

# cd /usr/lib64
# ls lib*odbcinst* -lahs
0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.1 -> libodbcinst.so.1.0.0
84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.1.0.0
0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.2 -> libodbcinst.so.2.0.0
84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.2.0.0

Sublinhado está o link que deverá ser modificado para apontar para a biblioteca mais nova:

# mv libodbcinst.so.1 libodbcinst.so.1.ORIGINAL
# ln -s libodbcinst.so.2.0.0 libodbcinst.so.1
# ls lib*odbcinst* -lahs
0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.1.ORIGINAL -> libodbcinst.so.1.0.0
0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.1 -> libodbcinst.so.2.0.0
84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.1.0.0
0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.2 -> libodbcinst.so.2.0.0
84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.2.0.0

Se abrir o prompt conforme o exemplo anterior, o teste deu certo!

Caso aconteça o erro abaixo:

# isql -v banco
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1' : file not found
[ISQL]ERROR: Could not SQLConnect

E o arquivo do driver ODBC Oracle se encontra corretamente no caminho, é porque existe alguma dependência desse arquivo que não existe. Execute o comando abaixo para encontrar a dependência que está gerando essa falha:

# ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

Retorno:

ldd: warning: you do not have execution permission for `/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1'
       linux-vdso.so.1 => (0x00007fff947ff000)
       libdl.so.2 => /lib64/libdl.so.2 (0x00007f654d53c000)
       libm.so.6 => /lib64/libm.so.6 (0x00007f654d2b7000)
       libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f654d09a000)
       libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f654ce81000) = se estiver not found instalar rpm
       libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f654a511000)
       libodbcinst.so.1 => not found
       libc.so.6 => /lib64/libc.so.6 (0x00007f6549f6c000)
       /lib64/ld-linux-x86-64.so.2 (0x0000003661c00000)
       libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f6549b9e000)
       libaio.so.1 => /lib64/libaio.so.1 (0x00007f654999d000)
       libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f6549794000)

Normalmente o retorno do comando vai apontar a falta do arquivo libodbcinst.so.1, caso isso ocorra, basta criar um link apontando para a biblioteca existente. Veja os procedimentos abaixo:

# cd /usr/lib64
# ls -lahs *odbcins*
 0 lrwxrwxrwx. 1 root root 20 May 14 16:02 libodbcinst.so -> libodbcinst.so.2.0.0
 0 lrwxrwxrwx. 1 root root 20 May 14 16:02 libodbcinst.so.2 -> libodbcinst.so.2.0.0
72K -rwxr-xr-x. 1 root root 70K Aug 16 2014 libodbcinst.so.2.0.0 

# ln -s libodbcinst.so.2.0.0 libodbcinst.so.1
# ls -lahs *odbcins*
 0 lrwxrwxrwx. 1 root root 20 May 14 16:02 libodbcinst.so -> libodbcinst.so.2.0.0
 0 lrwxrwxrwx. 1 root root 20 Jun 26 16:54 libodbcinst.so.1 -> libodbcinst.so.2.0.0
 0 lrwxrwxrwx. 1 root root 20 May 14 16:02 libodbcinst.so.2 -> libodbcinst.so.2.0.0
72K -rwxr-xr-x. 1 root root 70K Aug 16 2014 libodbcinst.so.2.0.0

# ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
ldd: warning: you do not have execution permission for `/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1'
       linux-vdso.so.1 => (0x00007fff947ff000)
       libdl.so.2 => /lib64/libdl.so.2 (0x00007f654d53c000)
       libm.so.6 => /lib64/libm.so.6 (0x00007f654d2b7000)
       libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f654d09a000)
       libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f654ce81000)
       libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f654a511000)
       libodbcinst.so.1 => /usr/lib64/libodbcinst.so.1 (0x00007f654a300000)
       libc.so.6 => /lib64/libc.so.6 (0x00007f6549f6c000)
       /lib64/ld-linux-x86-64.so.2 (0x0000003661c00000)
       libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f6549b9e000)
       libaio.so.1 => /lib64/libaio.so.1 (0x00007f654999d000)
       libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f6549794000)

Aplicar o Template no Host.

Criar os templates para o cliente, seguindo o procedimento já estabelecido. Criar os seguintes templates para os clientes, de acordo com a necessidade:

  • Databases standalone, instâncias single, sem ser em cluster:
  • Template_Oracle_Standalone_<Cliente>: associado ao Template_Oracle_ Standalone_Padrao
  • Databases em cluster, RAC ? Real Application Cluster:
  • Template_Oracle_RAC_<Cliente> associado ao Template_Oracle_RAC_Padrao
  • Databases que fazem parte de um cluster:
  • Template_Oracle_No_RAC_<Cliente> associado ao Template_Oracle_No_RAC_Padrao
  • Databases que estão em standby:
  • Template_Oracle_Standby_<Cliente> associado ao Template_Oracle_Standby_Padrao

Depois de criados os templates, criar as seguintes macros em cada host (que correspondem a instâncias de banco de dados) que será monitorado:

{$ORA_DSN} = <DSN criado no arquivo /etc/odbc.ini>

{$ORA_USERNAME} = <usuário de monitoramento, normalmente nimmon>

{$ORA_PASSWORD} = <senha do usuário de monitoramento, normalmente nimmon>