La instalación de ubuntu server 12.04 se las dejo a ustedes, ya que es casi todo ‘siguiente, siguiente, siguiente’, sólo comentarles que en la pantalla de booteo, luego de elegir el idioma de instalación, usé la opción ‘install minimal virtual machine’ (disponible al apretar F4) y que en el particionado, creé una swap de más de 3Gb (ya que el oracle pide al menos 2Gb de swap, según dicen…). En la selección de software, sólo elegí ‘OpenSSH server’ para poder realizar el resto de los pasos de manera remota.
Bootear, actualizar todo lo que sea necesario (sudo apt-get update; sudo apt-get -u dist-upgrade –yes) y listo.
Para instalar el oracle propiamente dicho, necesitaremos bajar de http://www.oracle.com/technetwork/products/express-edition/downloads/index.html la versión para instalar en Linux de 64 bits.
En el servidor, instalaremos los siguientes paquetes:
sudo apt-get install alien bc libaio1 unixodbc vim zip
descomprimimos el paquete que bajamos de oracle, y lo ‘alienizamos’:
manolo@db-server:~$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip Archive: oracle-xe-11.2.0-1.0.x86_64.rpm.zip creating: Disk1/ creating: Disk1/upgrade/ inflating: Disk1/upgrade/gen_inst.sql creating: Disk1/response/ inflating: Disk1/response/xe.rsp inflating: Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm manolo@db-server:~$ cd Disk1/ ; sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm [sudo] password for manolo:
Una vez alienizado, vamos a crear un ‘fake’ de checkconfig, ya que el oracle lo utiliza, escribimos en el archivo /sbin/chkconfig
sudo vi /sbin/chkconfig
y copiamos lo siguiente:
#!/bin/bash # Oracle 11gR2 XE installer chkconfig hack for Ubuntu file=/etc/init.d/oracle-xe if [[ ! `tail -n1 $file | grep INIT` ]]; then echo >> $file echo '### BEGIN INIT INFO' >> $file echo '# Provides: OracleXE' >> $file echo '# Required-Start: $remote_fs $syslog' >> $file echo '# Required-Stop: $remote_fs $syslog' >> $file echo '# Default-Start: 2 3 4 5' >> $file echo '# Default-Stop: 0 1 6' >> $file echo '# Short-Description: Oracle 11g Express Edition' >> $file echo '### END INIT INFO' >> $file fi update-rc.d oracle-xe defaults 80 01
chmodeamos:
sudo chmod +x /sbin/chkconfig
y cambiamos algunos valores del sistema:
sudo vi /etc/sysctl.d/60-oracle.conf # Oracle 11g XE kernel parameters fs.file-max=6815744 net.ipv4.ip_local_port_range=9000 65000 kernel.sem=250 32000 100 128 kernel.shmmax=536870912
hacemos que tome los cambios:
sudo service procps start
Hay que hacer un link para awk (lo busca donde no está, porque está preparado para RH y sus secuaces) y creamos algun directorio para el listener:
sudo ln -s /usr/bin/awk /bin/awk sudo mkdir /var/lock/subsys sudo touch /var/lock/subsys/listener
Ahora si, instalamos el paquete que generamos con alien:
sudo dpkg -i oracle-xe_11.2.0-2_amd64.deb
Al terminar nos dice que ejecutemos /etc/init.d/oracle-xe configure como root, asique hagámosle caso.
Nos va a preguntar puerto http para Oracle Application Express, el puerto del listener, passwd de SYS y SYSTEM, y si queremos que la base de datos arranque en cada booteo.
Ya casi estamos. Ahora nos falta configurar decentemente el entorno del usuario, para poder usar la bd sin inconvenientes, agregando en .bashrc lo siguiente:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe export ORACLE_SID=XE export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh` export ORACLE_BASE=/u01/app/oracle export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME/bin:$PATH
Y listo, ahora ya podés usar el motor de bd recién instalado. Suerte!