Cerrar

Enviar mensaje

twitter FaceBook You Tube Git Hub Docs.com Enviar email

Manual de Administración de Bases de Datos

[3]
Instalación de Oracle Database

Publicidad

[3.1] instalación de SGBD

[3.1.1]sobre la instalación de SGBD

Los Sistemas Gestores de Bases de Datos son herramientas software complejas. Por ello su instalación no es sencilla. Hay que tener en cuenta consideraciones sobre la red, el uso de recursos, la dedicación del hardware concreto en el que instalemos el sistema,…

Todo ello hace que el proceso de instalación sea muy extenso y complejo; aunque ha mejorado enormemente en estos años gracias asistentes que facilitan la tarea.

Instalar una base de datos implica conocer muy bien el funcionamiento de las bases de datos y la arquitectura del SGBD concreto que vamos a instalar. En estos apuntes nos centramos en la instalación de Oracle 11g, que es uno de los sistema más populares a nivel empresarial. Por supuesto necesitamos conocer su arquitectura para que durante la instalación preparemos el software y la base de datos de la forma más eficiente respecto a nuestras necesidades y capacidades del sistema.

[3.1.2]antes de instalar: selección del SGBD

En los manuales de instalación de bases de datos no se suele hablar del proceso previo, sin embargo, es enormemente importante. Se le debe dedicar mucho tiempo a esta decisión, porque una vez elegido el SGBD, es más difícil cambiar de idea luego, ya que nuestra elección requiere inversión y tiempo. Se comentan los puntos que decidirán nuestras decisiones.

1paso 1: selección por requisitos

Se trata de analizar qué necesitamos del SGBD. En este sentido algunas cosas a tener en cuenta pueden ser:

2paso 2: comprobar requerimientos

Una vez seleccionado el SGBD ahora tenemos que asegurarnos de cumplir nosotros los requisitos que exige. Todos los sistemas indican qué requisitos necesitan en cuanto a:

Oracle también dispone de manuales de libre descarga en la dirección:
http://docs.oracle.com/en/database/ Desgraciadamente toda la documentación sólo se encuentra en inglés.

[3.2.2]herramientas de administración de Oracle

El SGBD comercial Oracle sólo se puede instalar en sistemas Windows, Linux (y sólo en versiones Red Hat Enterprise y SuSe Enterprise) y Solaris. Normalmente se instala a través del software conocido como Oracle Universal Installer (OUI), que al ser un programa Java, es el mismo en todas las plataformas (salvo por algunos pasos que varían debido a las particulares de cada sistema operativo).

Como es posible que un sistema posea varios usuarios, e incluso que cada uno realice varias instalaciones de software Oracle para bases de datos, Oracle ha diseñado una recomendación para organizar los directorios en los que se instalarán sus productos. Es, por lo tanto, un estándar en las instalaciones que conviene conocer tanto si instalamos nosotros Oracle, como si son otros los instaladores; ya que si son técnicos profesionales seguirán esta recomendación y nos será fácil conocer las rutas del sistema.

La recomendación de instalación se llama Oracle’s Optimal Flexible Architecture (OFA).

OFA impone la estructura de directorios y archivos en el sistema que Oracle debe utilizar en cada instalación. Las razones de su uso son:

Sus elementos fundamentales son las variables de sistema ORACLE_BASE y ORACLE_HOME, que son las que tienen asignadas las rutas fundamentales.

1Oracle Base

El directorio Oracle Base, es la raíz de las instalaciones de Oracle (de todos los productos, de todas las versiones). En el modelo OFA en Linux deben cumplir la forma:

/pm/h/u

Donde:

La ruta más habitual es:

/u01/app/oracle 

En el caso de Windows la ruta sigue la expresión (si oracle es el nombre del usuario que instala la aplicación):

unidad:\app\oracle

y esta ruta debe estar en la raíz de cualquier unidad de disco. Por ejemplo
C:\oracle\app

2ruta a los archivos de datos

