Como instalar Oracle 9i sobre Red Hat

Imagen de pepo

----------------------------------------------------------------------
HOWTO PARA INSTALAR ORACLE 9I SOBRE RED HAT 7.3/8.0
----------------------------------------------------------------------

Hola, primero que nada debo agradecer a Richard (webmaster de ecualug) por la espera y buena onda que ha tenido hasta que yo mande este HOWTO (COMO). También agradezco a mi profesor de Base de Datos II que como siempre su exigencia hiso posible el diseño de este documento, también agradecimientos y saludos a mi gran amigo Daniel con quien pasamos mucho tiempo diseñando e implementando varios sistemas, y de allí nos surgió esto de hacer HOWTOs que en realidad han sido mucho muy prácticos por último pero más importante agradezco a mi novia Maga por aguantarme y quererme @->--.

Ahora pues comienzo, sin antes decirme que todo lo que propongo es puramente educacional así como también no me responsabilizo por ninguna falla o causa parecida; Oracle es una marca registrada; y si quieres más información te sugiero http://www.puschitz.com/InstallingOracle9i.shtml (excelente sitio de Werner Puschitz dónde encontré todo para instalar oracle9i).

Yo instalé Oracle9i sobre Red Hat 8.0 y también lo hice sobre Red Hat 7.3, pero supongo que puede realizarse sobre cualquier otro Linux. Los instaladores de la base de datos Oracle lo puedes conseguir en: http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html son tres discos (o almenos lo eran), en realidad yo nunca los bajé del sitio de Oracle, sinó que nuestro profesor nos lo pasó; si quieres los puedes conseguir en el sitio dónde estará originalmente este documento, esto es en www.ecualug.org.

El quemar los discos o cosa parecida es tan básico que está fuera del alcance de este documento.

Mi máquina (clon), sobre la que instalé el sistema es:


  • Pentium 4 1.7Ghz.

  • RAM 512Mb.

  • Disco duro 80Gb.

  • Corriendo RH 7.3/8.0

______


INDICE

  1. MEMORIA Y ESPACIO DE INTERCAMBIO (SWAP)

  2. MEMORIA COMPARTIDA

  3. ESPACIO EN DISCO

  4. JDK

  5. CUENTAS DE USUARIOS Y GRUPOS

  6. DIRECTORIOS DE ORACLE

  7. CONFIGURANDO EL AMBIENTE PARA ORACLE

  8. INSTALANDO ORACLE

  9. ARRANCANDO Y PARANDO LAS BASES DE DATOS

  10. PARANDO EL SERVICIO PARA ACCESO DESDE LA RED

  11. SUGERENCIAS Y OFF-TOPICS

---------------------------------------------------------------------
_______________________________________

MEMORIA Y ESPACIO DE INTERCAMBIO (SWAP)

Oracle expone que para la instalación correcta son necesarios 512Mb de RAM y en swap el doble o lo mismo. Para ver la memoria puedes ejecutar:



grep MemTotal /proc/meminfo

Y para ver la cantidad de memoria swap:



cat /proc/swaps

