IBM IDS Guia de Instalação - Aprenda a instalar o banco de dados IBM Informix Dynamic Server - Parte 04

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Veja nesta quarta etapa arquivos para conectividade, Configuração de múltiplos portes, como configurar arquivos de segurança de rede, o servidor de banco de dados e como configurar o arquivo sqlhosts.

IBM IDS Guia de Instalação

Aprenda a instalar o banco de dados IBM Informix Dynamic Server

Parte 04

Arquivos para Conectividade

Os arquivos de conectividade  contém informações que permitem a comunicação entre o cliente e o servidor. Estes arquivos permitem também que o servidor de banco de dados comunique-se com outros servidores de banco de dados. Quando o servidor de banco de dados é configurado para usar protocolos de rede TCP/IP, as informações contidas em /etc/hosts e /etc/services são usadas para que seja preparado o arquivo $INFORMIXDIR/etc/sqlhosts. O arquivo /etc/hosts (Ler Nota 6), contém uma entrada para cada adaptador de rede do servidor de banco de dados contendo as informações. O arquivo $INFORMIXDIR/etc/sqlhosts Listagem 9, contém uma entrada para cada serviço disponível do protocolo TCP/IP e contém as seguintes informações. O nome do serviço e o numero do porte são arbitrários, contudo eles devem ser únicos no contexto do arquivo e devem ser iguais entre os servidores disponíveis no contexto servidores de banco de dados.

 

Nota 6. Formato do arquivo /etc/hosts.

IP address    host name    host alias(es)

10.12.0.10   my_host1     my_alias1.company.com.br

10.12.0.11   my_host1     my_alias2

10.12.0.12   my_host1

10.12.0.13   my_host1

10.12.0.14    my_host2

 

hostname  pode conter até o limite 256 caracteres

 

 

Nota 7. Formato do arquivo etc/services.

service name           port number and protocol aliases(optional)

my_instance1          10001/tcp

service name pode conter até o limite de 128 caracteres

o sistema operacional restringe o uso de portes de comunicação menores que o valo de 1024, portanto apenas use números de portes de comunicação superiores a 1024, para evitar conflitos.

 

TCP/IP poderão ser usados em ambos os casos onde, a aplicação e o servidor de banco de dados residirem ou não no mesmo servidor físico. Podemos definir o método de comunicação entre aplicação e o banco de dados, usando-se parâmetros de configuração e variáveis de ambiente. Quando este método é selecionado, existem outros arquivos que devem ser configurados tais como o arquivo de serviços /etc/services exemplificado na listagem 7 e o arquivo de hosts /etc/hosts exemplificado na listagem 8 sendo que, cada entrada neste arquivo, representa um computador de sua rede. O arquivo contém o endereço IP do próprio servidor de banco de dados, o nome deste servidor e como valor opcional um apelido, conhecido como alias, podendo este campo ser um domínio ou apenas um nome que define um servidor.

 

Listagem 7. Verificando as entradas do arquivo de configuração em /etc/services, para serviços do Informix.

$ grep 1000 /etc/services

 

my_instance1 10001/tcp        # Informix service1

my_instance2 10002/tcp        # Informix service2

my_instance3 10003/tcp        # Informix service3

my_instance4 10004/tcp        # Informix service4

my_instance5 10005/tcp        # Informix service5

 

 

Listagem 8. Criando um arquivo de configuração em /etc/hosts, para servidores do Informix

$ vi /etc/hosts # Abre o arquivo /etc/hosts em modo de edição

………………………………………

 

10.12.0.10   my_host1        my_alias1.company.com.br

10.12.0.11   my_host2        my_alias2

10.12.0.12   my_host3

10.12.0.13   my_host4

  

Configuração de múltiplos portes

Em se possuindo vários adaptadores de rede no servidor, poderemos definir diferentes portes para um mesmo servidor de banco de dados onde, será necessária uma configuração múltipla no arquivo de serviços /etc/services e como conseqüência múltiplas entradas nos arquivos /etc/hosts e $INFORMIXDIR/etc/sqlhosts. No arquivo de configuração onconfig poderá ser utilizada uma das entradas para o parâmetro DBSERVERNAME e outra para o parâmetro DBSERVERALIASES. Aplicações poderão utilizar-se dos nomes definidos no arquivo de configuração comunicando-se por vias distintas providas pelos múltiplos adaptadores de rede.

