terça-feira, 21 de junho de 2011

Oracle 11g no Ubuntu Server

De inicio achei muito estranho que para instalar o Oracle tem que possuir área gráica no ubuntu server, mas só conseguimos instalar dessa forma.

Primeiramente vamos atualizar o ubuntu server 10.04:
# apt-get update

Depois vamos instalar os pacotes que precisamos :
# apt-get install build-essential libaio1 libaio-dev unixODBC unixODBC-devu pdksh expat sysstat libelf-dev elfutils lsb-cxx

Após instalar os pacotes temos que instalar a área gráfica para instalar o Oracle: 
# apt-get install ubuntu-desktop --no-install-recommends –y

Necessitamos também ter instalado o Java. 
# apt-get install openjdk-6-jre openjdk-6-jdk

Vamos atualizar os pacotes que acabamos de instalar: 
# apt-get dist-upgrade

Antes de instalar o Oracle temos que mexer em algumas configurações do Kernel, mas vamos fazer o backup do kernel original:
#cp /etc/sysctl.conf /etc/sysctl.backup

Agora vamos a modificação:

# echo "#">> /etc/sysctl.conf
# echo "# Oracle 11gR2 entries">> /etc/sysctl.conf
# echo "fs.aio-max-nr=1048576" >> /etc/sysctl.conf
# echo "fs.file-max=6815744" >> /etc/sysctl.conf
# echo "kernel.shmall=2097152" >> /etc/sysctl.conf
# echo "kernel.shmmni=4096" >> /etc/sysctl.conf
# echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf
# echo "net.ipv4.ip_local_port_range=9000 65500" >> /etc/sysctl.conf
# echo "net.core.rmem_default=262144" >> /etc/sysctl.conf
# echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf
# echo "net.core.wmem_default=262144" >> /etc/sysctl.conf
# echo "net.core.wmem_max=1048586" >> /etc/sysctl.conf
# echo "kernel.shmmax=4294967296" >> /etc/sysctl.conf



A última linha do kernel.shmmax= vai o valor de memória fisica do equipamento só que em bytes, no caso, eu coloquei 4 gb.

Carregando as novas configurações no kernel:
# sysctl -p

Vamos criar um o backup das configurações do arquivo do kernel:
#cp /etc/security/limits.conf /etc/security/limits.conf.backup

Vamos as modificações:


# echo "#Oracle 11gR2 shell limits:">>/etc/security/limits.conf
# echo "oracle soft nproc 2048">>/etc/security/limits.conf
# echo "oracle hard nproc 16384">>/etc/security/limits.conf
# echo "oracle soft nofile 1024">>/etc/security/limits.conf
# echo "oracle hard nofile 65536">>/etc/security/limits.conf


Criar grupo, usuário e dar permissões:
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# usermod -s /bin/bash oracle


Cadastrando senha para o usuário oracle que criamos:
#passwd oracle
> Cadastre a nova senha <

# groupadd nobody
# usermod -g nobody nobody
# id oracle


Vamos criar os diretórios para o Oracle:
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oraInventory
# mkdir -p /u02/oradata


Vamos alterar os proprietários das pastas:
# chown oracle:oinstall /u01/app/oracle
# chown oracle:oinstall /u01/app/oraInventory
# chown oracle:oinstall /u02/oradata

# chmod 750 /u01/app/oracle
# chmod 750 /u01/app/oraInventory
# chmod 750 /u02/oradata


Vamos finalmente a instalação do Oracle. Extraia todos os arquivos que você baixou do site da oracle.
Faça o login com  o usuário oracle e abra um terminal elevando ele a root de dê permissão para usar somente essa sessão ao runInstaller do oracle:
#chmod +x runInstaller

No outro terminal logado com o usuário oracle execute o arquivo runInstaller e siga os passos da instalação apontando os caminhos das pastas que criamos anteriormente.

Caso não tenha criado o banco durante a instalação vamos iniciar o processo pelo terminal:
#dbca

Alguns erros que possa acontecer durante esse processo:

Nas atualizações dos pacotes erros como "linking ctx/lib/....":

# cd /tmp
# wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
# dpkg-deb -x libstdc++5_3.3.6-17ubuntu1_amd64.deb ia64-libs
# cp ia64-libs/usr/lib/libstdc++.so.5.0.7 /usr/lib64/
# cd /usr/lib64/
# ln -s libstdc++.so.5.0.7 libstdc++.so.5
# cd /tmp
# wget http://mirrors.kernel.org/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
# dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
# cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
# cd /usr/lib32
# ln -s libstdc++.so.5.0.7 libstdc++.so.5
# cd /tmp
# rm *.deb
# rm -r ia64-libs
# rm -r ia32-libs


Erros "idg4odbc of makefile " :

# ln -s /usr/bin/basename /bin/basename
# ln -s /usr/bin/awk /bin/awk
 



















Nenhum comentário:

Postar um comentário