La base de datos en el modelo OFA se almacena en un directorio llamado oradata que se estará dentro del directorio Oracle Base. Dentro de oradata se utiliza el nombre de instancia de la base de datos. Por ejemplo (Linux):

/u01/app/oracle/oradata/orcl

La base de datos de nombre orcl está almacenada en el directorio de todas las bases de datos (oradata) que, a su vez, cuelga del directorio Oracle Base.

Dentro de esa ruta se deberían encontrar estos archivos:

3Oracle Home

Se trata del directorio raíz de una instalación concreta de Oracle (Oracle 11g R2, Oracle 10g, etc.). Su ruta OFA es:

ORACLE_BASE/product/versión/nombre_instalación

La versión es la versión del producto que se instala y el nombre de la instalación es una texto estándar propuesto por Oracle. Esa propuesta es:

Cuando se instala más de una vez el mismo producto se añade un número a la rura. Por ejemplo, en el caso de dbhome si hay dos instalaciones una tomaría dbhome_1 como raíz Oracle Home y la otra dbhome_2.

Ejemplo de ruta completa Oracle Base en un sistema Linux:

/u01/app/oracle/product/11.2.1/dbhome_1

En Windows:

c:\oracle\app\product\11.2.1\dbhome_1

4subdirectorios de administración

Oracle recomienda que los archivos necesarios para administrar Oracle se encuentren dentro del directorio admin que, a su vez, está dentro de Oracle Base. Dentro de este directorio colgará otro por cada instancia de la base de datos y dentro de este último cuelgan todos los directorios con información administrativa. Por ejemplo los archivos de parámetros en una instalación de Oracle Database en Linux podrían tener esta ruta:

/u01/app/oracle/admin/orcl/pfile

Donde orcl es el nombre de la base de datos y pfile es el nombre del directorio que almacena los archivos de parámetros de Oracle.

La recomendación completa de directorios es la siguiente:

subdirectorio

uso

arch

Históricos redo log (archivados redo log)

adump

Archivos de auditoria

create

Scripts de creación de bases de datos

dpdump

Volcados de exportación/importación de datos (archivos dump)

exp

Archivos para exportación de datos

logbook

Archivos de estado e históricos de funcionamiento de la base de datos

pfile

Archivos de parámetros

scripts

Scripts SQL

5Oracle Inventory Directory

Este directorio se comparte con todas las instalaciones de Oracle en el sistema. Sirve para indicar qué productos hay instalados.

En cuanto se instala el primero producto Oracle, comprueba a ver si existe directorio de inventario; de no ser así, se crea. Si puede respetar la estructura recomendada OFA, en Linux se instalará en la raíz (por ejemplo /u01/app/oraInventory), de no ser así se instalará en el directorio del usuario que instala Oracle ($HOME/oracle/oraInventory).

En Windows se coloca siempre en la carpeta de Oracle dentro de la carpeta de aplicaciones de Windows (por ejemplo en C:\Program files\Oracle\Inventory).

Por otro lado Oracle dispone de un archivo que permite encontrar el inventario, que en Linux suele ser /etc/oraInst.loc y en Windows es la clave de registro: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc

6Oracle Network Files Directory

Se trata del directorio que contiene los archivos de configuración de la red, en especial tnsnames.ora y listener.ora que contienen la configuración fundamental. Se suele encontrar en la ruta: ORACLE_HOME/network/admin

7

8resumen de directorios

La siguiente imagen muestra la estructura de directorios más reseñable en una instalación típica de Oracle Database 11g:

[3.3] instalación en Windows

[3.3.1]prerrequisitos

1hardware

En Windows, el icono equipo es el que nos permite conocer estas propiedades usando las propiedades de dicho icono.

2software

Es aconsejable crear un usuario relacionado con Oracle con permisos administrativos y con él instalar el software. La razón: ser coherente con las rutas OFA comentadas anteriormente, que de otra forma harán referencia al usuario con el que instalemos Oracle sea o no relacionado con él.

