Instalando e configurando o Oracle 10GR2 no Ubuntu 10.04LTS Server
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 -Recho “
##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.confln -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_BASEecho “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/libexport ORACLE_BASE ORACLE_HOME ORACLE_HTTPSERVER_HOME APEX_HOME ORACLE_SID ORATAB LD_LIBRARY_PATH
PATH=${PATH}:$ORACLE_HOME/bin
” >> /home/oracle/.bashrcecho “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!