Página seguinte Página anterior Índice

4. Criando um banco de dados

4.1 Visão Geral

Provavelmente se você seguiu o conselho da seção anterior, você não criou o banco de dados.

Para muitas pessoas, eu posso esquematizar o processo em poucas palavras: "rode o 'dbassist'". Ao menos que seja a primeira vez que você estiver rodando Oracle, nenhuma das questões deve ser novidade.

Para completar, eu vou documentar o que eu fiz mas eu diria melhor o que eu propondo em primeiro lugar. Observação: este não é um sistema de produção nem algo 'sério' (ou seja, de grupo ou full time) de desenvolvimento. Eu instalei o 8i para testar e ver se era novo ou diferente do 8 e das versões anteriores.

Isto significa que o 'dbassist' oferece uma opção fácil e eu a escolhi. E quando eu sugeri um outro disco, ou ao menos uma partição diferente, foi recusado. Meu $ORACLE_HOME é /home/oracle. Todos os arquivos e softwares estão lá, todos em uma única partição.

4.2 Guia passo a passo

  1. Chame o prompt e digite:
    dbassist
    
  2. Na minha máquina mostra "JNLS Exception:oracle.ntpg.jnls.JNLSException. Unable to find any National Character Sets". De acordo com o FAQ do Oracle 8i Patch , este problema já é conhecido (884001) e pode ser ignorado.
  3. Selecione a opção "Create a database" e clique em "Next"
  4. Existem duas opções: Typical e Custom. Se você sabe exatamente o que está fazendo então provavelmente você não estaria lendo isso e poderia selecionar a opção "Custom" sem problemas. Eu não vou explicar essa parte. Ao invés disso, eu vou assumir que você selecionou "Typical" e clicou em "Next".
  5. Depois será perguntado se você quer copiar o banco de dados do seu CD ou quer criar o banco de dados. Sempre que eu tentava a primeira opção, o Oracle não conseguia achar meu CD player (você simplesmente acabou de instalar dele!). Então eu recomendo usar a segunda opção. Não é difícil, apenas mais demorado.
  6. Provavelmente é mais seguro selecionar 'Hybrid' quando perguntar em qual ambiente o banco de dados irá operar.
  7. Agora vai perguntar para quantos usuários o seu banco de dados será usado. Eu coloquei cinco.
  8. Depois vai perguntar quais os produtos que você quer instalar no seu novo banco de dados. Mais uma vez, você sabe melhor que eu o que você quer !
  9. O Oracle precisa agora de um "Global Database Name" e um "SID". O nome do banco de dados é como se fosse um nome de domínio, mas diferente. Se você for um guru de Oracle já sabe o que colocar, caso contrário sua empresa deve ter algum padrão de nomes.Eu chamei o meu de 'dev1' (ambos SID e nome do banco).
  10. Agora você quer criar o banco agora ('now') ou salva as configurações em um script? Com 128Mb de RAM eu achei a primeira opção dolorosa. Eu criei o script, sai do X e de qualquer coisa que usasse muita memória, então eu rodei o script. Muito mais adequado.
  11. Eu não tinha notado nada disso na documentação, mas seu banco de dados não irá funcionar direito sem isso! O banco de dados que o 'dbassist' cria não tem problemas, mas por default os segmentos de rollback de usuário são deixados off-line (traduzindo: usuários não administradores não podem fazer qualquer operação que envolva transação). Digite:
    cd $ORACLE_HOME/dbs
    
    Você precisa editar o arquivo chamado "init<SID>.ora" ("initdev1.ora" no meu caso). Mais ou menos no meio tem uma linha comentada parecida com isso:
    # rollback_segments = (r01, r02, r03, r04)
    
    Descomente essa linha (remova o #), grave o arquivo e está terminado.
  12. Agora alguns passos extras. Você tem um banco de dados e deve ser capaz de coloca-lo no ar, mas provavalmente não sabe quais são as senhas dos administradores! Aqui são duas que você precisa saber. A primeira é a senha do usuário SYSTEM. O seu valor default é 'MANAGER'.Parece ser convenção que a Oracle coloca as senhas em maiúsculas. Na realidade as senhas não são case sensitive. Eu recomendo que você mude assim que puder digitando password no prompt do SQL*Plus.Para os que estavam esperando o comando ALTER USER , essa é a nova versão do SQL*Plus que vem no 8i. A outra senha que você precisa saber é a do usuário SYS. O seu valor default é 'CHANGE_ON_INSTALL' e você deve fazer exatamente o que ele diz: mude_ao_instalar !
  13. Último passo. Esse passo você se livra da irritante mensagem 'no profile' toda vez que você se loga no SQL*Plus. Logue-se no SQL*Plus como usuário 'system' (sqlplus system/<password>). Depois digite:
    @?/sqlplus/admin/pupbld.sql
    
    A interrogação é a mesma coisa que o diretório $ORACLE_HOME .
  14. Este passo é opcional e é usado para definir o seu editor de textos default do SQL*Plus (ao digitar ed). Abra o arquivo $ORACLE_HOME/sqlplus/admin/glogin.sql no seu editor favorito e adicione a linha define_editor=<editor name> no final.

É isso. Você deve ter agora um banco de dados que você consegue se logar usando o SQL*Plus.

4.3 Perguntas e respostas

É realmente fácil assim ?

Sim e não. Se você está brincando, construir um banco de dados pra aprender as novas características do 8i, então a resposta é 'sim'. O banco de dados que você vai construir seguindo as instruções acima é completo e vai funcionar sem problemas.

Entretanto, se você conhece alguma coisa sobre Oracle, você vai perceber rapidamente que a configuração default é extremamente ruim. Se você está fazendo um sistema de produção sério, eu recomendo o uso da opção "Custom".

Mesmo para o meu sisteminha eu fiz alguns ajustes. Eu aumentei o tamanho da maioria das tablespaces e mudei para que elas não crescerem automaticamente (eu odeio quando o software tenta ser tão esperto).

É realmente necessário colocar todos os arquivos em diferentes discos?

Não e funciona bem se você não colocar, mas eu não recomendo colocar todos os arquivos no mesmo disco apesar de tudo.

Espalhando os arquivos em alguns discos, mesmo que seja os arquivos de dados em um e os arquivos de rollback em outro,terá um considerável aumento de performance. Leia o livro Oracle DBA para maiores detalhes.

Eu não consigo rodar o dbassist

Isso é causado por alguns arquivos vazios na instalação inicial. Aplicando o patch deve resolver o problema.

Eu recebo a mensagem "ORA-01034: ORACLE not available"

Para encurtar a história o seu $ORACLE_SID provavelmente está configurado incorretamente ou não existe. Certifique-se que você configurou-o com o mesmo valor que você deu no 'dbassist' e que esse valor seja atribuído, isto é, export ORACLE_SID em qualquer Bourne shell.

Eu recebo a mensagem "ORA-01012: Not logged in"

Este é um erro bem comum e existem diferentes fatores que podem causa-lo.

Em primeiro lugar certifique-se que você não está usando a configuraçã0 "Shared Server" (também conhecida como MTS). Crie um banco usando "Dedicated Server" e depois o converta.

Se não for isso, verifique a variável de ambiente NLS_LANG. A opção mais fácil é não atribuir nada. Se você realmente quer usar, certifique-se que tem o valor correto. Não confunda os '1's(uns) com os 'l's (eles)!

Os data-files podem ter até 1Gb de tamanho?

O 'dbassist' não vai deixar você criar um data-file maior que 1Gb. Eu acredito que seja um bug pois o Linux pode ter arquivos de ateh 2Gb.

Note que isso não limita o tamanho do seu banco de dados para 1Gb ou menos. Um banco de dados é composto de várias tablespaces que podem ser compostas de vários data-files. Converse com seu amigo DBA para maiores informações.

Posso usar arquivos raw ?

Versões recentes do kernel do Linux permitem que as aplicações acessem os discos diretamente. O Oracle é caáz de usar esta facilidade e pode (às vezes) aumentar a performance.

Tecnicamente a resposta é 'sim,' , você pode usar arquivos raw, mas na realidade a resposta é 'não'. A melhoria de performace não compensará a sobrecarga de administração.


Página seguinte Página anterior Índice