lcruzva@clientes.unicaja.es
y Angel Carrasco
karrasko@arrakis.es
Desde el principio, siempre ha habido programas que han sido más complicados en algún sentido que otro y como en todo siempre hay exageraciones. Oracle es una de las base de datos relacionales más importantes del mundo pero a su vez es el programa que necesita unas condiciones preinstalatorias bastante rebuscadas y añadiéndose a este particular, algún fallo que recoge el script de instalación hace que sea uno de los programas más complicados de los que nos hayamos encontrado.
Hemos intentado desde un principio explicarlo de una forma clara pero si desea
hacer un comentario o alguna pregunta por favor no dude en hacerla. Quejas,
reclamaciones y todas esas cosillas van a ir a /dev/null
.
Este documento es Copyright (C) 1999 de Luis M. Cruz y Angel Carrasco y es
OpenContent (Contenido Abierto). Usted puede redistribuirlo y/o modificarlo
bajo los términos de la Licencia OpenContent (OPL) versión 1.0, tal y como fue
publicada por la OpenContent Organization. Este documento se distribuye con la
esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin ni siquiera la
garantía implícita de COMERCIABILIDAD o CONVENIENCIA PARA UN PROPOSITO
PARTICULAR. Vea la Licencia OpenContent para más detalles. Existe una versión
disponible en
http://www.opencontent.org/opl.shtml
.
El copyright no es para restringir los derechos a nadie, es para garantizar que todo el mundo pueda usarlo y que de paso no me intenten colgar algún muerto si a alguien le falla algo al intentar hacer lo que aquí indico. Como se suele decir en estos casos, a mi me funciona y su caso puede variar.
Esta es la parte principal para que funcione todo. Aquí creará todos los pilares para que pueda usted instalar Oracle.
En el apartado hardware:
En el apartado software:
2.0.34
2.0.7
, incluida en Red Hat 5.2 y superiores o Debian 2.01.0.2
ó 1.1.1
2.7.2.3
o superiorDebe editar dos ficheros para configurar los parámetros referentes a la memoria
compartida y a las señales. No es imprescindible pero si conveniente para poder
tener un buen entorno de trabajo que soporte cargas elevadas. El primero sería
/usr/src/linux/include/asm-i386/shmparam.h
Ajustaremos:
El segundo sería /usr/src/linux/include/linux/sem.h
Acto seguido recompilará el Kernel del nuevo.
El objetivo es crear un usuario, aquí llamado oracle
, que actuará de
administrador de la Base de datos dentro del grupo de usuarios DBA
(Database Administrator).
Para ello tiene dos métodos.
[root@root]# groupadd dba
[root@root]# useradd oracle -g dba
[root@root]# passwd oracle
Cree el usuario de esta forma.
[root@root]# adduser oracle
Edite el fichero /etc/group
. En la línea que lea:
oracle:x:[numero]:
Reescríbala así:
dba:x:[numero]:oracle
Cree una serie de subdirectorios. El primero será para la propia instalación de
Oracle (/usr/oracle
) y los tres siguientes para la instalación de las
bases de datos (/u01
, /u02
y /u03
). Lo recomendable
es que estos subdirectorios puedan ser particiones diferentes para aprovechar
mejores ventajas tanto a seguridad, etc. Aproveche la ocasión para crear un
subdirectorio local para almacenar algunos scripts.
[root@root]# mkdir /usr/oracle
[root@root]# mkdir /u01
[root@root]# mkdir /u02
[root@root]# mkdir /u03
[root@root]# mkdir /usr/local/bin
Después de crearlo, le hará pertenecientes al usuario oracle
y del
grupo dba
.
[root@root]# chown -R oracle:dba /usr/oracle
[root@root]# chown -R oracle:dba /u01
[root@root]# chown -R oracle:dba /u02
[root@root]# chown -R oracle:dba /u03
Para empezar asigne una máscara al usuario oracle
para asegurarse que
los usuarios de grupo y el resto sólo tienen permiso de lectura y ejecución,
pero no de escritura.
[root@root]# umask 022 oracle
Añada las demás variables de entorno al fichero profile. Depende un poco si
estamos usando bash y otros factores deberá editar
/etc/profile
,/home/oracle/.profile
o
/home/oracle/.bash_profile
.
export ORACLE_BASE=/usr/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.0.5
export ORACLE_SID=ora8
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_OWNER=oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_TERM=vt220
export TMPDIR=/var/tmp
Procederá a la instalación de Oracle 8.0.5. Para lo cual debe seguir los pasos siguientes:
Ante todo, asegúrese que el subdirectorio de montaje tenga todos los permisos de la siguiente forma:
[root@root]# chmod 777 /cdrom
Ahora móntelo:
[root@root]# mount -t iso9660 /dev/cdrom /cdrom
Pero se dan casos de que debido a la distribución no pueda ejecutar correctamente los programas, para lo cual, recomendamos:
[root@root]# mount /dev/cdrom /cdrom -o exec -t iso9660
oratab
Ahora se complican un poco las cosas. Este fichero es imprescindible; debe
tener en cuenta que usará el shell sh
y que lo buscará en
/usr/bin/sh
. Por ejemplo, los que usen Debian deberán hacer lo
siguiente:
[root@root]# ln -s /bin/sh /usr/bin/sh
Con esto se salvará el primer problema pero resulta que, oratab.sh
emplea una variable GROUPS
que en el entorno Bash se considera de sólo
lectura y no modificable. La solución que nos queda es instalar otro shell como
por ejemplo ash
. Entoces se ejecutaría de la siguiente forma:
cd /cdrom/orainst
[root@root]# ash oratab.sh
Luego edite el fichero y escriba en la parte final.
[root@root]# joe /etc/oratab
ORACLE_SID:ORACLE_HOME:Y
Hay otra alternativa a esto y sería crear el fichero y añadir esta línea. Es preferible seguir siempre la linea más cercana al fabricante.
orainst
Ahora sólo queda ejecutar orainst
para poder instalar el programa. Ya
está preparado para casi todo lo que nos va a surgir en la instalación.
Debemos hacerlo como usuario oracle
:
[root@root]# su oracle
[oracle@root]$ cd /cdrom/orainst
[oracle@root]$ ./orainst
orainst
Como todo en nuestras vidas tiene fallos. He aqui los dos más graves:
Todavía no sé porqué Oracle tiene fijación con ciertas librerias a las cuales
les asigna el nombre que quiere y no el que debería. Por lo tanto, tendremos
problemas como éste: se busca tcl.so
, cuando en realidad la librería
se llama tcl8.0.so
). La solución es hacer un enlace simbólico de la
libreria tcl8.0 que tengamos instalada.
[root@root]# ln -s /usr/lib/tcl8.0.so /usr/lib/tcl.so
El problema surge porque a nuestro amigo orainst
se le olvida crear el
subdirectorio final. Haremos lo siguiente.
[root@root]# cd /usr/oracle/app/oracle/product/8.0.5/doc
[root@root]# mkdir -p server.805/install
[root@root]# find | xargs chown oracle:dba
Por último, y ya como root
, vamos a ejecutar root.sh
[root@root]# cd /usr/oracle/app/oracle/product/8.0.5/orainst
[root@root]# ./root.sh
Ahora dira que ORACLE_HOME
no es válido, simplemente limitese a decir que
si a todo y habra finalizado la instalación. Este es el último fallo. A partir
de aqui todo deberá funcionar como un reloj.
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encargándose de las traducciones al castellano de los Howtos,
así como de la producción de documentos originales en aquellos casos en los
que no existe análogo en inglés, centrándose, preferentemente, en documentos
breves, como los COMOs y PUFs (Preguntas de Uso
Frecuente, las FAQs. :)
), etc.
Diríjase a la sede del Insflug para más información al respecto.
En ella encontrará siempre las últimas versiones de las traducciones
«oficiales»:
www.insflug.org
. Asegúrese de comprobar cuál es la última
versión disponible en el Insflug antes de bajar un documento de un
servidor réplica.
Además, cuenta con un sistema interactivo de gestión de fe de erratas y sugerencias en línea, motor de búsqueda específico, y más servicios en los que estamos trabajando incesantemente.
Se proporciona también una lista de los servidores réplica (mirror) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano.
En
http://www.insflug.org/insflug/creditos.php3
cuenta con una
detallada relación de las personas que hacen posible tanto esto como las
traducciones.
ˇDiríjase a
http://www.insflug.org/colaboracion/index.php3
si desea
unirse a nosotros!.
«Cartel» Insflug,
cartel@insflug.org
.