En Windows, de la configuración de las variables de entorno (PATH, ORACLE_HOME,…) y de la mayoría de detalles de configuración del sistema se hace cargo el instalador de Oracle, sin que tengamos que intervenir previamente (a diferencia de la instalación en Linux).

[1]Descargar los archivos ZIP correspondientes a nuestra instalación y descomprimirlos en la misma carpeta. Desde esa carpeta (suele llamarse database) lanzar el instalador (archivo setup.exe).

[2]Indicar correo electrónico al que Oracle enviará información sobre problemas críticos y si deseamos que nos envíe información de soporte. En una instalación de prueba no se rellena ninguno de estos apartados

[3]Indicar si deseamos con el instalador instalar ya la instancia de base de datos. Lo recomendable es instalar sólo el software de la base de datos.

[4]Indicar si deseamos instalar una instancia única de Oracle o bien instalar instancias múltiples (base de datos distribuida). Lo lógico, por ahora, es instalar una instancia única

[5]Elegir los idiomas

[6]Elegir el tipo de instalación. Enterprise es la opción si deseamos instalar Oracle con todas sus posibilidades. Las diferencias entre las distintas ediciones de Oracle están disponibles en:

https://docs.oracle.com/cd/B28359_01/license.111/b28287/editions.htm

[7]Para elegir componentes concretos de Oracle a instalar, podemos pulsar el botón Seleccionar Opciones:

[8]Elegir la ubicación de instalación. Normalmente el instalador la creará de forma coherente; se indicarán la base general de Oracle y el Oracle Home del producto que se está instalando en base al esquema OFA. En cualquier caso se puede cambiar la disposición según comprobemos lo que más nos interesa.

[9]Si el usuario de instalación se llama oracle, el directorio Oracle Base será C:\app\oracle, el Oracle Home será algo del tipo:
C:\app\oracle\product\11.2.1\dbhome_1 (suponiendo que sea nuestra primera instalación de Oracle):

[10]Comprobación de requisitos. Se comprueba si el hardware y el software cumplen el mínimo de Oracle. De ser así se comienza la copia de archivos (de otro modo tendremos que arreglar los requisitos que no cumplamos).

[11]Al final de la copia, normalmente, el cortafuegos de Windows nos avisará de que se está utilizando un puerto de comunicaciones, debemos dejar pasar dicho puerto para que Oracle funcione. En todo caso deberemos estar atentos a este hecho porque los puertos que requiere Oracle para trabajar (1521 y 1138 como mínimo) deben de estar abiertos.

[12]Tras la copia, aparece el último cuadro que avisa del fin de la instalación. Con eso, esta fase está finalizada.

1variables de sistema

Conviene editar una serie de variables de sistema y configurarlas en Windows para su funcionamiento (por ejemplo desde Administrar Sistema de Windows) son:

1hardware

2software

1sistemas operativos compatibles

Oracle 11g sólo es compatible (oficialmente) con estos sistemas (sean de 32 o 64 bits):

Podemos averiguar la versión del sistema mediante:

$ cat /proc/version

Además el Kernel debe de ser al menos el 2.6.9 para las versiones 4 de Oracle Linux y Red Hat Enterprise. La versión 2.6.18 para Oracle Linux 5, Red Hat 5 y Asinux. SUSE exige la 2.6.21. Se puede obtener con:

$ uname –r

2servidor X

Oracle se instala de forma gráfica, por lo que el sistema Linux debe de tener activado el servidor X. Si instalamos desde una conexión ssh habrá que activar el servidor x en esa conexión.

3configuraciones de red y host

Se requiere que el servidor tenga nombre, no es totalmente imprescindible, pero la máquina en la que se instala Oracle es un servidor. Eso implica modificar el archivo /etc/hosts para indicar el nombre del servidor. Por ejemplo:

127.0.0.1	dbserver.salesianos-villamuriel.local
192.168.12.3	db1.salesianos-villamuriel.com

