Notas sobre la instalación de ORACLE
Por: Ing. John A. Sanabria O.
Intro
Oracle sin duda alguna es uno de los mayores vendedores de motores de Base de Datos en el mundo, por este motivo debe ser de gran motivación el anuncio y posterior entregar de su motor de base de datos a la comunidad informática de usuarios de Linux alrededor del mundo.
En paises en via de desarrollo como los nuestros, hablo de los suramericanos, el mercado que más se mueve y sobre el cual trabajan los ingenieros de sistemas, es sin duda alguna las Bases de Datos. Por ello encontrar esta nueva posibilidad nos permiten a nosotros practicar y aprender el trabajo de bases de datos a muy bajo costo, en un sistema operativo estable y gratis, con uno de los motores de bases de datos más rápidos del mundo y de mayor uso en el sector comercial y financiero.
Es por ello que no nos debemos quedar al margen de nuestro desarrollo profesional y aprovechar esta oportunidad para crecer al pie de los grandes.
Es también de gran beneplácito para la comunidad informática Linux, observar, que después del anuncio de Oracle 8i en CD para los miembros de OTN tanto para el sistema operativo NT como Solaris, aparezca de manera gratuita la inclusión del sistema operativo Linux, también.
Mi máquina
Tengo actualmente un disco duro de 2.5 GB, pentium a 166 MHz, 49 MB de RAM, 145 MB de SWAP, kernel 2.0.34, glibc-2.0.6.
La distribución de linux que estoy usando es Slackware 3.5. En este caso he instalado por mi cuenta la glibc2. Si ud. posee un sistema Linux instalado desde una distribución Red-Hat, quizá ud. ya tenga la glibc2. Para los que usan slackware, revisar el Glibc2-HOWTO, e intentar la segunda forma de instalar una librería glibc como explica el HOWTO.
Según el archivo ubicado en /cdrom/unixdoc/server.805/a66251/1req.htm, para la instalación los requerimientos mínimos son, 400 MB de espacio en disco y 32 MB de RAM. Recuerde que este espacio en disco sólo es para la instalación, requerirá espacio extra para la creación de BD.
Debe además revisarse las notas que acompañan este release, y el README en el directorio $ORACLE_HOME/rdbms/doc antes de usar el Servidor Oracle8. Más archivos README se encuentran en los directorios doc o admin/doc de los productos respectivos.
Preparando el entorno
- Preparando el kernel: Para lograr una eficiente ejecución de Oracle en su servidor Linux debe modificar los siguientes parámetros del kernel en los siguientes archivos:
/usr/src/linux/include/asm/shmparam.h:
SHMMAX 0xFFFFFFF
SHMMIN 1
SHMMNI 100
SHMSEG 10
/usr/src/linux/include/linux/sem.h:
Creando grupos del sistema operativo para los adminstradores de la BD: Utilice la utilidad groupadd y cree el grupo dba.
Creando una cuenta en el SO del propietario del software de Oracle: Esta cuenta es la propietaria de la distribución de Oracle. El instalador se debe ejecutar estando en esta cuenta. Utilice adduser para crear la cuenta, oracle, con las siguientes propieades:
Login: Puede ser cualquiera, pero para efectos de este documento será oracle.
GID: Debe ser el correspondiente al grupo que creó anteriormente. dba.
Directorio HOME: Escoja un directorio consistente con los otros usuarios del sistema. Este directorio no tiene que ser necesariamente el directorio ORACLE_HOME.
Login Shell: El shell por defecto puede ser /bin/sh,/bin/csh, o /bin/ksh, pero para los ejemplos de este documento será el Bourne Shell (/bin/sh o bash).
La cuenta oracle debe ser utilizada únicamente para instalar y mantener el software de Oracle. Nunca la utilice para propósitos del Oracle Server. No se loguee como un usuario de la base de datos cuando este usando la cuenta oracle.
Crear un directorio local para los ejecutables: Tener un ambiente común para los usuarios de Oracle simplifica en gran manera la administración del sistema. Una parte para crear un ambiente común es crear un directorio bin, puede ser /usr/local/bin, por fuera del directorio ORACLE_HOME, para el software compartido.
El Installer ubica los scripts oraenv(coraenv para el C shell) y dbhome en $ORACLE_HOME/bin. Después de la instalación, el script root.sh copia los archivos al directorio /usr/local/bin. El Installer no puede ubicar estos archivos directamente ya que el no debe ejecutarse como root.
Crear el archivo oratab: La información acerca de las instancias Oracle son almacenadas en el archivo oratab. Este archivo es propiedad de la cuenta oracle, pero reside en un directorio que requiere privilegios de root cuando se crea el archivo. Ejecutar el script directorio_cdrom/orainst/oratab.sh para crear o dar los permisos del archivo oratab en el directorio /etc. Ejecutar este script antes de iniciar la instalación.
Antes de iniciar el proceso de instalación cree el siguiente directorio:
mkdir -p /directorio/donde/va/instalar/oracle/product/release/doc/server.805/install
Supongamos que ud. desea instalar oracle en el directorio /usr/local/apps/oracle, pues bien, ud. debe emitir el comando:
mkdir -p /usr/local/apps/oracle/product/release/doc/server.805/install
Tareas a ejecutar como usuario oracle
- Estableciendo los permisos para la creación de archivos: establezca el umask a 022 para asegurar que el grupo y otros tengan permisos de ejecución y lectura, pero no de escritura, sobre los archivos que el Installer cree. Si el ejecutar el comando umask, la respuesta a esta es diferente de 022, emita el siguiente comando umask 022.
- Inicializar Variables de ambiente: estas variables deben ser inicializadas en los archivos .bash_profile, .profile, o .login.
ORACLE_HOME: Especifique el directorio que contiene el software de Oracle para un release dado de Oracle Server. El valor recomendado por OFA es $ORACLE_BASE/product/release. Por ejemplo:
/usr/local/apps/oracle/product/8.0.5
LD_LIBRARY_PATH: Es requerido cuando use productos de Oracle que usen librerias compartidas. Inicialice LD_LIBRARY_PATH a $ORACLE_HOME/lib.
ORACLE_BASE: Especifica el directorio más arriba del software de Oracle y estructura de archivos administrativos. El OFA-recomienda un valor igual a software_punto_monte/app/oracle. En nuestro caso /usr/local/apps/oracle.
ORACLE_SID: Especifica el identificador del sistema Oracle (sid), el cual es el nombre de la instancia del Oracle Server. Ya que el sid esta incorporado en muchos nombres de archivos, Oracle Corporation recomienda restringir este a no más de 4 caracteres, para evitar los problemas de nombres de archivos sobre sistemas heterogeneos. Por ejemplo: UNIX.
ORACLE_TERM: Especifica la definición de la terminal para ser usada con el Installer y otros productos de Oracle. Usemos vt100.
ORA_NLS33: Esta variable es requerida si creamos una base de datos con un caracter de almacenamiento distinto a US7ASCII. Esta variable debe ser inicializada a $ORACLE_HOME/ocommon/nls/admin/data antes de empezar el Installer o crear la base de datos.
PATH: verifique que la ruta de busqueda incluya los siguientes:
- $ORACLE_HOME/bin, /bin, /usr/bin, y /usr/local/bin
SRCHOME: Deberia ser indefinido cuando se está ejecutando el Installer. Si tiene algún valor, el Installer definirá este como la ruta del fuente del software para instalar.
TMPDIR: Puede ser el directorio /tmp.
Iniciando el Installer
Ubíquese en el directorio donde se encuentra su cd de instalación, cambie al directorio orainst y dentro de este ejecute el comando orainst. Con TAB se mueve entre bloques, con flechas te mueves entre los elementos de un bloque, con barra espaceadora escoges un elemento del bloque.
Una de las opciones que deberá escoger es instalar oracle sin la creación de objetos de la base de datos, se recomienda crear los objetos en una sesión distinta a la de instalación para facilitar la depuración en caso de problemas. De hecho bajo Linux la instalación de oracle no se permite hacer junto con la creación de objetos, por algún problema que no se ha identificado.
Notas postinstalación
Después de instalar Oracle es necesario ejecutar el archivo root.sh, que se encuentra en el directorio $ORACLE_HOME/orainst. Según lo que entendí el directorio donde el usuario oracle reside no necesariamente debe coincidir con la variable de entorno $ORACLE_HOME. Pues parece ser que no es así, deben ser lo mismo, pero si ud. ya ha instalado oracle en /home/oracle y el software de oracle en cualquier otro directorio, digamos /usr/local/apps/oracle, haga apuntar la variable de entorno $ORACLE_HOME al directorio donde reside el usuario oracle, es decir /home/oracle, cree los siguientes enlaces simbólicos:
ln -sf /directorio/donde/instalo/oracle/product/release/orainst .
ln -sf /directorio/donde/instalo/oracle/product/release/lib .
ln -sf /directorio/donde/instalo/oracle/product/release/bin .
Se asume que ud. esta en la casa de oracle, es decir /home/oracle, al momento de ejecutar los comandos anteriores.
Debe cambiar el sid del archivo oracle para el grupo de usuarios que pertenecen al grupo dba. Ejecute el siguiente comando:
Conclusión
Como ud. ha visto quizá el proceso de instalación de Oracle bajo Linux no es tan directo como el proceso de instalación de Oracle, digamos bajo NT. Pero, realmente no es tan complicado, pero lo cierto es que es necesario, llevar consigo un documento como este en caso de ser necesario instalar una base de datos.
En un próximo documento que ya está en proceso de ser publicado, presentaré la manera como empezar a crear tablas en una base de datos como Oracle. Como crear usuarios, como crear table-spaces, rollbacks, asociar usuarios con table-spaces, table-spaces con rollbacks, etc., y explicaré cada uno de los conceptos para el usuario de Linux con ganas de instalar Oracle, pero sin saber como usar una base de datos como esta.
Cualquier sugerencia y/o comentario por favor enviarla a: josanabr_75@yahoo.com