Usando-se vários adaptadores de rede, poderemos criar um complexo método de comunicação entre a aplicação e o servidor de banco de dados, pois, imagine um servidor com dois adaptadores de rede com seus respectivos endereços IP (Ler Nota 8). Com dois adaptadores de rede ver listagens 9, 10 e 11, é necessário que precisemos descriminar todos os endereços IP no arquivo /etc/hosts.  E no arquivo $INFORMIXDIR/etc/sqlhosts colocamos um metacaracter ‘*’ (asteristico) como código determinante de endereço IP na terceira posição, fazendo com que o servidor procure por todos os possíveis endereços IP que possam comunicar-se com o porte especificado, através de chamadas de sistema, quando o sistema operacional estiver em pleno funcionamento, o servidor de banco de dados deverá utilizar-se apenas dos protocolos TCP/IP para esta finalidade onde, uma das entradas será necessária para prover a conexão.

 

Nota 8. Arquivo /etc/hosts de um servidor com dois adaptadores de rede.

Placa_rede   endereço IP  nome_servidor

adaptador1   10.12.0.10    my_server

adaptador2   10.12.0.11    my_server2

 

Se a aplicação e o servidor de banco de dados compartilharem das informações do arquivo $INFORMIXDIR/etc/sqlhosts, poderá ser especificado ambos coringa (*) ou o endereço IP. A aplicação ignora o coringa (*) e usa o nome de servidor ou seu endereço IP para criar uma conexão e, o banco de dados usa o coringa (*) para aceitar as conexões provenientes do endereço IP requisitante. O coringa (*) permite que a thread de conexão (soc, tli) aguarde por uma conexão de um cliente usando o mesmo serviço relacionado ao adaptador de rede existente no arquivo $INFORMIXDIR/etc/sqlhosts. Desta forma, existe um custo maior de CPU quando esta aguarda conexões provenientes de múltiplos endereços IP do que gastaria para aguardar conexões de um único servidor ou de um único endereço IP.

Listagem 9. Configuração do arquivo $INFORMIXDIR/etc/sqlhosts com dois adaptadores de rede

$ cat $INFORMIXDIR/etc/sqlhosts

 

DBSERVERNAME                nettype                  hostname     servicename options

my_server              ontlitcp         *my_server   my_service  

my_server              ontlitcp         *10.12.0.10  my_service

my_server_alias       ontlitcp         *my_server1  my_service  

my_server_alias       ontlitcp         *10.12.0.11  my_service  

 

Listagem 10. Configuração do arquivo /etc/services com dois adaptadores de rede

my_instance1 10001/tcp        # Informix service1

my_instance2 10002/tcp        # Informix service2

 

Listagem 11. Configuração do arquivo $INFORMIXDIR/etc/onconfig com dois adaptadores de rede

DBSERVERNAME    my_server       # Name of default database server

DBSERVERALIASES my_server_alias # List of alternate DBSERVERNAME

 

Figura 2. Conexões provenientes de clientes distintos a um servidor com dois adaptadores de rede

07-12pic01.JPG 

Figura2. Demonstra dois clientes efetuando conexões a um banco de dados que possui dois adaptadores de rede.

 

Configurando arquivos de segurança de rede

IBM IDS segue padrões de segurança baseados na informação de segurança de rede. Para uma aplicação conectar-se ao servidor de banco de dados, o usuário precisa ter um ID válido no servidor remoto. O arquivo /etc/hosts.equiv contém os servidores remotos e usuários confiáveis pelo servidor de banco de dados, os quais podem se conectar sem o uso de senha Listagem 12. O sistema operacional usa este arquivo para determinar se o solicitante é ou não confiável. O arquivo $HOME/.rhosts pode ser usado para específicos usuários de computadores confiáveis ao invés de utilização genérica. Para se testar a confiabilidade entre os sistemas envolvidos, verifique a listagem 13.

 

