Introdução
Resolvi escrever esse tutorial em decorrência da falta de conteúdo em português sobre esse excelente banco de dados relacional. Embora a ênfase seja o uso do banco em sistemas Linux, prucurarei cobrir a instalação em sistemas Windows.
A versão do Sybase atualmente utilizada é a Sybase Adaptive Enterprise 15.0 Express Edition. Essa versão é gratuita para desenvolvedor com a limitação de 5 Gb de disco, 2 Gb de RAM e um único processador. Ela pode ser instalada em máquina com uma configuração superior, mas o SGBD só irá reconhecer até esse limite.
Para configurar a máquina, primeiro é necessário baixar a última versão do banco, disponível em Sybase. Após baixar o arquivo, descompacte-o em uma pasta previamente criada e execute o aplicativo setup na linha de comando. Se não tiver o modo gráfico do Linux instalado, é preciso executa com o prefixo –console para fazer funcionar o instalador. A instalação é simples, bastando seguir as instruções.
Criação do banco
Antes de criar o banco de dados no Linux, é preciso que tenha instalado dois pacotes. Nas distribuições Mandriva, Debian e Ubuntu, esses pacotes não são instalados por default e o Sybase não pede explicitamente, por isso é interessante ressaltá-los.
- libaio1 – biblioteca para IO assíncrona
- libstdc++5 – biblioteca padrão c++. Geralmente as distribuições instalam a vesão mais nova, mas esse pacote pode ser instalado normalmente que o sistema não conflita com outras versões.
Antes de criar o banco, é preciso alterar algumas configurações do sistema operacional Linux.
1 – Memória compartilhada do kernel
O limite padrão de memória compartilhada (tanto SHMMAX quanto SHMALL) é de 32 MB nos núcleos 2.2, mas pode ser modificado no arquivo de sistema proc (sem reinicializar o Linux). Por exemplo, para permitir 128 MB:
$ echo 134217728 >/proc/sys/kernel/shmall
$ echo 134217728 >/proc/sys/kernel/shmmax
Estes comandos podem ser colocados em um script executado durante a inicialização.
Como alternativa, pode ser utilizado sysctl, se estiver disponível, para controlar estes parâmetros. Deve-se procurar pelo arquivo chamado /etc/sysctl.conf e adicionar linhas como as mostradas abaixo ao arquivo:
kernel.shmall = 134217728
kernel.shmmax = 134217728
Este arquivo geralmente é processado durante a inicialização, mas sysctl também pode ser chamada explicitamente posteriormente.
2 – Habilitar o teclado no aplicativo asecfg
Com as versões em português, o aplicativo gráfico que cria o database tem um bug que o teclado não funciona. Para corrigir, é preciso criar um link simbólico na pasta /usr/X11R6/lib/X11
ln -s /usr/share/X11/XKeysymDB XKeysymDB
Instalação do servidor Sybase
- Crie uma pasta “instsybase” na máquina
- Copie o arquivo ase1502_xe_linux.tgz pra dentro dela
- De dentro da pasta, descompacte o arquivo utilizando a linha de comando: tar -xzvf ase1502_xe_linux.tgz
- Remova arquivo compactado: rm ase1502_xe_linux.tgz
- Execute o arquivo setup: ./setup
- Deve aparecer uma tela semelhante à imagem abaixo:
- Clicando em Next ele irá perguntar o banco desejado. O tipo de banco pode ser:
- Adaptive Server Enterprise for evaluation: não possui limites de tamanho, usuário ou memória. Tem validade de 30 dias após a instalação e só deve ser utilizado para testes.
- Adaptive Server Enterprise (Developer Edition): é a versão para desenvolvedores. Não possui limitação de tamanho ou memória, mas só permite no máximo 25 conexões simultâneas. Sua licença não permite o uso comercial.
- Adaptive Server Enterprise (Express Edition): é a versão gratuita para uso comercial. Não tem limitação de usuários, mas permite somente 5 Gb de espaço em disco e 2 Gb de memória RAM.
Independente de qual tipo de banco escolhido, as próximas configurações são as mesmas.As próximas instruções são intuitivas e não devem representar problemas. É recomendável que a instalação seja feita em uma partição separada da partição do sistema operacional por medidas de segurança. Um diretório comum para esse tipo de instalação é o /opt
No final da instalação, ele irá perguntar se você deseja configurar emails de alerta. Selecione No. Se desejar, você poderá configurar depois de instalado o sistema.
A próxima etapa é criar o novo servidor de banco de dados. Selecione apenas o primeiro item, conforme a figura abaixo:
Como selecionamos apenas o servidor de banco, a próxima etapa ficará assim:
A tela mais importante é a última, onde irá perguntar as opções do banco. Você pode criar o servidor agora ou pular essa etapa e criar o banco depois com o aplicativo asecfg
- Adaptive Server Name: nome do servidor de banco de dados. Esse nome será usado nas conexões ao banco. Não pode conter caracteres especiais e nem começar com números.
- Port Number: porta de comunicação que o banco usará para conexão com outras aplicações
- Error Log: arquivo onde serão gravados as mensagens de erro de inicio, fim e conexões com o banco. Não confundir com o arquivo de log do banco, onde são registrados todas as transações.
- Page Size: tamanho da página de código utilizada para gravação e leitura de dados. Se as tabelas possuirem poucas colunas e o volume de dados for pequeno, dê preferência para tamanho penqueno (ex: 2k). Se o banco possuir tabelas grandes e com muitas colunas, onde a necessidade de leituras for intensa, escolha um número de página maior. O menor volume de dados que um banco pode carregar em uma operação de leitura é o tamanho de página. Se um registro buscado for maior que a página, o banco precisará de dois acessos a disco para efetuar a leitura, o que degrada em muito a performance.
- Master device: arquivo que conterá as tabelas de sistema e estrutura do banco.
- Master device size: tamanho inicial para o master device. Esse tamanho pode ser alterado a qualquer momento no banco de dados.
- Master database size: tamanho alocado para as informações da estrutura específica do banco de dados e não do servidor.
- System procedure device: arquivo que conterá as procedures internas do sistema
- System procedure device size: similar ao master device size, só que para o System procedure device
- System procedure database size: similar ao master database size, só que para o System procedure device
- System device: arquivo que conterá as informações sobre os dispositivos. Em um banco de dados de grande porte pode ter vários devices configurados de diversas maneiras
- System device size: similar ao master device size, só que para o System device
- System database size: similar ao master database size, só que para o System device