Por la misma razón necesitamos usar dirección IP única en la máquina en la que se instala Oracle. Es decir no usar DHCP para direccionar la IP en el servidor de Oracle. Los pasos para realizar esta operación son:

DEVICE=eth0
ONBOOT=yes #Activa la tarjeta de red en el inicio
BOOTPROTO=static #indicamos dirección estática
IPADDR=192.168.12.3 #IP del servidor
NETMASK=255.255.255.0 #máscara de red
GATEWAY=192.168.12.200 #IP del router
NETWORK=192.168.12.0 #Dirección de red, opcional
BROADCAST=192.168.12.255 #Dirección de difusión, opcional
HWADDR=XX:XX:XX:XX:XX:XX #MAC
TYPE=Ethernet
4navegador web

Para configurar algunos servicios de Oracle. Debe de ser navegador moderno (Internet Explorer 6 o superior, Firefox 2.0 o superior, Safari 3.1 o superior, Chrome 3.0 o superior)

5paquetes necesarios

Oracle exige que el sistema tenga instalados un buen número de paquetes. Por ejemplo para sistemas Red Hat Enterprise (incluido CentOS) u Oracle Linux de 32 bits versión 5 se exigen:

Para conocer los paquetes exactos a instalar es mejor acudir a la documentación de Oracle (https://docs.oracle.com)

La instrucción rpm -q seguida del nombre del paquete nos permite saber si dicho paquete está instalado (también valdrían yum list seguida del paquete, si la herramienta yum está instalada). Los paquetes que falten habrá que instalarles.

También hay una serie de paquetes adicionales que se pueden requerir en función de nuestro uso de Oracle. Son los siguientes:

6configuraciones en el sistema

3automatización del cumplimiento de los requisitos software

Los pasos anteriores son extremadamente largos de realizar por la gran cantidad de requisitos a completar. Además es bastante habitual que algún paso se nos escape.

Por ello para los sistemas Linux compatibles con Oracle y que, además, dispongan de la herramienta yum para instalar paquetes desde repositorios, disponemos de un paquete llamado oracle-validated que, cuando lo instalemos, se encargará de cumplir la mayoría de los requisitos.

Para instalar oracle-validated debemos realizar los siguientes pasos:

[1]Debemos añadir el repositorio de Oracle a nuestra lista de repositorios de la herramienta yum. En el caso de sistemas Oracle Linux bastarán simplemente con añadir el repositorio como se explica en el paso 2.

[2]En los sistemas Red Hat Enterprise necesitamos un paso previo: deberemos convertir nuestro sistema en un sistema compatible con los repositorios de Oracle Linux. Para ello debemos hacer lo siguiente:1

[3]Modificar la configuración de repositorios de Oracle:

[4]A continuación editamos el archivo de configuración de yum (public-yum-xxx) y cambiamos la línea enabled=0 por enabled=1 en los repositorio que deseemos utilizar (normalmente estará activado sólo el último, el más actualizado que suele ser el más interesante):

[5]Instalamos el paquete oracle-validated:

# yum install oracle-validated

[6]Actualizamos los paquetes instalados

# yum update

4creación de usuarios y grupos

Para trabajar con Oracle de forma recomendable, necesitamos crear dos grupos en el sistema Linux.

Las acciones a tomar serán las siguientes (evidentemente si ya hemos hecho algo previamente, no hará falta repetirlo):

[1]Crear el grupo del inventario de Oracle, se llama oinstall:

# groupadd oinstall

[2]Crear el grupo OSDBA (con el parámetro –g le podemos asignar un ID concreto), que se debe de llamar dba:

# groupadd dba

[3]Crear el grupo OSOPER (con el parámetro –g le podemos asignar un ID concreto), que se debe de llamar oper:

# groupadd oper

[4]Opcionalmente, crear el grupo de administración de sistema ASM (gestor de ficheros propio de Oracle). Sólo si nuestros ficheros usan ASM:

# groupadd asmadmin

[5]Crear el usuario propietario del software de Oracle. Se le llama oracle y debe pertenecer a todos los grupos anteriores (se le asigna el ID mediante el parámetro
–u):

# useradd –g oinstall –G dba,oper oracle

[6]Asignar contraseña a dicho usuario

# passwd oracle

5modificar la seguridad del módulo SELINUX

Modificar la configuración del módulo de seguridad SELINUX para que sea más permisivo, de otro modo varias librerías de Oracle no funcionarán porque este módulo las bloqueará.

Bastará con editar en el archivo /etc/selinux/config la línea:

SELINUX=permissive

6crear directorios de Oracle

Siguiendo el modelo OFA comentado anteriormente deberemos crear los directorios necesarios para instalar Oracle. Suponiendo que nuestro usuario de instalación es oracle, las acciones para crear el Oracle Base serían:

# mkdir -p /u01/app/oracle

# chown -R oracle:oinstall /u01

# chmod -R 775 /u0

También en este punto y siguiendo las mismas acciones podemos crear y dar permisos para el directorio de la base de datos (oradata) que, de otro modo, se creará en $ORACLE_BASE/oradata.

7usar el usuario de instalación

Puesto que ya hemos creado y preparado todo lo referente a la instalación, tendremos que utilizar el usuario instalador de Oracle (en todos los ejemplos lo hemos llamado oracle)

8variables de sistema

Al menos hay que definir en nuestro archivo script de arranque (normalmente /etc/profile) estas líneas (usando las rutas anteriores):

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.1/dbhome_1
export ORACLE_SID=nombreBD
export ORACLE_UNQNAME=nombreBD
export ORACLE_HOSTNAME=nombreServidor
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

[3.4.2]instalación

Tras descargar los archivos de instalación y descomprimirlos. Entonces usaremos el usuario creado para la instalación (normalmente oracle) y entramos en el directorio con el instalador de Oracle y lanzamos el Oracle Universal Installer mediante:

$ ./runInstaller

Los pasos son los mismos que en la instalación en Windows, salvo en aquellos aspectos propios del sistema Linux (rutas, configuración del sistema,…)

[3.5] crear la base de datos

La base de datos no se tiene por qué crear durante la instalación. Es posible hacerlo después, tanto en Linux como en Windows. De hecho es mejor instalar la base de datos después.

Normalmente se utiliza el asistente DBCA (Data Base Creator Assistant) que en Windows se encuentra en Inicio-Programas en el grupo de Oracle en el apartado de Herramientas de Configuración bajo el nombre Asistente de Configuración de Bases de Datos. En Linux es un archivo en la carpeta bin de la raíz de Oracle (el ORACLE_HOME) llamado dbca; para funcionar correctamente se deben configurar las variables de entorno ya comentadas, ORACLE_HOME y ORACLE_BASE.

En Windows habría que comprobar las variables de sistema en Propiedades del Equipo, en el apartado de opciones avanzadas. Es importante situar la carpeta bin de Oracle en el Path del sistema también en Windows).