Listagem 12. Saída do comando de verificação do arquivo /etc/hosts.equiv.

$ grep my_server /etc/hosts.equiv

……

my_server1

my_server2

my_server3

……

 

Listagem 13. Demonstra um teste de conexão entre servidores confiáveis.

my_server /home/my_account $ rlogin my_server1

my_server1 /home/my_account1 $

 

O usuário cliente deverá estar listado no arquivo /etc/passwd para que este tenha condições de efetuar a conexão no servidor de banco de dados. Alguns sistemas operacionais possuem um arquivo chamado de /etc/shadow que é usado como cópia de segurança do arquivo de senhas /etc/passwd. O arquivo .netrc é também utilizado para conexões remotas e é composto por nomes de maquinas, nomes de usuários e senhas de acesso, o qual necessita de administração no caso de alteração de configuração de algum de seus campos. Se o seu sistema utiliza NIS (Produto SUN Microsystems), que permite a propagação de arquivos de rede para outros computadores deve ser verificado seu funcionamento e como administrá-lo para evitar problemas de conexão causados pela manutenção dos arquivos /etc/hosts e /etc/services, garantindo-se que as alterações sejam efetuadas no servidor NIS (master) e, a partir dai seja propagada para os servidores secundários (slaves).

Se a aplicação de cliente e o servidor de banco de dados residirem em diferentes maquinas, o arquivo $INFORMIXDIR/etc/sqlhosts deverá estar definido nos dois ambientes com as mesmas informações. Pois, esta informação é requerida pelo servidor de banco de dados para processos iniciais.

 

Configurando o arquivo sqlhosts

Este arquivo é de suma importância para a utilização do servidor de banco de dados IBM IDS. Contém informações necessárias para que aplicações e ferramentas possam se conectar ao servidor de banco de dados. Sendo que para cada um servidor definido na rede, deveremos ter uma entrada nos moldes do arquivo conforme listagem 16.  Este arquivo encontra-se no diretório $INFORMIXDIR/etc, porém podemos colocá-lo em um local diferente do padrão para tanto basta alterar sua localização e informar através da variável de ambiente INFORMIXSQLHOSTS Listagem 14. Algumas instalações necessitam que seja configurado o quinto campo do arquivo sqlhosts, (Ler Nota 10) para conhecer as opções e configurações para este campo.

 

Listagem 14. Exemplo de localização do arquivo sqlhosts diferente do padrão.

$ export INFORMIXSQLHOSTS=/my_directory/my_sqlhosts.my_server

 

Configurando o servidor de banco de dados

Os parâmetros de configuração estão armazenados no arquivo $INFORMIXDIR/etc/ONCONFIG, conforme demonstrado na Listagem 15 que é uma réplica do arquivo de configuração, contudo ao ser instalado o produto, será gerado um arquivo padrão em $INFORMIXDIR/etc/ONCONFIG.std que contém valores iniciais de configuração recomenda-se que este arquivo seja duplicado para que o novo arquivo contenha as alterações a serem efetuadas referentes ao novo servidor. O nome do arquivo de configuração do IBM IDS será conhecido pelo ambiente pela variável ONCONFIG, (Ler Nota 5). O novo nome pode representar uma definição do sistema a ser criado, uma boa dica é que se use o nome do arquivo juntamente com o nome do servidor (onconfig.my_server). Ao editar-se este arquivo por meio de um editor comum do sistema operacional, mantendo-se as configurações padrões e alterando-se os valores a serem definidos para um novo servidor de banco de dados. O utilitário onmonitor pode também ser usado como uma ferramenta de edição deste arquivo (Ler Nota 9). Tenha em mente que, alterações pertinentes ao ambiente deste arquivo só terão validade após uma nova reinicialização do servidor. Portanto, quaisquer parâmetros de cunho estrutural, somente terão validade após o servidor de banco de dados ser parado e depois reinicializado, para outros parâmetros dinâmicos, a parada não será necessária, ver listagem 2.

 

Nota 9. Tela de utilização do utilitário onmonitor.

Dynamic Server:   Status  Parameters  Dbspaces  Mode  Force-Ckpt  Archive  ...

