Instalando e configurando o Oracle 10GR2 no Ubuntu 10.04LTS Server

Friday, 25 \25+00:00 November \25+00:00 2011 at 3:06 pm (Uncategorized)

Olá a tods, neste post explico de manera resumida como fazer a instalação do Oralce 10GR2 No Ubuntu 10.04LTS server.

Porquê a versão server? Tentaremos manter o sistema o mais enxuto possível, só por isso. Mas de qualquer forma funciona também na versão desktop.

O sinal “$” significa que os comando são rodados como usuário normal e “#” indica que são rodados como root.

O primeiro passo é baixar o Oracle 10G. Você pode baixar do site oficial o arquivo 10201_database_linux32.zip(precisa se registrar, etc, etc…)

Antes de instalar é necessário preparar o ambiente(assumo que você já instalou o sistema base):

$sudo su

#apt-get update&&apt-get dist-upgrade&&apt-get install lxdm lxde

O comando acima atualiza o sistema e instala o LXDE(Desktop leve) pois o instalador requer interface gráfica(a instalação silenciosa não será abordada aqui).

#mkdir /opt/oracle_install

#mv pasta_do_download/10201_database_linux32.zip /opt/oracle_install

#cd /opt/oracle_install

#nano -w prepara_oracle.sh

cole esse conteúdo no arquivo:

#!/bin/bash

#VARIAVEIS##################################
GRUPO=’oinstall’
SENHA_USUARIO_ORACLE=’senha001′
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/db/10g
ORACLE_SID=ORCL ##SUBSTITUA PELO SID DESEJADO
CRYPT_PASS=$(perl -e “print crypt($SENHA_USUARIO_ORACLE,\”password\”)” $password)
############################################
#Checando se é o root rodando….
if [ `whoami` != ‘root’ ]; then
    echo “Esse script precisa ser rodado como root”
    exit 0;
fi;

apt-get install gcc libaio1 make rpm libc6 libstdc++6  binutils lesstif2 lesstif2-dev build-essential libdb1-compat unzip rlwrap -y

addgroup oinstall
addgroup dba
addgroup nobody
useradd -g oinstall -G dba -p $SENHA_USUARIO_ORACLE -d /home/oracle -s /bin/bash oracle
usermod -g nobody nobody
cp /etc/skel /home/oracle -R
chown oracle:dba /home/oracle -R

echo “
##CONFIGURAÇÂO PARA O ORACLE####################
  kernel.shmall = 2097152
  kernel.shmmax = 2147483648
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000
################################################
” >> /etc/sysctl.conf

/sbin/sysctl -p

echo “
##CONFIGURAÇÂO DO ORACLE###
  * soft nproc 2047
  * hard nproc 16384
  * soft nofile 1024
  * hard nofile 65536
###########################
” >> /etc/security/limits.conf

ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
ln -s /usr/bin/basename /bin/basename
mkdir -p $ORACLE_HOME
chown -R oracle:oinstall $ORACLE_BASE
chmod -R 775 $ORACLE_BASE

echo “Red Hat Enterprise Linux AS release 3 (Taroon)” > /etc/redhat-release

echo “
    ORACLE_BASE=$ORACLE_BASE
    ORACLE_HOME=$ORACLE_HOME
    ORACLE_HTTPSERVER_HOME=$ORACLE_HTTPSERVER_HOME
    APEX_HOME=$APEX_HOME
    ORACLE_SID=$ORACLE_SID
    ORATAB=/etc/oratab
    LD_LIBRARY_PATH=$ORACLE_HOME/lib

    export ORACLE_BASE ORACLE_HOME ORACLE_HTTPSERVER_HOME APEX_HOME ORACLE_SID ORATAB LD_LIBRARY_PATH

    PATH=${PATH}:$ORACLE_HOME/bin
” >> /home/oracle/.bashrc

echo “Se tudo deu certo basta logar como usuário do oracle e iniciar a instalcao”;

Subistitua o ORACLE_SID pelo nome desejado.
Agora é descompactar em iniciar a instalação:

#unzip  10201_database_linux32.zip

#chown oracle:oinstall /opt/oracle_install -R

#chmod 777 /opt/oracle_install -R

#su – oracle

$cd /opt/oracle_install/database

$./runInstaller

Você pode aceitar o padrão sem medo de ser feliz. Ele fará uma instalação padrão da versão Enterprise. Demora um pouco e você terá o oracle instalado e já com listener e base criados.

Há um bug no script dbstart que precisa ser corrigido para que possamos utilizar essa ferramenta para iniciar a instância. Ainda do o usuário do oracle:

$nano -w $ORACLE_HOME/bin/dbstart

Substitua a linha

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

por

ORACLE_HOME_LISTNER=$ORACLE_HOME

Salve e feche.

Agora o script de inicialização:

#!/bin/bash
#
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Listener, Instances, EM DB Console, and HTTP Server# It relies on the information on /etc/oratab
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/db/10g
ORACLE_OWNR=oracle
ORACLE_SID=ORCL
ORATAB=/etc/oratabLD_LIBRARY_PATH=$ORACLE_HOME/lib

export ORACLE_BASE ORACLE_HOME ORACLE_HTTPSERVER_HOME APEX_HOME ORACLE_OWNR ORACLE_SID ORATAB LD_LIBRARY_PATH
PATH=${PATH}:$ORACLE_HOME/bin
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo " * Oracle startup error: cannot start"
exit 1
fi
case "$1" in
start)
# Startup
echo -n " * Starting the Oracle listener... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
echo " [ OK ]"
echo -n " * Starting the Oracle database server... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo " [ OK ]"
echo -n " * Starting the Enterprise Manager DB Console... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo " [ OK ]"
echo -n " * Starting iSQL*Plus... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"
echo " [ OK ]"
touch /var/lock/oracle
;;
stop)
# Shutdown
echo " [ OK ]"
echo -n " * Shutting down iSQL*Plus... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"
echo " [ OK ]"
echo -n " * Shutting down the Enterprise Manager DB Console... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo " [ OK ]"
echo -n " * Shutting down the Oracle database server... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo " [ OK ]"
echo -n " * Shutting down the Oracle listener... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
echo " [ OK ]"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart"
exit 1
esac
exit 0

Pronto, reinicie e teste.

Assim que eu tiver algum tempo eu posto como instalar o APEX e o OC4J junto com os patchs.

Abraço a todos!

Permalink Leave a Comment