En ambos casos hay que configurar la conexión de red a Oracle. Lo que se conoce como el Listener. Un listener es un programa residente en memoria (un proceso) que sirve para escuchar lo que llega por un puerto de red y enviarlo a su destino correspondiente. Sin él, por lo tanto, Oracle no obtendría las peticiones por red.

Los pasos completos para crear una base de datos en Oracle son:

[1]Lanzar el Asistente de Configuración de Red (comando netca desde la línea de comandos).

[2]Elegir Configuración del Listener y luego Agregar.

[3]Elegir un nombre para él (lo habitual es LISTENER)

[4]Especificar el protocolo por el que se comunica (TCP normalmente)

[5]Elegir el número de puerto que utilizará (normalmente el 1521)

[6]Normalmente en este paso, salta el cortafuegos de Windows avisando de que un nuevo programa intenta utilizar el puerto 1521. En el caso de Linux hay que estar seguros de que tenemos ese puerto abierto. Lógicamente permitimos el acceso, de otro modo no podríamos comunicar con la base de datos.

[7]Finalmente, salir del asistente (tras decir que no configuramos más listeners)

[8]El siguiente paso es lanzar el Asistente de Configuración de Bases de Datos (comando dbca), que nos permitirá configurar totalmente la nueva base de datos.

[9]Paso 1. Avanzar y elegir Crear una base de datos

