segunda-feira, 25 de maio de 2009

Tarefas após instalação no Windows e no Linux

Ok, você instalou o XE e tudo deu certo da primeira vez. Mas no dia seguinte você pode ter algumas "surpresinhas", que eu vou revelar aqui e dizer como contorná-las.

Se você é um mimado usuário do Windows, vai ficar todo feliz de ré-ligar (ou reiniciar) tua máquina e ver que tudo continua como "dantes"! Mas não fique tão feliz, pois isto tem um preço!

Se você é um bravo usuário do Linux, pode ficar um pouco decepcionado após ré-ligar (ou reiniciar) tua máquina e ver que alguma coisa "estranha" aconteceu: o XE não está funcionando! Mas não fique tão triste, pois isto tem uma compensação ;-).

Como esta postagem vai ficar grande, aqui vai um resumo:

Ao instalar o XE no Windows, ele deixa tudo automático, ou seja, sempre que você inicia o Windows ele carrega o XE para a memória e põe para funcionar. Se tua máquina for um Desktop de estudos, convém deixar o carregamento do XE em modo Manual.

Já no Linux, optamos por não carregá-lo automaticamente, ao iniciar o sistema. Então veremos como carregá-lo quando for necessário.


Os mimos do Windows e seu preço

A instalação do XE no windows é bem mais "tranquila" que no Linux, é verdade. E é verdade também que no dia seguinte tudo continua como antes: funcionando. Afinal, "ele" não pergunta muita coisa e faz tudo por você. Mas, qual é o bendito (ou maldito) preço que os mimados usuários do Windows pagam? Vou responder: menos memória e menos processador!

Ocorre que o Windows cria serviços dedicados ao XE, de modo que quando você reinicia a máquina o XE é iniciado automaticamente.

Qual o problema nisso tudo? Bem, a não ser que a instalação tenha sido em um servidor de banco de dados... nenhum! Mas se você instalou o XE em teu Desktop, para estudos (e creio ser o nosso caso aqui), poderá perder preciosos bytes de memória e fatias de tempo preciosas do processador, para fazer outras coisas, que não estudar o XE!

Hmmmm, está começando a fazer sentido?

Se a máquina Windows que você instalou o XE for tua máquina de estudos, talvez você queira liberar memória e processador, quando não estiver usando o XE. Sim ou não?

Se sim, continue lendo. Se não, ignore esta postagem!

Os Serviços do Windows dedicados ao XE

Para ver o serviços dedicados ao XE, abra o gerenciamento do computador e procure pelos serviços. Identifique dois serviços relevantes, destinados ao XE: OracleServiceXE e OracleXETNSListener.

Você poderá ver que eles estão Iniciados (coluna Status) e estão configurados como Tipo de inicialização Automático.

Então, para evitar que o Windows inicie o XE toda vez que ligar a máquina, clique duplo em cada um desses serviços e configure-o com o Tipo de inicialização Manual.

Quando precisar e quiser estudar o XE, basta iniciar manualmente estes serviços.

Os percalços dos usuários do Linux

Muito bem, os usuários do Linux não têm o problema de ter o XE lhes "roubando" memória e processador, quando não estão precisando dele. Por outro lado, precisam de um "esforço" a mais para iniciá-lo, toda vez que precisam dele!

Se você, usuário Linux, for na lista de aplicativos instalados e mandar Iniciar Banco de Dados, vai obter uma mensagem de erro.

Operation failed. cawasame is not a member of 'dba' group.

cawasame, obviamente, sou eu! No teu caso irá ver outro nome. Mas, por que isto ocorre?

O usuário "oculto" do XE

Ao instalar o XE no Linux, o programa de instalação faz duas coisas que precisamos saber: cria um usuário chamado oracle e cria um grupo chamado dba.

O usuário oracle é o "dono" do XE. E pertence ao grupo dba criado especialmente para ele. Quem pode iniciar / parar / apagar / etc o XE é o usuário oracle!

E agora? Bem, temos que fazer duas coisas: descobrir como acessar o usuário oracle e iniciar o XE e obter (quase) os mesmos privilégios que o usuário oracle tem.

Obtendo privilégios de DBA

