A mágica dos bancos de dados
A economia mundial espera por uma explosão do e-commerce para breve e, preparando-se para a nova fase, as empresas se empenham em avaliar os bancos de dados mais famosos do mercado, uma vez que seus negócios dependerão vitalmente deles. Performance, estabilidade, sistema de licenças, escalabilidade, suporte corporativo e qualidade da mão-de-obra são alguns dos tópicos estratégicos e que podem significar um diferencial importante perante a concorrência. A RdL começa nessa edição
a apresentar uma série de artigos que analisarão as características dos principais títulos nessa área.
Oracle
Como o Linux é o sistema operacional que mais cresce no mundo, não era de se estranhar que as grandes empresas de software decidissem portar seus produtos para a plataforma. A Oracle iniciou o processo de adaptação para
o Linux após verificar uma gigantesca demanda no mercado, por ser este sistema uma alternativa mais estável e de menor custo.
Vantagens
As vantagens do banco de dados da Oracle sobre a concorrência são inúmeras. O Oracle conta com uma base instalada de milhares de usuários. Isto acabou por criar uma enorme comunidade. Estes usuários têm o costume de trocar informações, facilitando a tarefa de resolução de problemas.
Além disso, tecnologicamente o Oracle não tem paralelo no mundo, dando suporte, por exemplo, a:
- Data Warehousing: o Oracle 8i torna simples a criação e manutenção de data warehouses. A versão 8i trouxe maior desempenho, melhor utilização de recursos, maior capacidade de análise de dados e maior transparência na otimização de consultas.
- Segurança: a Oracle Internet Platform protege o banco de ataques via Web sem prejudicar a disponibilidade de informações e desempenho.
A Virtual Private Database (VPD) do Oracle oferece uma separação segura dos dados dentro da base. A VPD garante que os usuário somente tenham acesso àqueles dados pertinentes às suas atividades.
O banco permite que os dados sejam encriptados dentro do banco de dados. Isso torna possível esconder dados até mesmo do DBA e de superusuários. Além disso, o Oracle 8i ainda pode encriptar os dados quando estes trafegam pela rede, evitando que sejam interceptados.
Com as auditorias avançadas,
pode-se acompanhar toda a atividade dos usuários na base de dados,
e responsabilizá-los por suas ações.
Além disso, o Oracle 8i é o único banco de dados comercial com certificação de segurança FIPS 140 Nível 2,
a mais alta certificação da classe.
- Desenvolvimento: o Oracle contém um arquitetura completa para desenvolvimento de aplicações cliente/servidor ou baseadas na Web. Ele aposta na linguagem Java como padrão para desenvolvimento, trazendo uma máquina virtual totalmente compatível com as especificações da Javasoft e vários
wizards para desenvolvimento de aplicações em Java de maneira rápida. Além do Java, é possível o desenvolvimento de aplicações utilizando outras linguagens, inclusive o PL/SQL e o Pro*C, ambos da Oracle.
- Integração de Aplicações: muitas vezes surge a necessidade de um
sistema distribuído. Por exemplo, quando se quer acessar várias bases de dados em ponto geográficos isolados ou ainda melhorar o desempenho dividindo dados de maneira descentralizada. O Oracle 8i tornou simples a tarefa de criação deste tipo de
aplicação.
- Alta Disponibilidade: segundo a Oracle, a disponibilidade e confiabilidade do banco de dados era o principal objetivo durante o desenvolvimento do 8i. O banco pode fazer uma manutenção programada e recuperar-se de ações erradas de usuários.
- Stored Procedures: o Oracle 8i suporta a programação de stored procedures em Java e em PL/SQL. Isso permite ao programador centralizar grande parte do código no próprio banco de dados, aumentando o desempenho do sistema.
- Triggers: os triggers permitem
uma série de possibilidades interessantes. Com eles é possível programar o banco de dados para realizar uma ação quando alguma condição for satisfeita.
Desvantagens
Encontrar as desvantagens do banco mais popular que existe não é uma tarefa das mais simples, já que ele é um
dos bancos mais completos do mundo. Porém, podemos citar algumas:
Instalação Complexa: a instalação
do Oracle 8i para Linux é complexa e extremamente demorada. A documentação da instalação é um tanto confusa.
Exigência do X Instalado: uma das maiores queixas quanto à instalação do Oracle 8i é sua instalação gráfica. Como o Oracle é normalmente instalado em servidores, onde, muitas vezes, não há o interesse de interfaces gráficas, obrigar os administradores a instalarem o X é algo desagradável.
Software Proprietário: a maior
desvantagem do Oracle 8i é não ser um software livre. Ele também tem
um custo bastante alto de licenças em comparação com outros bancos.
O Futuro
A próxima versão do Oracle promete inovações revolucionárias. Entre elas está a utilização de um sistema de arquivos próprio. Ou seja, os dados serão gravados de forma crua diretamente em disco, sem a intervenção do sistema operacional. Espera-se que isto aumente o desempenho do sistema.
PostgreSQL
No mundo do software livre o banco de dados PostgreSQL é um dos mais avançados. Em 1998 foi fundada a PostgreSQL, Inc., empresa dedicada a promover o desenvolvimento de aplicações open source de bancos de dados e oferecer suporte, treinamento e certificação no banco de dados PostgreSQL.
Vantagens
O PostgreSQL é bastante avançado, suportando a maioria das características esperadas em um sistema gerenciador de bancos de dados moderno:
- Stored Procedures: o PostgreSQL tem suporte à criação de stored procedures em PL/pgSQL, PL/Tcl e PL/perl. Usando stored procedures o programador pode realizar um grande número de operações dentro do próprio banco, aumentando o desempenho geral da aplicação.
- Altamente Extensível: o PostgrSQL possui uma característica bastante interessante que é a possibilidade de se utilizar operadores, tipos de dados, estruturas e métodos de acesso definidos pelo usuário (o programador do sistema).
- Banco de Dados "Relacional a Objetos": o banco de dados possui algumas características de orientação
a objetos, como herança, por exemplo. Por isso, o PostgreSQL é, por vezes, chamado de banco de dados "relacional a objetos" e não só um banco de dados relacional.
- Características de Bancos Relacionais: quase todas as características esperadas em um banco de dados relacional são encontradas no PostgreSQL, como consultas declarativas em SQL, otimizações de consultas, controle de concorrência, transações e multiusuário.
- Integridade Referencial: é uma
característica da última versão do
PostgreSQL. O banco de dados agora suporta a integridade referencial de dados, característica muito útil que antes não era implementada.
- Instalação Simples e Rápida: a instalação do PostgreSQL é extremamente simples, especialmente para os usuários de gerenciadores de pacotes como
RPM ou DEB. A configuração do banco também é bastante intuitiva e rápida.
Livre: o PostgreSQL é um software livre com todas as vantagens que isso acarreta.
Além das características supracitadas, uma outra característica interessante sobre o PostgreSQL é sua arquitetura. O PostgreSQL usa um modelo cliente/servidor de um processo por usuário. Cada sessão do PostgreSQL usa três processos UNIX: o postmaster, que é responsável pelo gerenciamento da comunicação entre os processos e por executar a inicialização; o postgres, que é responsável pela execução das consultas e é inicializado pelo postmaster e sempre executa no servidor,
e a aplicação cliente (que geralmente executa em uma estação), que requisita uma conexão ao postgres através
do postmaster.
Desvantagens
O PostgreSQL é um produto em desenvolvimento constante, mas ainda existem algumas características não-implementadas. Isto pode ou não ser uma desvantagem, dependendo do tipo de aplicação desejada. Entre as características não-implementadas, está a impossibilidade da criação de outer joins, limitação que, embora possa ser superada pelo programador com um pouco de criatividade, é bastante desagradável. Ele também não tem várias opções encontradas em outros bancos, como capacidade de replicação, backup, recuperação de falhas e otimizações avançadas.
O Futuro
O time de desenvolvimento do
PostgreSQL e a PostgreSQL, Inc. estão empenhados em implementar todas
as características de bancos de dados relacionais no PostgreSQL. A última versão do banco já chegou bastante próximo disso, as próximas deverão implementar estas características e iniciar a inclusão de características próprias mais avançadas.
Interbase
A Borland/Inprise é mais uma das grandes empresas de software que decidiram se aventurar no mundo
do software de código aberto. A
empresa decidiu liberar os fontes
de seu banco de dados, o Interbase, para a comunidade.
Vantagens
O Interbase é um servidor de banco de dados bastante completo e profissional. Foi alardeado que sua chegada ao mundo do software de código aberto iria destruir os bancos de dados livres já existentes. Embora isso seja um tanto exagerado, até porque os usuários dos bancos PostgreSQL e MySQL são quase religiosos quanto ao assunto, o Interbase tem mesmo condições de firmar-se como um líder no mercado. Entre suas qualidades, podemos citar:
Código Aberto: embora o Interbase não seja um software livre, ele tem código aberto, o que traz diversas vantagens, como a garantia de que o software terá seus bugs corrigidos com maior rapidez e que estará sempre disponível, mesmo que a Inprise/Borland deixe de existir.
- Controle de Concorrência: o Interbase implementa uma arquitetura de versões, o que faz com que uma operação de leitura jamais possa bloquear uma escrita.
- Total Compatibilidade com ANSI SQL-92: isso faz com que seja mais simples portar consultas e funções de e para outros bancos de dados.
- Suporte Total a UNICODE: pode-se guardar dados em qualquer idioma e alfabeto sem a preocupação com páginas de código necessárias em outros bancos.
- Arquitetura Multi-Threading: como o servidor de banco é implementado com múltiplas threads de execução, ele pode tirar grande proveito de ambientes multiprocessados, aumentando muito o desempenho.
- Auto-Ajustável: o Interbase é auto-ajustável, isto é, ele se configura de acordo com a necessidade para maior desempenho automaticamente. Não
é necessário configurar dezenas de
opções, pois o próprio banco se otimiza.
- Instalação Rápida: a instalação
ocorre em poucos minutos e é bastante simples. Além disso, o Interbase não ocupa muito espaço em disco, ao contrário de outros bancos.
- Triggers: a implementação de
triggers permite que sejam estabelecidas regras para os dados do banco.
- Stored Procedures: o uso de stored procedures, funções implementadas dentro do próprio banco de dados, encoraja o desenvolvimento modular dos sistemas e aumenta o desempenho das aplicações, já que os procedures são executados no próprio servidor.
- Sombra: o banco pode manter uma "sombra", isto é, uma cópia exata de si mesmo mantida pelo servidor. Esta cópia pode ser utilizada para recuperação de falhas de hardware, por exemplo.
- Suporte a Tipos Binários: é possível guardar dados binários como som, vídeo e imagens dentro do banco.
- Suporte a Arrays Multidimensionais: o banco disponibiliza suporte nativo a arrays multidimensionais utilizados em aplicações científicas e financeiras. Um único campo do banco pode guardar um array de até 16 dimensões, simplificando o desenvolvimento e aumentando o desempenho destas aplicações.
Desvantagens
A Inprise/Borland decidiu manter
o controle sobre o nome "Interbase"
e sobre a documentação do banco de dados. Isso acabou por atrapalhar os desenvolvedores que desejavam trabalhar no produto. Como a Inprise/Borland continuamente tem enfurecido os desenvolvedores com decisões que restringem a liberdade dos mesmos, um novo projeto está sendo criado utilizando os fontes do Interbase. Este projeto chama-se Firebird e tudo indica que ele será um banco de dados bastante poderoso no futuro, baseado no Interbase.
O Futuro
Com a abertura do código-fonte, o Interbase deverá evoluir bastante nos próximos anos.
Oracle: instale e configure
Navegando pela Internet, podemos achar vários HOWTOs para instalar e configurar o Oracle. Depois de árduas pesquisas, constatamos que, em sua maioria, esses HOWTOs ou estão
incompletos ou contêm tantos erros que torna-se impossível instalar o
Oracle em ambientes Linux por
meio deles.
Apresentamos um novo HOWTO,
o qual acreditamos ser o mais completo, pois foi embasado em uma série
de instalações executadas e no conhecimento adquirido através da compilação de fragmentos (corretos) de outros documentos. Para aferir este trabalho, solicitamos a um usuário, que apesar de ter bons conhecimentos em Linux nunca teve muito contato com o universo de bancos de dados relacionais, para que fizesse uma instalação do Oracle 8i iniciando do zero, seguindo os passos que estão publicados neste artigo. Ele reinstalou até mesmo o
Linux, no caso o Conectiva Linux
(todos os pacotes). Apesar de estar utilizando uma máquina com menor capacidade do que a recomendada, a instalação fluiu tranqüilamente.
A versão que iremos instalar é a 8.1.5, que vem junto com a distribuição 5.0 da Conectiva (CD número 5).
O texto descreve, ainda, passos para
a instalação a partir do CD original
da Oracle.
A instalação do Oracle é um
tanto quanto complexa, portanto
vamos dividi-la em 8 etapas, a seguir relacionadas:
- Verificar pré-requisitos de hardware e software;
- Fazer downloads, se necessário;
- Tarefas executadas como o usuário "root";
- Tarefas executadas como o usuário "oracle";
- Instalar o Oracle 8i;
- Aplicar "patches";
- Criar um banco de dados inicial;
- Testar a conexão ao banco de dados.
Então, mãos à obra!
Verificar pré-requisitos de Hardware e Software
O Oracle não é exatamente um programa leve, principalmente se for feita uma instalação completa, e o hardware mínimo recomendável é o seguinte:
- Processador Intel Celeron 466Mhz ou compatível (SMP desejável)
- 128Mbytes de memória (256Mbytes desejável)
- 4Gbytes de disco disponível (SCSI desejável)
- Placa de rede (100Mbit/s desejável)
Esses requisitos de hardware podem aumentar, dependendo do tamanho
e da quantidade das bases de dados que serão implementadas. Quanto ao software, é preciso verificar algumas configurações do Linux:
- A memória é o "calcanhar de Aquiles" dos bancos de dados, eles são verdadeiros devoradores de RAM. Quanto maior a quantidade de memória disponível, maior o espaço ocupado pelos processos dos bancos de dados, pois o desempenho deles está diretamente ligado a isto. Para se ter uma idéia, só o instalador necessita de 200Mbytes (real ou virtual) para executar. Lembre-se de que, ao contrário da crença popular, as partições de SWAP do Linux podem ter mais do que 128Mbytes. Tenha, pois, muito cuidado e critério ao definir a área de SWAP para a sua aplicação específica.
- Não é um pré-requisito, mas é extremamente interessante que o banco de dados seja instalado em uma partição própria, de preferência em disco(s) separado(s), para aumentar o desempenho, diminuindo assim o tempo de latência, por exemplo.
- Ter instalado algum gerenciador de janelas. Dê preferência aos mais "leves" como o icewm ou o blackbox, por motivos de economia de memória.
- Se seu equipamento possuir mais do que 64Mbytes de memória e você vai instalar um banco de dados pesado, você deverá preocupar-se com a configuração do parâmetro SHMMAX do kernel, que referencia a quantidade de memória compartilhada ("shared memory") máxima a ser disponibilizada. Recomendo que este parâmetro seja modificado apenas se REALMENTE for necessário, pois isto demanda uma recompilação do kernel (processo este que não é explicado neste artigo).
Uma vez decidida a alteração siga os seguinte passos:
# cd /usr/src/linux/include/asm
# vi shmparam.h
- Procure pela ocorrência de SHMMAX. Esta entrada deve estar da seguinte forma na distribuição da Conectiva:
#define SHMMAX 0x2000000
/* max shared seg size (bytes) */
O valor 0x2000000 é a notação hexadecimal para 32Mb. Altere este valor para o desejado. Por exemplo, para um equipamento com 128Mb., a Oracle recomenda que este parâmetro seja alterado para 0x4000000, ou seja, um pouco mais do que 64Mb. A seguir estão algumas das possíveis configurações:
0x4000000 = 64 Mb
0x6000000 = 96 Mb
0x8000000 = 128 Mb
- Salve o arquivo e recompile o kernel.
- Propositadamente, foi utilizada
uma configuração menor que a recomendada:
-
Processador AMD de 450Mhz
- 96Mb. de memória
- 3Gb. de disco particionado da seguinte forma:
- Ponto de montagem / = Partição
- de 1.7Gb
- Ponto de montagem /u01 (Banco
de Dados) = 1Gb
- Área de SWAP = 256Mb
Observe que a partição montada em /u01 abriga tanto o aplicativo Oracle quanto as bases de dados. Para maior desempenho, podem ser criadas partições separadas para cada um.
Downloads (se necessário)
Instalar o Oracle 8i requer um ambiente com "RunTime Java" (JRE). A má notícia é que algumas distribuições (inclusive a Conectiva Linux) não vêm com a versão correta para o Oracle 8i. A boa notícia é que ele é de fácil obtenção e instalação. Vejamos como:
- Faça login como usuário root e utilize um "browser" para ir até www.blackdown.org
- Clique no link downloads.
- Escolha um site FTP que esteja mais próximo geograficamente de você.
- O arquivo a ser procurado é o jre_1.1.6-v5-glibc-x86.tar.gz. NÃO faça download de nenhuma versão que não seja esta (mesmo se encontrar uma mais recente). Para chegar até o arquivo siga os seguintes links: JDK-1.1.6/i386/glibc/v5.
- Faça download deste arquivo em
/usr/local.
- Abra uma janela terminal. Agora descompacte o arquivo e crie um link simbólico. Para tal execute os seguintes comandos:
# cd /usr/local
# tar -xzvf jre_1.1.6-v5-glibc-x86.tar.gz
# ln -s /usr/local/jre116_v5
/usr/local/jre
- Pronto, seu "Java Runtime Enviroment" está instalado.
Será necessário fazer download
de alguns "patches" do site técnico
da Oracle, portanto siga os seguintes passos:
- Vá até technet.oracle.com
- Se você não está registrado neste site, faça isso agora. É gratuito e um bom site para suporte.
- Clique no botão SOFTWARE.
- No menu SELECT A PRODUCT
escolha a opção 8i ENTERPRISE
EDITION, mesmo se estiver instalando a versão standard. O conjunto de
patches é o mesmo.
- Entre com seu nome de usuário
e senha quando solicitados.
- Selecione o produto desejado na tela seguinte.
- Aceite os termos da licença (obviamente...).
- Finalmente, o arquivo que você está procurando é o linux_815patches.tgz.
- Grave-o no diretório /root, pois nós iremos precisar dele após a instalação do Oracle.
Tarefas do usuário root
- Faça login como usuário root.
- Em modo gráfico (utilize o gerenciador que mais lhe agradar, utilizamos
o IceWM), e se não possuir uma janela terminal aberta, abra uma.
- Na janela terminal, crie o grupo
e a conta para o Oracle:
# groupadd dba
# useradd oracle -g dba
# passwd oracle
- Agora devemos mover o arquivo de patches do Oracle para o diretório do usuário oracle, e mudar as permissões para que o oracle possa manipulá-lo mais tarde:
# mv ~/linux_815patches.tgz
/home/oracle
# chown -R oracle.dba /home/oracle/linux_815patches.tgz
- Faça logout.
- 9; Faça login como o usuário oracle.
Tarefas do usuário oracle
- Se você não tem uma janela terminal, abra uma;
- Verifique se o umask é 022:
$ umask
- Se for, tudo bem, se não, você terá que editar o arquivo /home/oracle/.bash_profile e incluir a seguinte linha:
umask 022
- Ainda no /home/oracle/.bash_profile, inclua as seguintes linhas:
#
# Definições para o Oracle:
#
ORACLE_HOME=/u01/app/oracle/product/8.1.5
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=ORCL
export ORACLE_HOME ORACLE_BASE ORACLE_SID
NLS_LANG=english_united kingdom.we8iso8859p1'
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_TERM=vt100
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG ORA_NLS33 PATH LD_LIBRARY_PATH
#
# Definições para o JAVA:
#
export JAVA_HOME=/usr/local/jre
export PATH=$JAVA_HOME/bin:$PATH
Atenção: as variáveis ORACLE_HOME e ORACLE_BASE devem conter respectivamente os caminhos para a instalação do produto Oracle e para a instalação do banco de dados Oracle, assim como a variável NLS_LANG deve conter a língua desejada e a ORACLE_SID o nome da
instância. Neste exemplo, estamos considerando que Oracle vai estar
instalado em uma partição com ponto de montagem em /u01, e a instância terá o nome de ORCL.
- Tenha certeza também de que os diretórios /bin, /usr/bin, /usr/local/bin constam em sua variável PATH no arquivo /home/oracle/.bash_profile.
- Outra importante tarefa é garantir que o ponto de montagem onde o
Oracle será instalado tenha o dono
e o grupo certos:
$ su root (entre a senha)
# chown -R oracle.dba /u01
(assumindo que u01 é o ponto de montagem)
# exit
Agora poderemos começar a instalar o Oracle.
Instalação do Oracle 8i
- Se o seu drive de CD não estiver montado quando você logar novamente, certifique-se de que o CD com o Oracle 8i está no drive. Então, use uma janela terminal para montá-lo com os seguintes comandos:
$ su root (entre com a senha)
# mount -r -t iso9660 /dev/cdrom
/mnt/cdrom
# exit
Instruções para o CD n°5 do Conectiva Linux 5.0
Se você estiver utilizando o Oracle fornecido no CD n° 5 do Conectiva Linux 5.0, siga os passos abaixo. Não siga os passos (1) a (3) se você estiver utilizando o CD original da Oracle!
- Como usuário ROOT, crie um
diretório temporário:
# cd /var/tmp
# mkdir oracleinst
# cd oracleinst
- Descompacte o Oracle:
# tar -xvzf /mnt/cdrom/Oracle8i/815ship.tgz
- Mude para o diretório do instalador:
# cd install/linux
Instruções para o CD original da Oracle
Se você estiver utilizando o cd
original da Oracle siga os passos abaixo. Não execute o comando abaixo se você estiver utilizando o CD n°5 do Conectiva Linux 5.0!
- Mude para o diretório do instalador:
# cd /mnt/cdrom/install/linux
./runIns.sh
- Uma janela GUI é mostrada.
BEM-VINDO AO INSTALADOR JAVA DO ORACLE!
- Clique no botão Próximo.
- Verifique se o caminho da origem
é [ponto de montagem]/stage/products.jar; no nosso exemplo seria
o /u01/stage/products.jar.
- O destino deve ser igual ao conteúdo de sua variável $ORACLE_HOME.
- Clique no botão Próximo.
- Se esta for a primeira instalação neste computador, o instalador perguntará onde deverá ser gravado um diretório base para o inventário, que no nosso exemplo seria /u01/app/oracle/oraInventory.
- Clique no botão Próximo.
- Nesta próxima tela, o grupo a ser informado deve ser dba. Clique em Próximo.
- Uma janela irá aparecer pedindo para que o script orainstRoot.sh seja executado. Em uma nova janela de terminal, faça o seguinte:
$ su root (entre com sua senha)
# cd /tmp/orainstall
# ./orainstRoot.sh
# exit
$ exit
- Volte à janela do instalador e clique no botão "Tentar Nova..."
- Será apresentada então a janela
para seleção dos produtos disponíveis. Selecione a primeira opção Oracle8i Enterprise Edition 8.1.5 e clique em Próximo.
- Na próxima tela, selecione a opção Personalizado e clique em Próximo. A esta altura você já percebeu que o produto tem algumas telas em português e outras em inglês... (?) hummmm... Cest la vie.
- Nesta nova tela estarão os produtos disponíveis para instalação. Você pode muito bem deixar do jeito que está, mas se preferir pode desativar a seleção do Oracle Intermedia, que é um módulo ainda não estável.
- O instalador perguntará agora se você deseja criar um banco de dados. Selecione Não e clique em Próximo.
- Finalmente é apresentada uma tela com o sumário da instalação a ser
executada.
- Alguns HOWTOs informam que há um bug neste ponto. O instalador informa que não há espaço disponível em disco para a instalação, apesar de haver. Nunca ocorreu comigo. Caso venha a ocorrer, o recomendado é simplesmente ignorar esta informação e prosseguir.
- Clique no botão Instalar
e será iniciada
a instalação! Woo-woo!
- Depois que os arquivos forem copiados, o instalador apresentará uma mensagem pedindo uma nova
intervenção do usuário para rodar
o script root.sh.
Em uma nova janela de terminal, siga os seguintes passos:
$ su root (entre coma senha)
# cd $ORACLE_HOME
# chmod 744 ./root.sh
(dando
permissão de execução ao script)
# ./root.sh
Quando ele perguntar o caminho do seu diretório local bin, simplesmente pressione a tecla ENTER.
# exit
$ exit
Na janela, confirme clicando
em OK.
- O Assistente de Configuração de Banco de Dados (Oracle Database
Configuration Assistant) iniciará.
- Não se desespere se receber uma janela reportando erro com uma
mensagem começando com Exceção de JNLS. Ignore. Clique em OK.
- Quando o "Database Configuration Assistant" abrir, clique no botão
Cancelar.
- Confirme que você realmente quer sair na próxima janela.
- Agora você receberá uma mensagem dizendo que a instalação de uma ou mais ferramentas falhou. Ignore novamente. Clique em OK.
- Clique no botão Próximo.
- A tela de Fim da Instalação aparecerá. Clique em Sair e confirme.
Agora nós teremos que trocar as permissões de alguns arquivos e aplicar o patch.
Aplicando os Patches no Oracle 8i
O script linux.sh troca a permissão de alguns arquivos, portanto é importante utilizar o MESMO TERMINAL para aplicar o patch após rodar o script.
ATENÇÃO: os pacotes de desenvolvimento têm que estar instalados, pois serão utilizados comandos de compilação (como o make, por exemplo).
Execute os seguintes comandos:
$ cd $ORACLE_HOME/install/utl
$ ./linux.sh
- Após encerrado o script NÃO FECHE A JANELA TERMINAL. Execute os seguintes comandos para aplicar o patch:
$ cd ~
$ tar -xzvf linux_815patches.tgz
$ cd linux_815patches
$ ./linux_815patches.sh
- Você receberá algumas mensagens dizendo que o patch está sendo aplicado. Ignore a mensagem final dizendo que você precisa se conectar aos executáveis do Intelligent Agent.
Uma vez aplicados os patches,
estamos prontos para a criação do primeiro banco de dados do sistema.
Criando o Banco de Dados
Agora iremos criar nosso banco de dados inicial. Isso pode levar um bom tempo. No meu ambiente de trabalho, por exemplo, levou aproximadamente uma hora e meia.
- Na sua janela terminal, como usuário oracle, entre com o seguinte comando:
$ dbassist &
-
Novamente ignore a mensagem de erro Exceção de JNLS... clicando OK.
- Selecione Criar um banco de dados e clique no botão Próximo (veja figura 4).
- Selecione a opção Personalizado e novamente clique no botão Próximo.
- Aceite as opções das próximas quatro telas, apenas teclando o botão Próximo. Pare na tela que pede o Nome do Banco de Dados Global.
- Entre então o nome que identificará este Banco de Dados utilizando até oito caracteres. O seu SID (instância) deve ser igual ao selecionado anteriormente em suas variáveis de ambiente (no arquivo /home/oracle/.bash_profile). Feito isso, clique em OK.
- Novamente, aceite as opções padrão das próximas seis telas até chegar na tela que pede a confirmação para criação do Banco de Dados.
- Certifique-se de que a opção de criação do Banco de Dados está selecionada, e confirme clicando no botão Finalizar.
- Confirme que você deseja prosseguir clicando no botão OK.
- Se estiver com fome, é uma boa hora para fazer um lanche, senão assista um pouco de televisão. Como disse antes, este processo é um pouco demorado.
- Quando a criação do Banco de Dados finalizar, você receberá uma mensagem avisando. Clique no botão OK e vamos passar para as tarefas de pós-instalação.
- Como o instalador gera um tráfego extremamente intenso em disco, notei que em algumas instalações alguns bugs acontecem no tocante a área de SWAP, portanto, recomendo que como usuário root a máquina seja reiniciada:
$ su root
(entre com a senha)
# reboot
Testando a Conexão ao Banco de Dados
Chegamos na parte divertida da estória. Agora veremos se todo o esforço valeu a pena. Vamos rodar o Banco de Dados (colocá-lo no ar) e verificar se está consistente.
IMPORTANTÍSSIMO: o Oracle instala automaticamente duas contas para administração do Banco de Dados. Aqui estão os nomes e senhas delas:
Nome: sys
Senha: change_on_install
Nome: system
Senha: manager
Para verificar o funcionamento do sistema, siga os passos abaixo:
- Faça login como usuário Oracle.
- O Servidor Oracle já deve estar rodando. Se não, podemos iniciá-lo com os seguintes comandos:
$ svrmgrl (entrando no ambiente de administração)
svrmgrl> connect internal (conectando)
svrmgrl> startup (iniciando o Banco)
svrmgrl> quit (saindo do ambiente de administração).
- Se você desejar configurar algumas tabelas exemplo para o usuário scott/tiger, faça o seguinte:
$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus (conecte como sys)
sqlplus> @utlsampl.sql (executa o script que cria algumas tabelas exemplo).
Ainda no SQLPlus e faça login com
o usuário scott, senha tiger, e digite o seguinte comando SQL para visualizar o conteúdo de uma tabela:
sqlplus> select * from emp
Pronto! Você está apto a criar suas tabelas, usuários, etc. Seu RDBMS está no ar e funcionando.