Infra - Linux
Instalando o poderoso banco de dados IBM DB2 (SEM SEGREDOS)!
Neste documento encontraremos os procedimentos básicos de instalação do pacote servidor (Linux) e cliente (Windows) do banco de dados DB2 Express-C da IBM, disponível gratuitamente em seu site oficial. A versão gratuita proporciona todos os recursos da versão comercial, exceto as limitações (4G de memória e 2 processadores).
por Alessandro de Oliveira Faria
O DB2 Universal Database Express-C roda em Linux e Windows, com
restrições para até dois servidores equipados com chips de duplo núcleo e até
quatro Gigabytes de memória.
Apesar da limitação de hardware, o software
está liberado para qualquer número de conexões simultâneas ou tamanho do banco
de dados e pode ser empregado comercialmente ou até mesmo incluído em pacotes de
softwares, como distribuições gratuitas ou pagas do sistema operacional Linux,
por exemplo.
Dentre as três maiores fabricantes de bancos de dados do
mundo, no entanto, a IBM é a última a divulgar uma versão gratuita. A
Microsoft foi a primeira, com o seu SQL Server Express e a Oracle veio logo
atrás com o Database 10g Express, limitada a 4 Gigabytes de tamanho máximo por
banco, servidor com apenas um processador e no máximo um Gigabyte de memória.
A família DB2
DB2 Universal Database Enterprise Server Edition: Atende todas as necessidades do servidor de banco de dados de empresas de médio a grande porte.
DB2 Universal Database Express Edition: Banco de dados completo para pequenas e médias empresas. Oferece excelente viabilidade com um baixo custo de entrada. Fácil de instalar e implementar.
DB2 Universal Database Workgroup Server Edition: O servidor de banco de dados departamental para pequenas empresas.
DB2 Universal Database Personal Edition: Um mecanismo de banco de dados relacional ideal para desenvolvedores no processo de prototipação de aplicações que precisam acessar outras bases de dados DB2. Não permite multi-usuário.
DB2 Everyplace Database Edition: Esta edição é ideal para dispositivos móveis. Seu banco de dados relacional (com 200 KB). É capaz de manipular consultas de dados de alto-desempenho, manipulando grandes volumes de dados remotos.
DB2 Everyplace Enterprise Edition: Projetado para atender às necessidades de um cliente corporativo. A oferta inclui o banco de dados DB2 Everyplace robusto de alto desempenho.
DB2 Everyplace Express Edition: Voltado especificamente para atender à necessidade de clientes de médio porte (número de funcionários de 100 a 999) para uma infra-estrutura de aplicativos remotos simples e viável.
Fontes:
DICA: Consulte também o guia de informações DB2:
Download
Download do DB2 Client disponíveis: Run-Time Client Lite: O DB2 Run-Time Client Lite é a menor do DB2 Run-Time Client e está disponível apenas para a plataforma Windows. Cliente Run-Time: Utilize este tipo de cliente do DB2 para fornecer acesso básico, não-GUI a bancos de dados DB2. Cliente Administration: Utilize este tipo de cliente do DB2 para administrar remotamente um servidor DB2. O cliente do DB2 Administration também contém toda a funcionalidade disponível no cliente do DB2 Run-Time. Cliente Application Development: Utilize este tipo de cliente do DB2 para desenvolver aplicativos do banco de dados DB2, incluindo procedimentos armazenados, funções definidas pelo usuário e aplicativos clientes. O cliente do DB2 Application Development 7 também contém toda a funcionalidade disponível no cliente do DB2 Run-Time. Download do DB2 Server: O download do pacote server DB2 Express Edition 8.2 deve ser efetuada em: clicando na opção download. |
Selecione a plataforma desejada e clique em download here como na ilustração abaixo: |
É obrigatório ter em mãos o IBM ID. Para os usuários que possuem uma conta no portal da IBM, clique em SIGN IN e digite o login e senha. Caso contrário, para adquirir o IBM ID, basta clicar em REGISTER NOW. |
|
Responda o questionário da IBM e clique no botão EU ACEITO. |
PRONTO! Agora basta clicar em FAZER O DOWNLOAD AGORA. |
Outros links: Run-Time Client Lite: Cliente Administration: |
A instalação no modo console pode ser necessário por diversos
motivos, como por exemplo o JAVA não estar devidamente instalado no servidor,
dentre outros inúmeros motivos. Sendo assim, vamos abandonar o mouse e descer o
dedo para o teclado...
Após o download, descompacte o arquivo na pasta
de sua preferência com o comando tar:
$ tar -zxvf
db2exc_LNX_26x86.tar.gz
db2exc_LNX_26x86/
db2exc_LNX_26x86/db2/
db2exc_LNX_26x86/db2/linux26/
db2exc_LNX_26x86/db2/linux26/IBM_db2cliv81-8.1.2-97.i386.rpm
db2exc_LNX_26x86/db2/linux26/IBM_db2crte81-8.1.2-97.i386.rpm
...
db2exc_LNX_26x86/db2setup
db2exc_LNX_26x86/db2_install
db2exc_LNX_26x86/db2_deinstall
Entre na pasta db2exc_LNX_26x86 e execute o programa db2_install
como super-usuário (root). Digite a string DB2.EXP para iniciar a instalação do
pacote DB2 Express como no exemplo abaixo:
$ cd
db2exc_LNX_26x86/
$ su
# ./db2_install
Especifique uma ou mais
das palavras-chave separadas por espaços para instalar produtos do DB2.
Palavra-chave | Descrição do Produto |
DB2.EXP | DB2 UDB Express Edition for LINUX26 |
Digite "help" para reexibir nomes de produtos.
Digite "quit" para sair.
O arquivo de log de instalação pode ser encontrado em /tmp/db2_install_log.7328.
Programa concluído com êxito!
As instruções abaixo criam o usuário administrador do banco (DAS - DB2 Administrator Server), utilizado para executar ferramentas de suporte do DB2:
# groupadd dasadm1
# useradd dasusr1 -m -g dasadm1 -d /home/dasusr1
# passwd dasusr1
Changing password for dasusr1.
New password: ******
Re-enter new password: ******
Password changed
Agora siga as instruções abaixo para criar o usuário dono da instanciação do banco de dados no Linux:
# groupadd db2grp1
# useradd db2inst1 -m -g db2grp1 -d /home/db2inst1
# passwd db2inst1
Agora o usuário para a execução das funções de usuários (UDFs) e Stores procedures:
# groupadd db2fgrp1
# useradd db2fenc1 -m -g db2fgrp1 -d /home/db2fenc1
# passwd db2fenc1
Para criar a instância do serviço do banco de dados DB2, determinar o usuário dono e o usuário de acesso a instância, utiliza o comando db2icrt como no exemplo abaixo. O comando funcionará apenas se os usuários forem criando anteriormente.
Podemos dizer que uma instância é o ambiente configurável do DB2. Podem existir múltiplas instâncias por máquina e possuem configurações distintas e independentes. Por serem gerenciadas separadamente, podemos parar uma instância de desenvolvimento sem afetar a instância de produção.
# cd /opt/IBM/db2/V8.1/instance/
# ./db2icrt -u db2fenc1 db2inst1
DBI1070I Program db2icrt completed successfully.
Para configurar a porta de utilização, insira as linhas abaixo editando o arquivo /etc/services do Linux. Edite o arquivo:
# vi /etc/services
Insira as seguintes linhas:
Licenciando o DB2: Para ativar o tipo de licença, utilize o comando db2licm e indique a localização do arquivo db2exp.lic
# cd /opt/IBM/db2/V8.1/adm
# ./db2licm -a /neti/install/db2/db2exc_LNX_26x86/db2/license/db2exp.lic DBI1402I License added successfully. DBI1426I This product is now licensed for use as specified in the License Acceptance and License Information documents pertaining to the licensed copy of this product. USE OF THE PRODUCT CONSTITUTES ACCEPTANCE OF THE TERMS OF THE IBM LICENSE ACCEPTANCE AND LICENSE INFORMATION DOCUMENTS, LOCATED IN THE FOLLOWING DIRECTORY: /opt/IBM/db2/V8.1/license/pt_BR.utf8 Para visualizar a configuração da instância, transforme-se em db2inst1 (dono da instância) e execute o comando "db2 get dbm cfg"m que se encontra na pasta /opt/IBM/db2/V8.1/bin, como no exemplo abaixo:
# cd /opt/IBM/db2/V8.1/bin
# su db2inst1
$ ./db2 get dbm cfg
Database Manager Configuration Node type = Database Server with local and remote clients Database manager configuration release level = 0x0a00 CPU speed (millisec/instruction) (CPUSPEED) = 2,243635e-07 Max number of concurrently active databases (NUMDB) = 8 Data Links support (DATALINKS) = NO Federated Database System Support (FEDERATED) = NO Transaction processor monitor name (TP_MON_NAME) = Default charge-back account (DFT_ACCOUNT_STR) = Java Development Kit installation path (JDK_PATH) = /opt/IBMJava2-142 Diagnostic error capture level (DIAGLEVEL) = 3 Notify Level (NOTIFYLEVEL) = 3 Diagnostic data directory path (DIAGPATH) = /home/db2inst1/sqllib/db2dump Default database monitor switches Buffer pool (DFT_MON_BUFPOOL) = OFF Lock (DFT_MON_LOCK) = OFF Sort (DFT_MON_SORT) = OFF Statement (DFT_MON_STMT) = OFF Table (DFT_MON_TABLE) = OFF Timestamp (DFT_MON_TIMESTAMP) = ON Unit of work (DFT_MON_UOW) = OFF Monitor health of instance and databases (HEALTH_MON) = ON SYSADM group name (SYSADM_GROUP) = DB2GRP1 SYSCTRL group name (SYSCTRL_GROUP) = SYSMAINT group name (SYSMAINT_GROUP) = SYSMON group name (SYSMON_GROUP) = Client Userid-Password Plugin (CLNT_PW_PLUGIN) = Client Kerberos Plugin (CLNT_KRB_PLUGIN) = Group Plugin (GROUP_PLUGIN) = GSS Plugin for Local Authorization (LOCAL_GSSPLUGIN) = Server Plugin Mode (SRV_PLUGIN_MODE) = UNFENCED Server List of GSS Plugins (SRVCON_GSSPLUGIN_LIST) = Server Userid-Password Plugin (SRVCON_PW_PLUGIN) = Server Connection Authentication (SRVCON_AUTH) = NOT_SPECIFIED Database manager authentication (AUTHENTICATION) = SERVER Cataloging allowed without authority (CATALOG_NOAUTH) = NO Trust all clients (TRUST_ALLCLNTS) = YES Trusted client authentication (TRUST_CLNTAUTH) = CLIENT Bypass federated authentication (FED_NOAUTH) = NO Default database path (DFTDBPATH) = /home/db2inst1 Database monitor heap size (4KB) (MON_HEAP_SZ) = 90 Java Virtual Machine heap size (4KB) (JAVA_HEAP_SZ) = 2048 Audit buffer size (4KB) (AUDIT_BUF_SZ) = 0 Size of instance shared memory (4KB) (INSTANCE_MEMORY) = AUTOMATIC Backup buffer default size (4KB) (BACKBUFSZ) = 1024 Restore buffer default size (4KB) (RESTBUFSZ) = 1024 Sort heap threshold (4KB) (SHEAPTHRES) = 20000 Directory cache support (DIR_CACHE) = YES Application support layer heap size (4KB) (ASLHEAPSZ) = 15 Max requester I/O block size (bytes) (RQRIOBLK) = 32767 Query heap size (4KB) (QUERY_HEAP_SZ) = 1000 Workload impact by throttled utilities(UTIL_IMPACT_LIM) = 10 Priority of agents (AGENTPRI) = SYSTEM Max number of existing agents (MAXAGENTS) = 200 Agent pool size (NUM_POOLAGENTS) = 100(calculated) Initial number of agents in pool (NUM_INITAGENTS) = 0 Max number of coordinating agents (MAX_COORDAGENTS) = MAXAGENTS Max no. of concurrent coordinating agents (MAXCAGENTS) = MAX_COORDAGENTS Max number of client connections (MAX_CONNECTIONS) = MAX_COORDAGENTS Keep fenced process (KEEPFENCED) = YES Number of pooled fenced processes (FENCED_POOL) = MAX_COORDAGENTS Initial number of fenced processes (NUM_INITFENCED) = 0 Index re-creation time and redo index build (INDEXREC) = RESTART Transaction manager database name (TM_DATABASE) = 1ST_CONN Transaction resync interval (sec) (RESYNC_INTERVAL) = 180 SPM name (SPM_NAME) = SPM log size (SPM_LOG_FILE_SZ) = 256 SPM resync agent limit (SPM_MAX_RESYNC) = 20 SPM log path (SPM_LOG_PATH) = TCP/IP Service name (SVCENAME) = Discovery mode (DISCOVER) = SEARCH Discover server instance (DISCOVER_INST) = ENABLE Maximum query degree of parallelism (MAX_QUERYDEGREE) = ANY Enable intra-partition parallelism (INTRA_PARALLEL) = NO No. of int. communication buffers(4KB)(FCM_NUM_BUFFERS) = 1024 Number of FCM request blocks (FCM_NUM_RQB) = AUTOMATIC Number of FCM connection entries (FCM_NUM_CONNECT) = AUTOMATIC Number of FCM message anchors (FCM_NUM_ANCHORS) = AUTOMATIC Prováveis problemas:
Repare no parâmetro (JDK_PATH) apontando para o JAVA da IBM. Caso você esteja utilizando o JAVA da SUN, altere o path do JDK com o comando abaixo:
$ db2 update dbm cfg using JDK_PATH /usr/lib/SunJava2-1.4.2
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
Nome do serviço TCP/IP deve ser atribuído no parâmetro SVCENAME (o mesmo nome utilizado no arquivo /etc/services). Para gravar o novo nome do serviço, siga o exemplo abaixo:
$ ./db2 update dbm cfg using SVCENAME db2inst1
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
Devemos também definir o protocolo TCP do serviço e ativar a inicialização automática do banco de dados. Com o comando db2set efetuamos esta tarefa:
$ su
# chmod 777 db2set
# exit
$ ./db2set db2comm=tcpip
$ ./db2set DB2AUTOSTART=yes
Para levantar o serviço db2, utilize o comando db2start:
$ ./db2start
SQL1063N DB2START processing was successful.
Pronto, o servidor IBM DB2 está no ar, em funcionamento e pronto para uso.
- Login automático com SSH e Automatização da instalação (deploy) e atualização de sites com GitLinux
- Extensão Sun Presentation Minimizer para Broffice.ORGLinux
- Otimização de Desempenho em sistemas GNU/LinuxLinux
- Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 3Hardware
- Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 2Hardware