Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se Blogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Tabela de conteúdo

Introdução

Neste artigo, iremos tratar sobre a instalação do Oracle 11g no Ubuntu 8.04, versão Desktop.
A versão Desktop foi escolhida em decorrência da obrigação da instalação deste SGBD, exigir impreterivelmente, interface gráfica.
No entanto, podemos considerar para efeitos gerais, que a versão Desktop seria a versão server* + interface gráfica + aplicativos desktop(openoffice, gimp, etc...). E que esta não irá influir tecnicamente de forma a inviabilizar seu funcionamento esperado.

Para quem for instalar em servidor com hardware de servidor, é possível instalar a versão do kernel do prório ubuntu server, através do comando: sudo apt-get install linux-server

A Oracle é pioneira em sistemas de banco de dados gerenciável. Surgido através de um projeto para a CIA(Central Intelligence Agency), que inclusive nomeou este produto, pois neste projeto tinha seu codinome de: "Oracle". Que mais tarde tornou-se um produto comercial. Apesar de que, existe uma versão do Oracle, Label Security, chamada Trusted Oracle, que sua liberação de utilização depende de aprovação do governo Norte-Americano. Ela possui maiores recursos a nível de segurança.
E pensavas que usavas a versão mais sofisticada hein?

Outra consideração cabível, seria relacionada a versão do sistema operacional que iremos utilizar. A Oracle recomenda e homologa apenas as distribuições Entreprise's da RedHat e Suse, além de sua própria distribuição Unbreakable Linux. No entanto, somos do "lado negro da força" e iremos instalar em cima do Ubuntu 8.04, free, just it.

Pré-requisitos

Área de SWAP

De antemão, precisaremos que na instalação do Linux, tenha sido setada uma área de SWAP de no mínimo 5GB.

Baixar o software

Primeiramente façamos o download do software no site da Oracle.
A Oracle permite que quase todos possam fazer este download com "facilidade", bastante apenas fazer um cadastrado no site.
Lembrando que sua utilização em produção deve respeitar as leis de propriedade de uso do software.A versão em questão seria a Oracle Database 11g Release 1 (11.1.0.6.0), para linux X86.
O arquivo a ser baixado possui 1.8GB. Muita calma nesta hora(ou horas!).

Configurando o Ambiente

Definindo a senha do root

O Ubuntu não vem com a senha de root pré-definida. Devemos então setá-la, pois em alguns casos abaixo, deverá ser usada a conta de root para haver sucesso. Para tanto executar como usuário "pré-administrador":

user@machine:~$ sudo passwd root

Alterando os Semáforos

Os semáforos condizem com a características que estabelecem o gerenciamento de inter-processos compartilhado. Para verificar qual a atual configuração do semáforo do seu sistema, usar:

root@machine:~# cat /proc/sys/kernel/sem

Irão aparecer quatro informações:

  • SEMMSL = O kernel SEMMSL parâmetro é usado para controlar o número máximo de semáforos por set. A Oracle recomenda a fixação SEMMSL como sendo o maior parâmentro PROCESS do arquivo init.ora para todos os bancos de dados hospedados com o sistema Linux, acrescido de 10. Além disso, a Oracle recomenda a fixação de um valor de SEMMSL não inferior a 100.
  • SEMMNS = Número máximo de semáforos para todo o SO(Deve idealemente ser SEMMNI*SEMMSL)
  • SEMOPM = O parâmetro SEMOPM é usado para controlar o número de semáforos em operações que podem ser realizadas por 'system-calls' SEMOP.(O sistema de chamada semop(é uma função) fornece a capacidade de fazer várias operações de semáforos com um sistema de chamadas semop. Um conjunto semáforos pode ter o número máximo de SEMMSL semaphores por semáforos conjunto e, portanto, é recomendado para definir SEMOPM igual a SEMMSL.)
  • SEMMNI = O kernel SEMMNI parâmetro é usado para controlar o número máximo de semáforos conjuntos em todo o sistema Linux. A Oracle recomenda a fixação de um valor de SEMMNI não inferior a 100.

Coloquemos valores aceitáveis(padrão) para a instalação do Oracle 11g:

root@machine:~# echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf

Definindo quantidade máxima de arquivos abertos

Esta definição visa estabelecer a quantidade máxima de arquivos abertos no Sistema Operacional Linux.