Status menu to view Dynamic Server.

 

-----------------------------On-Line------- Press CTRL-W for Help. --------

 

Listagem 15. Arquivo de configuração onconfig.

$ onstat -c  

 

IBM Informix Dynamic Server Version 9.40.UC6     -- On-Line -- Up 84 days 02:10:25 -- 416768 Kbytes

 

Configuration File: /informix/INF940/etc/onconfig.myserver

 

# Root Dbspace Configuration

 

ROOTNAME        rootdbs         # Root dbspace name

ROOTPATH        /dev/ifmx-raw-001

                                # Path for device containing root dbspace

ROOTOFFSET      0               # Offset of root dbspace into device (Kbytes)

ROOTSIZE        32768           # Size of root dbspace (Kbytes)

 

# Disk Mirroring Configuration Parameters

 

MIRROR          0               # Mirroring flag (Yes = 1, No = 0)

MIRRORPATH                      # Path for device containing mirrored root

MIRROROFFSET    0               # Offset into mirrored device (Kbytes)

 

# Physical Log Configuration

 

PHYSDBS         phy_myserver    # Location (dbspace) of physical log

PHYSFILE        32662           # Physical log file size (Kbytes)

 

# Logical Log Configuration

 

LOGFILES        10              # Number of logical log files

LOGSIZE         22926           # Logical log size (Kbytes)

 

# Diagnostics

 

MSGPATH         /informix/online.log

                                # System message log file path

CONSOLE         /dev/console    # System console message path

ALARMPROGRAM    /informix/alarm.ksh

                                # Alarm program path

SYSALARMPROGRAM /informix/etc/evidence.sh

                                # System Alarm program path

TBLSPACE_STATS  1

 

# System Archive Tape Device

 

TAPEDEV         /informix/tapedev

TAPEBLK         16              # Tape block size (Kbytes)

TAPESIZE        2048000         # Max amount of data to put on log tape (Kbytes)

 

# Log Archive Tape Device

 

LTAPEDEV        /informix/ltapedev

LTAPEBLK        16              # Log tape block size (Kbytes)

LTAPESIZE       2048000         # Max amount of data to put on log tape (Kbytes)

 

# Optical

 

STAGEBLOB                       # Informix Dynamic Server/Optical staging area

 

# System Configuration

 

SERVERNUM       1               # Unique id corresponding to a Dynamic Server instance

DBSERVERNAME    my_server       # Name of default database server

DBSERVERALIASES my_server_alias # List of alternate DBSERVERNAMEs

 

NETTYPE         soctcp,1,50,NET # Configure poll thread(s) for nettype

NETTYPE         ipcshm,1,50,CPU # Configure poll thread(s) for nettype

NETTYPE         tlitcp,1,50,CPU # Configure poll thread(s) for nettype

 

DEADLOCK_TIMEOUT 60             # Max time to wait of lock in distributed env.

RESIDENT        0               # Forced residency flag (Yes = 1, No = 0)

 

VPCLASS         cpu,num=2       # Number of user (cpu) vps

VPCLASS         AIO,num=1       # Number of IO vps

 

MULTIPROCESSOR  1               # 0 for single-processor, 1 for multi-processor

SINGLE_CPU_VP   0               # If non-zero, limit number of cpu vps to one

 

# Shared Memory Parameters

 

LOCKS           50000           # Maximum number of locks

BUFFERS         30000           # Maximum number of shared buffers

PHYSBUFF        32              # Physical log buffer size (Kbytes)

LOGBUFF         32              # Logical log buffer size (Kbytes)

LOGSMAX         20              # Maximum number of logical log files

CLEANERS        6               # Number of buffer cleaner processes

SHMBASE         0xa000000       # Shared memory base address

SHMVIRTSIZE     65536           # initial virtual shared memory segment size

SHMADD          65536           # Size of new shared memory segments (Kbytes)

SHMTOTAL        629144          # Total shared memory (Kbytes). 0=>unlimited

CKPTINTVL       300             # Check point interval (in sec)

LRUS            12              # Number of LRU queues

LRU_MAX_DIRTY   60              # LRU percent dirty begin cleaning limit