En caso de necesitar más memoria swap lo que debes hacer es crear un archivo de swap, mediante el comando dd (esto también está fuera del alcance de este documento :(

__________________


MEMORIA COMPARTIDA

En realidad esto es de lo más importante y aquí es dónde yo tuve algunos problemas (por despistado, ya que no es nada complicado) si ejecutas:



cat /proc/sys/kernel/shmmax

Obtendrás un valor, yo obtengo 33554432 así que lo aumenté a 1073741824, de la siguiente manera:


 



echo "1073741824" > /proc/sys/kernel/shmmax

*Sería mejor que mientras corren Oracle dejen siempre configurado este valor.


________________


ESPACIO EN DISCO

Bueno la verdad es que no tuve problema aquí, yo tenía 20Ghz dedicados a Linux y supuestamente solo son necesarios 2.5Ghz para la instalación y 3.5Ghz para tener una base de datos normal.


___


JDK

Bueno el sistema de desarrollo de java no es problema, yo instalé Forte for Java (Sun One Studio) y me parece un entorno de desarrollo bastante completo, aunque pesado.


____________________________


CUENTAS DE USUARIOS Y GRUPOS

Aunque no es indispensable me pareció bastante útil el usar cuentas por separado para cada cosa, luego las cambié para mi gusto empero les muestro las originales para que no haya confusiones. Obviament como root ejecutas:


groupadd dba
groupadd oinstall
useradd -g oinstall -G dba oracle
passwd oracle

_____________________
DIRECTORIOS DE ORACLE

Aquí muestro la instalación sobre /opt, para esto debes asegurarte que tengas suficiente espacio en el filesystem que contenga /opt; como root te mandas:



mkdir /opt/oracle
mkdir /opt/oracle/product
mkdir /opt/oracle/product/9.2.0
chown -R oracle:oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle

____________________________________


CONFIGURANDO EL AMBIENTE PARA ORACLE

Estas variables de ambiente deben estar configuradas antes de ejecutar "runInstaller". Para esto debes estar logueado como el usuario oracle:

# Ambiente de Oracle
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm

#export TNS_ADMIN= configurar si sqlnet.ora,
#tnsnames.ora, etc. no estan en
#$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH

# Configuración del PATH del shell
export PATH=$PATH:$ORACLE_HOME/bin

# CLASSPATH:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH

El mejor lugar para poner todo esto sería en ~oracle/.bash_profile y así no tendrás que configurarlo cada vez.


_________________


INSTALANDO ORACLE

Ahora solo le corres "runInstaller"; las principales respuestas deacuerdo a toda la configuración que hemos hecho, sería:


What would you like as the base directory (Inventory Location):
/opt/oracle/oraInventory
UNIX Group Name (permission for updating Oracle software):
oinstall
Full path name for Oracle Home:
/opt/oracle/product/9.2.0
Oracle Home Name:
OUIHome
JDK Home Directory:
/usr/local/java (o la ruta del forte for java)

_______________________________________


ARRANCANDO Y PARANDO LAS BASES DE DATOS

Ahora solo debes arrancar con:



... pepo]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup

Y lo demás ya es común para todos nosotros, hay archivos para arrancar y parar ORACLE, que son $ORACLE_HOME/bin/dbstart y $ORACLE_HOME/bin/dbshut; los cuáles los puedes poner en algún rc para que se ejecute y se cierre cada vez que arranques el sistema.


____________________________________________


PARANDO EL SERVICIO PARA ACCESO DESDE LA RED

Para que puedas ejecutar cualquier conexión solamente debes ejecutar "netca" y le pones el puerto por dónde escuchar y la información común. No entiendo el porqué pero cuándo yo cambiaba la memoria compartida tenía que esperar unos segundos antes de ejecutar "netca" caso contrario tenía errores. :)


Y listo, supongo que si todo fue bien, ahora tienes el sistema corriendo a punto.


________________________


SUGERENCIAS Y OFF-TOPICS

Bueno sobre todo el uso de OpenSource es la mejor y mayor sugerencia que puedo darte.


El uso de un buen clon (o máquinas de caja blanca) es de lo mejor, yo te digo ya que armé mi máquina y me ha corrido de mil maravillas además de que el precio fue bajísimo.


Nosotros usamos "samba" para compartir archivos entre windows y Linux cuándo estábamos desarrollando el sistema.


Un buen grupo de trabajo es una cosa muy importante al desarrollar un sistema, sobre todo que exista un buen sentimiento de camaradería.


Pero nada más rico y relajante mientras haces un sistema extenso que tener una novia que con solo verla te alborote las neuronas ];-) claro que esto fue en mi caso y la sugerencia es dependiente del gusto del desarrollador :)


SOBRE EL AUTOR

[Pepo]


email: pepo@linuxmail.org


Linux User Registered #232544


ICQ : 337889406


Documento bajo Licencia GNU |
GPL pepo@linuxmail.org


Cuenca, junio 15 de 2003