root@machine:~# echo "fs.file-max=65536" >> /etc/sysctl.conf

Memória compartilhada

No Linux há a utilização de memória compartilhada no sistema, permitindo o acesso comum a processos em uso. Muito conhecido pelos Unixer's como System V IPC(Inter-process Comunication).

Este comando abaixo irá exibir a situação atual relacionada.

root@machine:~# ipcs -lm

SHMMAX

O SHMMAX parâmetro é usado para definir o tamanho máximo em bytes para um segmento de memória compartilhada, e deve ser grande o suficiente para definir o tamanho SGA que se irá definir.

Para sistemas de 32 bits, o SGA máximo padrão é de 1.7GB. Ou seja, para este caso basta definirmos um SHMMAX de 2Gb que irá atender satisfatoriamente a necessidade. Não há necessidade de maiores valores.

Para 2GB de memória compartilhada têm-se:

root@machine:~# echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf

SHMMNI

Este kernel parâmetro é usado para definir o número máximo de cada segmento de memória compartilhada(PAGE_SIZE). O valor padrão para este parâmetro é 4096.

root@machine:~# echo "kernel.shmmni=4096" >> /etc/sysctl.conf

SHMALL

Este parâmetro define a quantidade total de páginas de memória compartilhada.

root@machine:~# echo "kernel.shmall=2097152" >> /etc/sysctl.conf

Tuning TCP

Definir o range de portas altas:

root@machine:~# echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf

Definir o tamanho do buffer de memória de escrita default e máximo:

root@machine:~# echo "net.core.wmem_default = 1048576" >> /etc/sysctl.conf
root@machine:~# echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf

Definir o tamanho do buffer de memória de leitura default e máximo:

root@machine:~# echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
root@machine:~# echo "net.core.rmem_max = 262144" >> /etc/sysctl.conf

Após tudo isso, façamos a leituras destas definições:

root@machine:~# sysctl -p

Configurando o Usuário

Vamos agora criar o usuário que irá rodar o SGBD Oracle:

root@machine:~# addgroup oinstall
root@machine:~# addgroup dba
root@machine:~# mkdir -p /u01/app/oracle
root@machine:~# useradd -c "Oracle" -g oinstall -G dba -p password -d /u01/app/oracle -s /bin/bash oracle
root@machine:~# passwd oracle
root@machine:~# chown -R oracle:dba /u01

Definindo limites para o usuário Oracle

Precisaremos fazer algumas definições de limites de número máximo de processos aberto pelo usuário Oracle:

Com o usuário Oracle(su - oracle) poderemos verificar a atual situação:

oracle@machine:~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 16383
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 16383
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

Modificar alguns valores

O arquivo /etc/security/limits.conf é o gardião destas informações de forma estática.

Ao final do arquivo adicione as linhas abaixo(com TAB):

oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 4096
oracle hard nofile 65535

No arquivo /etc/pam.d/login, adicione ao final o seguinte:

session required /lib/security/pam_limits.so
session required pam_limits.so

Para testar as mudanças acima, pressionar as teclas CTRL+ALT+2, logar como oracle, e o comando ulimit -u e ulimit -n.


Instalar pacotes básicos

root@machine:~# apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libaio-dev gawk alien libg20 ksh gcc-3.3 g++-3.4 libstdc++5 gettext cabextract libpng3 libjpeg62 libjpeg-progs

Instalador

Devemos então copiar o arquivo baixado para o diretório padrão definido /u01/app/oracle.
A permissão ao usuário oracle deve ser concedida:

root@machine:~# chown -R oracle:dba /u01/app/oracle

Manha do gato (:)~

Para compartilhar sua interface gráfica deveremos fazer alguns procedimentos:

user#machine:~$ xhost +
user@machine:~$ su - oracle(coloque a senha pré-definida)
oracle@machine:~$ export DISPLAY=:0.0
oracle@machine:~$ /u01/app/oracle/Oracle11g/database/runInstaller

Siga as telas de avançar.
Ignore os erros de verificação. Pois no Oracle11g a verificação de SO está mais restritiva.
Aproveite.

Autor

  • Aldemari Borges(LPIC-3)
  • aldemari{NOSPAM} gmail.com
Horários baseados na GMT -3. Agora são 12:43.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd