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).
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:
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:
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:
db2inst1 50000/tcp
db2inst1_i 50001/tcp
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:
[5] Comentário enviado por welingtond em 08/03/2006 - 21:48h
O Cabelo, como sempre, sem comentários: Nota 10!
Agora, nao consegui instalar .... recebo a seguiinte mensagem:
erro: Failed dependencies:
libc.so.6(GLIBC_2.2) is needed by IBM_db2cliv81-8.1.2-97
/bin/sh is needed by IBM_db2cliv81-8.1.2-97
Estou usando o Slackware 10.1 e o link libc.so.6 aponta para -> libc-2.3.4.so
Alguém passou por isso também ?
[6] Comentário enviado por removido em 10/03/2006 - 00:28h
Temos de dar o maior apoio a IBM são essas iniciativas que vão tornar o linux mais conhecido e confiavel para empresas para que seja usado em outros campos.
[7] Comentário enviado por ricardo_clown em 24/03/2006 - 15:42h
bom tutor, eu tinha fedora 4, penei pra instalar e só consegui em modo texto, depois de atualizar uns "lib" da vida... mas qdo ví que no tutor estavam usando o suse, baixei os 5 cds e instalei, foi uma beleza, modo texto perfeito, porem, na parte "Primeiros passos: E agora, o que fazer?" verifiquei que nao tem o grupo IBM DB2 no meu KDE, e aí? E outra, nao estou conseguindo acessar o DB por um cliente windows, baixei o DB2AdminClient (260MB) e nao consigo achar nada!
[]'s
Ricardo
[10] Comentário enviado por morronix em 27/09/2006 - 18:14h
Cara,Rox esse tuto,entretanto,tenho 1 problema:estou usando o fedora,fiz a instalação de "macho",o banco está rodando,pois vejo o processo dele,mas ao clicar first steps,para criar a database de exmplo,não acontece nada,o mesmo vale para o configuration assistant e para information....o unico ícone que eu clico e abre alguma coisa é o command line processor. eu tentei executar o db2fs(que é o script do first steps) em modo texto,e ele dá a seguinte mensagem
DB2JAVIT : RC =9501
DB2INSTANCE : -2029059916
eu pensei que poderia ser problemas de permissão,entaão eu fui em /opt/IBM/db2/V/8.1/bin e dei permissão 777 pra tudo.também entrei como root na e tentei executar tamb´em o ícone,mas ainda assim não houve nenhuma resposta.gostaria de saber se alguém pode me indicar uma direção para resolver este problema.
gostaria de saber como posso proceder para resolver esse problema...
[11] Comentário enviado por evandroh em 24/03/2007 - 21:51h
Complementando o texto do nosso amigo, pois ele esqueceu de uns detalhes o que da a impressao a quem instala de que a instalação deu errado.
Depois que voce fizer o passo da instalação em texto ou tela, voce deve parar o banco que foi criado.
Abra um terminal konsole e digite :
su - db2inst1 ou o usuario que voce usou para criar a instancia
depois digite
db2stop force
isso vai fazer o banco parar, depois digite
exit para sair
ai voce volta na pasta onde estao os arquivos do db2 e digita:
./db2setup (para criar o client do banco)
vai aparecer a tela de instalação do banco de dados novamente, voce vai ver que desta vez ela tem menos opções e a opção de instalação é de mais ou menos 10megas, instale....é facil para quem ja fez a instalação inicial.
depois abra um novo terminal konsole e digite:
su - db2inst1 (ou usuario da instancia)
db2start
Agora vem o macete.
Agora voce deve abrir uma nova seção do linux só que usando o usuario db2inst1, voce vai ver que o menu da IBM ja esta la no menu iniciar.
Abra um terminal konsole e digite
db2fs (vai abrir um outro instalador, va em creat sample database ou banco de dados de usuario e divirta-se.
[12] Comentário enviado por marciods em 09/06/2009 - 11:13h
Opa otimo tuto, revivendo esse topico tenho uma grande duvida como eu uso o gnome ja fiz todos os procedimentos para aparecer o ibm no menu mais nao resultou em nada poderiam de auxiliar, alguem que ja teve essa dificuldade,
[13] Comentário enviado por Aleh em 11/10/2009 - 19:59h
Boa Noite!
Eu estou tendo uma problema ao instalar DB2 Express-C 9.7 no Ubuntu 9.04.Eu segui os passos que foi ensinado nesse artigo,que por sinal está muito bom e é de grande ajuda, mas o problema é o seguinte, quando eu tento listar o arquivo de configuração "CFG" ele da um erro que eu demonstrei abaixo.Como eu sou iniciante no linux, eu estou quebrando um pouco a cabeça e ainda não descobrir qual o motivo desse erro.Pesquisei em alguns sites e não conseguir obter nenhuma ajuda pertinente.
root@alessandro-desktop:/opt/ibm/db2/V9.7/bin# su db2inst1
$ ./db2 get dbm cfg
SQL10007N Message "-1390" could not be retrieved. Reason code: "3".
$
Obrigado,e aguardo uma ajuda dos colegas com relação a esse problema.
[16] Comentário enviado por elias_ric em 04/11/2010 - 20:34h
Olá cabelo show de bola seu artigo, muito legal.Porém após ter instalado tudo inclusive o banco sample, fui ao centro de controle e não aparece o banco sample e não aparece nenhum que eu crio na mão ou no control center, é estranho alguém pode me ajudar pois isto deu no Debian, SUse e ubunto.Todos com Firefox instalado deu a mesma coisa.
[17] Comentário enviado por deivimendes em 25/08/2013 - 21:56h
Muito bom seu artigo Cabelo!!
Mas é seguinte sou iniciante no Linux estou usando atualmente o openSuse 12.2.
Não consegui completar a instalação. Na hora de criar a instancia do db2 recebo o erro de que meu hostname é inválido. Já tentei mudar para vários outros nomes mas não da certo de jeito nenhum. No modo gráfico a mensagem é essa:
"The host name 'quanticaservidor' is invalid. Ensure the host name resolves to a valid ip address. Specify a valid host name and rerun the command".
E no modo MACHO:
quanticaservidor:/opt/ibm/db2/V10.5/instance # ./db2icrt -u db2fenc db2davi
DBI1446I The db2icrt command is running.
DB2 installation is being initialized.
The host name "quanticaservidor" is invalid. Specify a valid host name.
A major error occurred during the execution that caused this program to
terminate prematurely. If the problem persists, contact your technical service
representative.
For more information see the DB2 installation log at "/tmp/db2icrt.log.26981".
DBI1264E This program failed. Errors encountered during execution were
written to the installation log file. Program name:
db2icrt. Log file name: /tmp/db2icrt.log.26981.
Explanation:
This message is returned when some processes and operations have failed.
Detailed information about the error was written to the log file.
User response:
Contact IBM support to get assistance in resolving this issue. Keep the
log file intact as this file is an important reference for IBM support.
Related information:
Contacting IBM Software Support
Gostaria de um help ai pois não toh dando conta mano vei!