Guia de instalación de Oracle 11g en Debian/Ubuntu
Puedes descargarte el instalador de Oracle desde su página de descargas. Yo voy a instalar sobre un
Ubuntu 64 por lo que me bajaré el instalador linux 64 bit. Tu bajate el
que se ajuste a tu arqutectura.
Tras descargar y descomprimir, vamos a empezar.
Tras descargar y descomprimir, vamos a empezar.
Presupuestos
- La instalación la hará el usuario root u Oracle cuando se especifique
- Tienes al menos 500 MB de ram
- Tienes al menos 1 GB de swap
Preparando el sistema
1. Crear el usuario y grupo de oracle:/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/groupadd nobody /usr/sbin/useradd -m -g oinstall -G dba -p passwd -d /home/oracle oracle2. Creamos ciertos directorios y le asignamos permisos
mkdir -p /u01/app/oracle mkdir -p /u02/oradata chown -R oracle:oinstall /u01 /u02 chmod -R 775 /u01 /u023. Parámetros del kernel
....
Oracle Installation:
Oracle Software Prerequisites
Install required packages
sudo su -
apt-get install build-essential
apt-get install libaio1
apt-get install libaio-dev
apt-get install unixODBC
apt-get install unixODBC-dev
apt-get install pdksh
apt-get install expat
apt-get install sysstat
apt-get install libelf-dev
apt-get install elfutils
apt-get install lsb-cxx
To avoid error "linking ctx/lib/ins_ctx.mk...":
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
To avoid error invoking target 'idg4odbc' of makefile:
ln -s /usr/bin/basename /bin/basename
To avoid errors when executing the post-install root.sh script:
ln -s /usr/bin/awk /bin/awk
Kernel Parameters
sudo su -
Make a backup of the original kernel configuration file:
cp /etc/sysctl.conf /etc/sysctl.original
Modify the kernel parameter file
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=2147483648" >> /etc/sysctl.conf
Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes
Load new kernel parameters
sysctl -p
Oracle Groups and Accounts
sudo su -
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
usermod -s /bin/bash oracle
passwd oracle
groupadd nobody
usermod -g nobody nobody
id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
Make a backup of the original file:
cp /etc/security/limits.conf /etc/security/limits.conf.original
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
Oracle Directories
i.e. /u01/app for Oracle software and /u02/oradata for database files
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u02/oradata
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
Oracle Universal Installer
Login as the Oracle user - do not use 'su' command
ssh -Y oracle@server_address
See Tips below for mounting the Oracle installation source
/path_to_installer/runInstaller
Note: Select the "Ignore All" button at the Prerequisite Checks dialog.
********************************************************************************
*********************************************************************************
Guia de instalación de Oracle 11g en Debian/Ubuntu
Puedes descargarte el instalador de Oracle desde su página de descargas. Yo voy a instalar sobre un
Ubuntu 64 por lo que me bajaré el instalador linux 64 bit. Tu bajate el
que se ajuste a tu arqutectura.
Tras descargar y descomprimir, vamos a empezar.
Tras descargar y descomprimir, vamos a empezar.
Presupuestos
- La instalación la hará el usuario root u Oracle cuando se especifique
- Tienes al menos 500 MB de ram
- Tienes al menos 1 GB de swap
Preparando el sistema
1. Crear el usuario y grupo de oracle:
Vamos a ver que los parámetros del kernel
Y, al menos en mi caso, cambiamos de usuario significa que salimos de la sesion actual y nos volvemos a logar como oracle. Si estas haciendo la instalacion en local vuelves a entrar en gnome o kde. Esto es porque si no no podrás hacer el export del display. Ya volveremos sobre este tema.
Vamos a poner algunas cosas en el ~/.bash_profile
Abirmos una consola y ejectuamos
Recuerda: yo estoy haciendo la instalación en la misma máquina. y tengo un entorno gráfico ejecutando. He salido de la sesion del entrono grafico y he entrado como el usuario oracle que hemos creado un poco mas arriba.
ahora ya podemos empezar. Vamos al directorio dode hayamos descomprimido el instalador y:
/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/groupadd nobody /usr/sbin/useradd -m -g oinstall -G dba -p passwd -d /home/oracle oracle2. Creamos ciertos directorios y le asignamos permisos
mkdir -p /u01/app/oracle mkdir -p /u02/oradata chown -R oracle:oinstall /u01 /u02 chmod -R 775 /u01 /u023. Parámetros del kernel
Vamos a ver que los parámetros del kernel
/sbin/sysctl -a | grep sem /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep ip_local_port_rangeTe tiene que salir algo así como :
kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmax = 2147483648 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000Si no, como es mi caso, haz los cambios necesarios en /etc/sysctl.conf
vi /etc/sysctl.conf
# # Lineas a añadir para la configuración de 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 65000Y aplicas los cambios
/sbin/sysctl -pAhora vamos a establecer los límites. Para eso editamos el fichero /etc/security/limits.conf y ponemos dentro (incluidos los asteriscos):
* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536Añade ( o descomenta ) la siguiente línea en : /etc/pam.d/login y /etc/pam.d/su
session required /lib/security/pam_limits.soDado que usamos Bash debemos añadir este código a /etc/profile
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fiInstalamos los siguientes paquetes ya que tenemos una distribución x64
aptitude install build-essential ia32-libs libc6-dev-i386 libc6-dev libaio-devy hacemos unos cuantos enlaces simbolicos. Oracle está pensado para funcionar con Red Hat y va a buscar las cosas a los directorios donde espera encontrarlos en Red Hat. Por lo que vamos a ponerle las cosas faciles.
ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/rpm /bin/rpm ln -s /usr/bin/basename /bin/basename ln -s /etc /etc/rc.dPor fin nos cambiamos de usuario para ser oracle
Y, al menos en mi caso, cambiamos de usuario significa que salimos de la sesion actual y nos volvemos a logar como oracle. Si estas haciendo la instalacion en local vuelves a entrar en gnome o kde. Esto es porque si no no podrás hacer el export del display. Ya volveremos sobre este tema.
Vamos a poner algunas cosas en el ~/.bash_profile
ORACLE_BASE=/home/oracle/ORACLE ORACLE_SID=test export ORACLE_BASE ORACLE_SID unset ORACLE_HOME unset TNS_ADMIN umask 022Para poder exportar el DISPLAY. Cosa totalmente necesaraia para la instalción debemos haber entrado com el usuario oracle.
Abirmos una consola y ejectuamos
xhost +Para comprobar que todo ha ido bien puedes hacer exactamente la misma comprobación que hará Oracle:
/usr/X11R6/bin/xclockY se te abriá el reloj.
Recuerda: yo estoy haciendo la instalación en la misma máquina. y tengo un entorno gráfico ejecutando. He salido de la sesion del entrono grafico y he entrado como el usuario oracle que hemos creado un poco mas arriba.
ahora ya podemos empezar. Vamos al directorio dode hayamos descomprimido el instalador y:
./runInstaller -ignoreSysPrereqs
***************************************************************************
***************************************************************************
FUENTES:
http://en.juantxu.net/doku.php/ora/Instal_11g
http://forums.oracle.com/forums/thread.jspa?threadID=1115155&tstart=0
***************************************************************************
3 comentarios:
Para los que no encuentran como iniciar el servicio en UBUNTU de forma automatica, si es que asi lo quieren.
There is almost for sure that you will hope to start your Oracle automatically during system boot. Even you may turn this feature off, but the init.d script is very useful, too. First of all, specify which database instant will be started together with Oracle. Edit /etc/oratab as below:
AL32UTF8:/u01/app/oracle/product/11.1.0/db_1:Y
Next, create init.d script as /etc/init.d/oracle:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/u01/app/oracle/product/11.1.0/db_1"
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/dbstart $ORA_HOME"
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
#Optional : for Enterprise Manager software only
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl start dbconsole"
touch /var/lock/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
#Optional : for Enterprise Manager software only
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c "$ORA_HOME/bin/dbshut $ORA_HOME"
rm -f /var/lock/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
Permission is very important, too:
chmod 755 /etc/init.d/oracle
Finally, install the script so Oracle will start during system bootup:
update-rc.d oracle defaults 99 01
Si no quieren levantar el servicio al iniciar Ubuntu, pues no siempre lo usaran y por el hecho que pone muy lenta la maquina basta con solo escribir esto en la consola:
su - oracle -c "/home/oracle/ORACLE/product/11.2.0/dbhome_1/bin/dbstart /home/oracle/ORACLE/product/11.2.0/dbhome_1"
su - oracle -c "/home/oracle/ORACLE/product/11.2.0/dbhome_1/bin/lsnrctl start"
export ORACLE_UNQNAME=ora
su - oracle -c "/home/oracle/ORACLE/product/11.2.0/dbhome_1/bin/emctl start dbconsole"
Hola, Alejandro.
Veo que éste blog es bastante antiguo... Lo que pasa es que tengo Ubuntu 13.10, instalé Oracle Database 11g Express Edition, se ha creado el usuario oracle. ahora, cuando intento arracnarlo, me da error "Problema al cargar la página", http://localhost:8080/apex/f?p=4950. No sé cómo solucionarlo.... ¿Me podrías hechar una mano?
Gracias de todas formas ;)
Publicar un comentario