Google+

viernes, 31 de agosto de 2012

Instalar Oracle 11g en CentOS


Para este manual he utilizado CentOS versión 6.3, intuyo que podríamos usar Scientific Linux sin problemas, pero no lo he probado. Debemos de tener entorno gráfico, ya que el instalador hace uso de él.
En cuanto la configuración física, ha sido probado en una máquina virtual con VirtualBox con 2GB de memoria RAM, 3 GB de swap. y 30 GB de disco duro.
Cabe destacar que esta instalación no es para ponerlo en producción, ya que Oracle no certifica CentOS y seguramente nuestro fabricante de hardware tampoco. Basicamente es para un entorno de pruebas o desarrollo.
La instalación de la base de datos Oracle la podréis conseguir de aquí eligiendo vuestra arquitectura. Y la ISO de CentOS de aquí.




Partimos con el sistema actualizado:
# su -
# yum update
Una vez actualizado todo, debemos instalar estos paquetes:

# yum install gcc kernel-devel compat-libstdc++-33 elfutils-libelf-devel gcc-c++ libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel wget
Y descargar el rpm de una shell: pdksh, para luego instalarlo:
# wget ftp://ftp.pbone.net/mirror/archive.download.redhat.com/pub/redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm
# rpm -ivh pdksh-5.2.14-1.i386.rpm
Si teneis un SO de 64, lo mejor es compilarlo ya que no he encotrado el RPM
# wget  http://www.cs.mun.ca/~michael/pdksh/files/pdksh-5.2.14.tar.gz
# tar -zxvf pdksh-5.2.14.tar.gz
# ./configure
# make
# make install
Creación del usuario oracle con el que correrá luego la base de datos y asignación de una contraseña:
# useradd oracle
# passwd oracle
Creamos las carpetas donde alojaremos la instalación:
# mkdir /usr/oracle
# mkdir /usr/oraInventory
Y le asignamos de propietario al usuario que hemos creado anteriormente:
# chown oracle.oracle /usr/oracle /usr/oraInventory

Una vez acabados los preparativos, empezamos con la instalación de la base de datos, nos logearemos con el usuario oracle ya que es con el que vamos a trabajar, (recordad el entorno gráfico):
# su - oracle
Ahora descomprimimos los zip de la base de datos y entramos en la carpeta:
# unzip linux_xgR2_database_1_2.zip && unzip linux_xgR2_database_2_2.zip
# cd database
Ya podemos lanzar el instalador:

# ./runInstaller

Empieza pidiéndonos el email para enviarnos promociones y demás cosillas, opcional.

Escogemos: Create and configure, ya que vamos a instalar una base de datos de ejemplo para poder hacer pruebas.
Desktop Class, para empezar.
Ahora rellenamos todos los campos para que nos quede como en la imagen, guardar el Global database name y la password.
Mi password no le ha gustado por eso salta este mensaje, nada grave, se puede seguir.
El inventario de oracle, le asignamos el grupo oracle
En este paso nos chequea que cumplamos todos los requerimientos para la instalación
En esta captura muestra los parametros del kernel que deben de cambiar, pulsamos en corregir y volver a comprobar.

Nos abre un pop-up diciendonos el comando que debemos ejecutar:
Captura del proceso de fix
Una vez lo vuelve a comprobar todo pasamos al siguinte paso, el resumen de todo lo que va ha hacer.
Captura del proceso de instalación, en mi máquina virtual fue muy largo
Captura de la instalación
Esto es importante, asignación de password, pulsamos en Password Management...
Y escribimos una contraseña para SYS, SYSDBA y HR, este último opcional, pero nos servirá para hacer pruebas. No olvidar pulsar la casilla: Lock Account? para desbloquear la cuenta. En la imagen muestro el usuario HR con la cuenta habilitada y su respectiva contraseña:
Mis password no satisfacen a Oracle pero me deja continuar
Y por último nos dice que corramos los siguintes script con el usuario root:


Y aquí tenemos el resultado final, un "saccessful":
Ahora vamos a verificar que todo este OK, con nuestro navegador entramos en la siguinte url:
https://ip-del-servidor-oracle:1158/em
Y entramos como sysdba y la contraseña que habíamos asignado, no olvidar el conectar como, cambiarlo a sysdba
Este debe de ser el resultado final, todo OK



Y por último pero no por ello menos importante, las variables, editamos el archivo bash_profile del usuario oracle:
# vi /home/oracle/.bash_profile
Y añadimos lo siguiente:
export ORACLE_BASE=/usr/oracle
export ORACLE_HOME=/usr/oracle/product/11.2.0
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
Si tenemos un SO de 64 pegamos esto:

export ORACLE_BASE=/usr/oracle
export ORACLE_HOME=/usr/oracle/product/11.2.0
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib64
export PATH=$ORACLE_HOME/bin:$PATH
Esto es necesario para que luego al arrancar sqlplus sepa donde tiene la base de datos.
Primero parar la consola de administración:
# su - oracle
# emctl stop dbconsole
Y ahora la base de datos, con el usuario oracle:
# sqlplus / as sysdba
sqlplus> shutdown normal
sqlplus> exit
Para arrancarla seguimos este link.