[10]Paso 2. Avanzar y elegir Personalizar la base de datos, de esa forma no se crearán datos en la misma y podremos configurar detalladamente las opciones de instalación. El botón Mostrar Detalles nos muestra las variables y opciones por defecto para ese tipo de instalación.

[11]Paso 3. Indicar el nombre de la base de datos (toda nuestra red usará ese nombre) y un identificador de la base de datos (SID). Normalmente se pone el mismo nombre en ambos apartados. Este nombre será por el que nos referiremos en todo momento a la instancia de base de datos, es uno de los pasos fundamentales por lo tanto.

[12]Paso 4. Asegurar que la casilla que permite configurar el servidor Oracle con Enterprise Manager está activada. El Enterprise Manager es un administrador visual de las bases de datos Oracle. Lo demás se suele dejar con sus valores por defecto.

[13]Paso 5. Establecer las contraseñas para los usuarios administrativos (en especial para SYS y SYSTEM). Se puede elegir la misma para todos (válido solo para sistemas en prueba, por seguridad conviene crear contraseñas distintas para cada usuario). SYS y SYSTEM son los usuarios fundamentales.

[14]Paso 6. Paso en el que se elige la forma de almacenar los archivos. Se suele elegir un sistema de archivos normal como sistema de almacenamiento, usar las ubicaciones de la plantilla y se puede pulsar el botón Variables de ubicación de archivos para analizar los directorios creados y las variables del sistema. Las otras son opciones avanzadas de gestión de los archivos, que nos permiten automatizar de otra forma dicha gestión.

[15]Tras pulsar en Variables de ubicación de archivos, aparece:

[16]Paso 7. La siguiente permite configurar la recuperación de Flash. Este modo de recuperación nos permite volver hacia atrás en los datos en caso de desastre. Esta utilidad consume mucho disco (Oracle recomienda al menos el doble del tamaño original de la base de datos), pero es enormemente interesante. Además desde aquí podemos activar el modo de archivo ARCHIVELOG que nos permite almacenar los históricos redo log (o archivados redo log) para recuperar la base de datos en caso de desastre.