Para você obter os privilégios de DBA, basta fazer parte do grupo dba. Simples assim! Para isto, conecte como root (su) e digite:

usermod -G dba usuario

usuario, obviamente, é teu nome de usuário.

Ativando o usuário oracle

Aproveitando que você está em modo root (su), crie uma senha para o usuario oracle. Assim, você poderá se conectar como "ele". Digite:

passwd oracle

O Linux irá pedir uma senha para o usuário oracle. Digite a senha e repita, para confirmar.

Pronto! Agora você está quase pronto para colocar o XE em operação. Mas talvez seja interessante você fechar a sessão e entrar nela em seguida, para "receber" os novos privilégios!

Finalmente, iniciando o XE, no Linux

Para iniciar o XE, você precisará fazer duas coisas: iniciar o Serviço e iniciar o Listener.
  • Iniciando o Serviço
Agora que você goza do privilégio de DBA, pode ir na lista de aplicativos instalados e mandar Iniciar Banco de Dados.
  • Preparando para iniciar o Listener
Infelizmente, para iniciar o Listener você terá que conectar como o usuário oracle. Nós poderíamos "enganar" o sistema e deixar teu usuário com este "poder". Mas para isto teríamos que dar privilégios perigosos ao teu usuário, como por exemplo a capacidade de deletar tudo que pertence ao XE. Segurança tem preço! Então vamos ter que fazer um esforço a mais.

Mas não é difícil! Agora que você sabe a senha do usuário oracle, basta "entrar" nele de um modo especial, usando o comando su. É só digitar:

su - oracle

Ao ser pedida a senha, é só você digitar a senha dada ao usuário oracle.
  • Definindo as variáveis de ambiente para o XE
Mesmo conectado como o usuário oracle, você ainda vai precisar definir as variáveis de ambiente, para que o XE possa "entender" o que você quer e o Linux saiba onde encontrar os comandos que você vai digitar.
Felizmente, o programa de instalação do XE cria um script, que você pode chamar. O nome do script é oracle_env.sh e encontra-se na pasta a seguir:

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/


Então, uma vez conectado com o usuário oracle, você pode digitar:

source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

Assombrado?! LoL. Não precisa. Lembre-se que o terminal do Linux guarda um histórico dos comandos que você digita. Assim, da próxima vez é só usar a seta para-cima algumas vezes, para encontrar e executar este comando!

Voltando às variáveis... para ver que variáveis de ambiente são estas, você pode usar o comando env. Ao se digitar o comando env o Linux exibe as variáveis de ambiente "setadas" para o usuário conectado no terminal, naquele momento. Vejamos:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
ORACLE_SID=XE
NLS_LANG=BRAZILIAN PORTUGUESE_BRAZIL.AL32UTF8

Estas são específicas do XE. NLS_LANG determina como o XE irá tratar tipos data, hora, moeda, etc., e ainda a linguagem em que as mensagens serão exibidas, quando for necessário!

Além destas, o XE "se insere" em outras variáveis de ambiente essencias. Vejamos duas delas:

LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib:/usr/lib64/mpi/gcc/openmpi/lib64
PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:/usr/lib64/mpi/gcc/openmpi/bin:(...)

  • Finalmente, iniciando o Listener
Agora que o ambiente está configura, basta digitar o seguinte comando:

lsnrctl start
  • Resumo da ópera Linux
Como o assunto foi extenso, vamos fazer um resumo do que é necessário para iniciar 100% o XE, depois de tomadas as medidas anteriores:
  1. Com teu usuário, inicie o Serviço do XE via menu de aplicativos
  2. Abra um terminal e conecte através do comando su - oracle
  3. Inicie as variáveis de ambiente, rodando aquele script
  4. "Start" o Listener, com aquele comando
  • Para finalizar, a "receita de parar o XE" no Linux:
  1. Com teu usuário, interrompa o Serviço do XE via menu de aplicativos (Interromper Banco de Dados)
  2. Abra um terminal e conecte através do comando su - oracle
  3. Inicie as variáveis de ambiente, rodando aquele script
  4. "Stop" o Listener, com o comando lsnrctl stop
Pronto! LoL

Nenhum comentário:

Postar um comentário