LRU_MIN_DIRTY   50              # LRU percent dirty end cleaning limit

LTXHWM          45              # Long transaction high water mark percentage

LTXEHWM         50              # Long transaction high water mark (exclusive)

TXTIMEOUT       0x12c           # Transaction timeout (in sec)

STACKSIZE       32              # Stack size (Kbytes)

 

# Recovery Variables

# OFF_RECVRY_THREADS:

# Number of parallel worker threads during fast recovery or an offline restore.

# ON_RECVRY_THREADS:

# Number of parallel worker threads during an online restore.

 

OFF_RECVRY_THREADS 10           # Default number of offline worker threads

ON_RECVRY_THREADS 1             # Default number of online worker threads

 

# Data Replication Variables

# DRAUTO: 0 manual, 1 retain type, 2 reverse type

DRAUTO          0               # DR automatic switchover

DRINTERVAL      30              # DR max time between DR buffer flushes (in sec)

DRTIMEOUT       30              # DR network timeout (in sec)

DRLOSTFOUND     /informix/INF940/etc/dr.lostfound # DR lost+found file path

 

# Read Ahead Variables

RA_PAGES        10              # Number of pages to attempt to read ahead

RA_THRESHOLD    5               # Number of pages left before next group

 

# DBSPACETEMP:

# Dynamic Server equivalent of DBTEMP for SE. This is the list of dbspaces

# that the Dynamic Server SQL Engine will use to create temp tables etc.

# If specified it must be a colon separated list of dbspaces that exist

# when the Dynamic Server system is brought online.  If not specified, or if

# all dbspaces specified are invalid, various ad hoc queries will create

# temporary files in /tmp instead.

 

DBSPACETEMP     my_temp_space, my_temp_space1 # Default temp dbspaces

 

# DUMP*:

# The following parameters control the type of diagnostics information which

# is preserved when an unanticipated error condition (assertion failure) occurs

# during Dynamic Server operations.

# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.

 

DUMPDIR         /informix/dump

                                # Preserve diagnostics in this directory

DUMPSHMEM       1               # Dump a copy of shared memory

DUMPGCORE       0               # Dump a core image using 'gcore'

DUMPCORE        0               # Dump a core image (Warning:this aborts Dynamic Server)

DUMPCNT         1               # Number of shared memory or gcore dumps for

                                # a single user's session

AFCRASH         0x21

AFFAIL          0x21

AFWARN          0x21

AFLINES         0

FILLFACTOR      90              # Fill factor for building indexes

# method for Dynamic Server to use when determining current time

USEOSTIME       0               # 0: use internal time(fast), 1: get time from OS(slow)

 

# Parallel Database Queries (pdq)

MAX_PDQPRIORITY 100             # Maximum allowed pdqpriority

DS_MAX_QUERIES                  # Maximum number of decision support queries

DS_TOTAL_MEMORY                 # Decision support memory (Kbytes)

DS_MAX_SCANS    1048576         # Maximum number of decision support scans     

DATASKIP        off             # List of dbspaces to skip

# OPTCOMPIND

# 0 => Nested loop joins will be preferred (where

#      possible) over sortmerge joins and hash joins.

# 1 => If the transaction isolation mode is not

#      "repeatable read", optimizer behaves as in (2)

#      below.  Otherwise it behaves as in (0) above.

# 2 => Use costs regardless of the transaction isolation

#      mode.  Nested loop joins are not necessarily

#      preferred.  Optimizer bases its decision purely

#      on costs.

OPTCOMPIND      0               # To hint the optimizer

ONDBSPACEDOWN   2               # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT

LBU_PRESERVE    1               # Preserve last log for log backup

OPCACHEMAX      0               # Maximum optical cache size (Kbytes)

# HETERO_COMMIT (Gateway participation in distributed transactions)

# 1 => Heterogeneous Commit is enabled

# 0 (or any other value) => Heterogeneous Commit is disabled

HETERO_COMMIT   0

# Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS

OPT_GOAL        -1

# Optimizer DIRECTIVES ON (1/Default) or OFF (0)

DIRECTIVES      1

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?