[17]En el caso de activar el modo de Archivado, el botón de Editar Parámetros de Modo de Archivado nos permite elegir el destino y nombre de dichos archivos (incluso podremos elegir varios destinos para multiplexar los archivos.

[18]Paso 8. En la pantalla siguiente se suelen desactivar todas las casillas, excepto: Enterprise Manager Repository. El resto le añade funciones que no suelen ser necesarias en una base de datos estándar. Lo mismo ocurre con los componentes que aparecen al hacer clic en Componentes de datos estándar, conviene desactivar todos, a no ser que deseemos utilizar alguna de esas funcione, por otro lado muy interesantes aunque consumen recursos. Todo se podría instalar después en caso de necesidad.

[19]La pestaña Archivos de comandos personalizados nos permitiría ejecutar un archivo de scripts para ejecutar instrucciones sobre Oracle durante la instalación

[20]Paso 9. La pantalla siguiente (cuatro pestañas) permiten modificar los parámetros de inicio de la base de datos. La mayoría son opciones avanzadas, hay que manipularlas sabiendo muy bien lo que se hace. Las pestañas son:

[21]Paso 10. Ahora se puede gestionar la configuración de los archivos (de control, redo, archivados y de datos). Incluida la gestión de tablespaces, tamaños máximos de archivos, auto ampliación del tamaño,… Es muy interesante ver todas las posibilidades de esta pantalla (especialmente permite ver la ubicación de cada archivo): Todos los apartados que permite son:

[22]Paso 11 y último del dbca. Elegir Crear la base de datos, En todo caso deberíamos elegir crear script de creación de base de datos y así examinar cómo serían los comandos manuales para crear la base de datos (muy recomendable hacerlo)

[23]Finalmente se nos informa de la instalación. Es importante apuntar la página del Enterprise Manager para acceder a ella cuando lo necesitemos. Es más, lo lógico es guardar la configuración que se nos ofrece mediante el botón Guardar HTML.

[24]Una vez iniciada la generación de la base de datos, merece la pena estar atentos a los mensajes de Oracle a fin de entender el proceso y dónde se almacena cada elemento.

[25]En la última pantalla (si todo ha ido bien), se presentan los datos de la instalación. Esos datos son fundamentales, entre ellos está la dirección del archivo de configuración de Oracle ora.ini y la URL para entrar en el servidor de aplicaciones Oracle Enterprise Manager que nos permitirá administrar la base de datos en modo gráfico.

[3.6] control del listener

Como ya se ha comentado; el proceso que escucha las peticiones de los clientes hacia la base de datos se conoce como Listener. Es imprescindible para conectar con la base de datos ya que abre el socket.

Para gestionar el listener del servidor se usa el programa lsnrctl, disponible también en el directorio bin del Oracle Home. Sus posibilidades para lanzar o quitar el listener son:

lsnrctl start nombreListener #arranca el Listener

lsnrctl stop nombreListener #para el Listener

lsnrctl status #muestra información

También se puede lanzar desde el Enterprise Manager, y como servicio en el caso del entorno Windows.

[3.7] conectar con la base de datos

[3.7.1]conectar mediante SQL*Plus

1lanzar SQL*Plus

La forma clásica de conectar con Oracle, es utilizar la utilidad SQL*Plus, que es un cliente básico que permite enviar comandos a Oracle. Para utilizarlo, bastaría con ir a la consola de comandos del sistema y escribir sqlplus:

2problemas con el módulo SELinux

En numerosas instalaciones Linux (por ejemplo en el sistema CentOS), hay problemas al lanzar SQL*plus, debido a las restricciones del módulo de seguridad SELinux. Una solución es dejar en modo permisivo a SELinux editando el archivo /etc/selinux/config y rescribiendo la línea siguiente:

SELINUX=permissive

Si no queremos dejarlo en ese estado del todo podemos ejecutar el comando:

# /usr/sbin/enforce 0

Otra opción permanente y menos peligrosa es ejecutar el comando:

# chcon -t textrel_shlib_t $ORACLE_HOME/lib/*.so

Este comando modifica el contexto de ejecución de las librerías de Oracle para SELinux de modo que no se aplique a las librerías de Oracle y así las permite ejecutar.

3conexión en modo NOLOG

La forma habitual de conexión con SQL*Plus es con la sintaxis:

# sqlplus /nolog

Entonces entramos en sql*plus sin indicar usuario alguno, de otra forma el programa nos pediría usuario y contraseña para conectar.

Una vez que hemos conectado con /nolog ahora disponemos del comando CONNECT:

CONNECT usuario/contraseña [@alias] [AS {SYSOPER | SYSDBA} ]

Los usuarios normales no tienen capacidad de manejar la instancia de la base de datos. Sólo los que tienen roles de DBA o privilegios para cortar e iniciar la instancia. A este respecto hay dos privilegios especiales que permiten a un usuario (que tenga la posibilidad de acceder en modo administrador) operaciones avanzadas en la base de datos, son:

Ejemplos de conexión:

CONNECT adolfo/natura; --conecta como usuario normal
CONNECT adolfo/natura@asir; --conecta como usuario 
-- normal indicando a qué base de datos se conecta
CONNECT adolfo/natura@asir AS SYSOPER; 
    --ídem pero indicando que se conecta con rol de 
    --SYSOPER
CONNECT  / AS SYSDBA 

En la última, no se indica usuario. Se recogerá el usuario del sistema operativo y conectará, siempre que ese usuario sea miembro del grupo DBA de Oracle (si es el administrador, se toma como usuario SYS).

El comando para desconectar es DISCONNECT.

[3.7.2]conectar mediante Enterprise Manager, Database Control

1lanzar el Database Control

El Enterprise Manager es una utilidad que permite administrar la instancia de Oracle utilizando un servidor web, en realidad es un programa llamado emctl que se encuentra en el directorio bin de cada Oracle Home.

La página desde la que administramos Oracle se conoce como Database Control y se puede activar o desactivar desde la línea de comandos utilizando estas instrucciones:

emctl start dbconsole #arranca el DataBase Control

emctl stop dbconsole #le para

emctl status dbconsole #comprueba el estado actual

Para que el programa funcione, debemos asegurarnos de que el puerto con el que se comunica el Enterprise Manager está abierto (normalmente el puerto 1158). Esto significa comprobar el cortafuegos de Windows y Linux. En Linux bastaría con los comandos:

# iptables -A INPUT -p tcp --dport 1158 -j ACCEPT

# service iptables restart

Si no hubiéramos instalado el Enterprise Manager, podemos usar su asistente de instalación (sólo funciona en línea de comandos) emca. Para crear un nuevo repositorio para la instancia de base de datos se usa:

# emca –config dbcontrol db –repos create

Se nos preguntarán los datos sobre la instancia y usuarios administradores. Si todo va bien habremos creado el repositorio de Database Control.

2acceso al Database Control

El acceso al entorno de Database Control se hace usando el enlace

https://nombreDeServidor:puerto/em 

Normalmente:

https://localhost:1158/em  

La dirección ORACLE_HOME/install/portlist.ini contiene los puertos que usa Oracle para el Enterprise Manager.

Si accedemos a la dirección en el navegador lo normal es que el certificado de la aplicación no sea válido, por lo que los navegadores mostrarán un mensaje de aviso. Deberemos confiar en el certificado del sitio del Enterprise Manager para acceder al control de la base de datos.

En el caso que falle la carga del Database Control hay que asegurar que disponemos de la variable de sistema ORACLE_UNQNAME conteniendo el nombre de la instancia (sid). En caso de que no sea así hay que definirla en las variables del sistema, de manera rápida en Windows sería:

set ORACLE_UNQNAME=nombreBD

Donde nombreBD es el nombre identificativo de la base de datos. Pero lo lógico es añadirla a la lista de variables del sistema (tanto en Windows como en Linux).

Después se nos preguntará por el usuario:

Desde este entorno se pueden realizar todas las operaciones de administración con la base de datos. La forma de conexión es entrar con SYS (con opción SYSDBA) y su contraseña. Sólo los usuarios con rol SYSOPER pueden usar el Database Control.

Una vez validado el usuario, entonces podremos gestionar la mayoría de aspectos administrativos de Oracle.

[3.7.3]conexión mediante SQL Developer y otras herramientas gráficas

SQL Developer es una utilidad gráfica gratuita que permite conectar con Oracle utilizando un entorno amigable de trabajo y que nos permite tanto ejecutar instrucciones SQL, como PL/SQL como realizar la mayoría de tareas administrativas.

Hay otras herramientas parecidas como Toad de la empresa Quest o DataGrip de JetBrains.

La mayoría están creadas en Java y requieren tener instalado el JDK de Java disponible en:

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html)

En estas herramientas las conexiones con la base de datos se realizan desde un entorno gráfico, más cómodo que conectar desde la consola de SQL*Plus. La mayoría de las herramientas de este tipo están pensadas para el desarrollo y no la administración de Oracle, por lo que no dispondremos de todos los comandos de administración, aunque sí de la mayoría.


1 Información completa en http://public-yum.oracle.com