Documente Academic
Documente Profesional
Documente Cultură
BASES DE DATOS
INSTALACION DE ORACLE 11g
6 DE JULIO DE 2019
CARLOS ALBERTO RODRIGUEZ AMAYA
SENA ESPECIALIZACION TECNOLOGICA
GESTION Y SEGURIDAD DE BASES DE DATOS (1881805)
INTRODUCCION
OBJETIVOS
[3.2.3]directorios de Oracle.
comprender la estructura OFA
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).
Oracle 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:
/u01/app/oracle/product/11.2.1/dbhome_1
En Windows:
c:\oracle\app\product\11.2.1\dbhome_1
subdirectorios 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
resumen 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
hardware
Sistema. Oracle en Windows requiere un PC Intel
x86, AMD64 o Intel EM64T
Memoria. Al menos 1 GB de RAM y el doble en virtual.
Espacio en disco duro. Al menos 6 GB para la instalación
(algunas instalaciones requieren menos). Además
necesitamos poder almacenar 500 MB en la
carpeta TEMP del sistema.
Tarjeta gráfica. Debe de ser capaz de mostrar 1024 por 768
píxeles como mínimo y 256 colores.
software
Sistema Operativo.
o Windows 2003 Server y 2003 Server R2.
o Windows XP Professional.
o Windows Vista, pero no la versión Home Edition.
o Windows Server 2008 y 2012. No la versión Server
Core.
Compiladores. Se usan para la gente que crean aplicaciones
en Oracle usando lenguajes como Pro C, Pro COBOL, …
o Visual C++.NET 2005 8.0 o Intel 10.1 C
o .Net Express.
Navegador. 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)
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. No es un requisito obligatorio, pero es muy
recomendable.
[3.3.2]proceso de instalación
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.
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.
variables 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:
ORACLE_BASE. Contendrá la ruta de instalación general de los productos Oracle, por
ejemplo el valor C:\app\oracle
ORACLE_HOME. Ruta al directorio en el que se ha instalado la base de datos, por
ejemplo%ORACLE_BASE%\product\11.2.0\dbhome_1
LD_LIBRARY_PATH. Ruta a las librerías de Oracle, su valor suele
ser:%ORACLE_HOME%/lib
ORACLE_SID. Nombre de la instancia de Oracle (por defecto ORCL). En realidad con la
instalación, la instancia no está creada. Esta variable se usa tras la instalación de la base de
datos.
ORACLE_UNQNAME. Nombre único de la base de datos. Hay instalaciones en las que
varios servidores comparten el nombre de la base de datos, este parámetro permite
diferenciarlos. En todo caso, este parámetro debe de indicarse para que arranque la
utilidad Oracle Enterprise Manager.
PATH. A esta variable de sistema se debe de añadir la ruta a los binarios de Oracle, es
decir: %ORACLE_HOME%\bin
$ uname -a
Resolución gráfica. Al menos 1024x768 píxeles y 256 colores, es el mínimo que tiene que
producir nuestra tarjeta gráfica.
software
sistemas operativos compatibles
Oracle 11g sólo es compatible (oficialmente) con estos sistemas (sean de 32 o 64 bits):
$ 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
servidor 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.
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:
navegador 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)
paquetes 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:
Controladores ODBC:
o unixODBC versión 2.2.12 o superior
o unixODBC-devel versión 2.2.12 o superior
Controladores JDBC/OCI
o Java Development Kit 1.6.0_21 o superior con la extensión para JNDI. En realidad el
propio Oracle incorpora este requisito.
Linux PAM Library
Configuraciones en el sistema
El parámetro de Oracle DB_BLOCK_SIZE debe de ser mayor o igual a 4096 para
instalar Oracle Database Vault (salvo que usemos ese componente, no es necesario)
Hay que comprobar que tenemos suficientes recursos para el usuario oracle. Por llo tanto
copnectamos con dichos usuario y comprobamos con estos comandos que disponemos de
estos recursos:
ulimit –Sn # debe mostrar al menos 1024
ulimit –Hn # debe mostrar al menos 65536
ulimit –Su # debe mostrar al menos 2047
ulimit –Hu # debe mostrar al menos 16384
ulimit –Ss # debe mostrar al menos 10240
ulimit –Hs # debe mostrar al menos 65536
Para comprobar si les tenemos bien con al menos ese valor, basta usar el comando
# sysctl –a | grep nombreParámetro
Se comprueba de nuevo con sysctl –a para asegurar que los cambios han sido correctos.
automatizació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.
[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
# yum update
Las acciones a tomar serán las siguientes (evidentemente si ya hemos hecho algo previamente,
no hará falta repetirlo):
# 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
# groupadd oper
[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):
# passwd oracle
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.
variables 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,…)
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:
[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 SYSy 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:
Memoria RAM. Permite indicar la memoria que dejará nuestro servidor para almacenar los
datos dinámicos configurando lo que se permite que ocupe tanto los datos globales (SGA)
como los propios de cada proceso (PGA). Se puede configurar al detalle el gasto en memoria,
incluso especificar la memoria que destinamos a cada espacio de almacenamiento (el Buffer
de datos, el caché redo,…).
Bloque y conexiones simultáneas. El tamaño del bloque no se puede modificar después,
por lo que conviene pensar bien en el tamaño apropiado. La razón para un tamaño u otro es
la velocidad de la base de datos y el consumo que se hace en disco. El tamaño del bloque
debe de ser un múltiplo del tamaño de bloque mínimo del disco según el Sistema Operativo.
El otro valor (normalmente 150), permite limitar o ampliar el número de usuarios simultáneos
que pueden acceder a la base de datos, subir ese número, aumentaría los recursos gastados
por Oracle. En el caso de una base de datos de prueba se puede bajar perfectamente ese
valor.
Juegos de caracteres. Permite elegir la forma de codificar el texto. En cualquier software
actual se recomienda el uso de Unicode (urf-8); pero Oracle suele tomar por defecto la
codificación del Sistema Operativo.
Modo de funcionamiento del proceso servidor. Se trata de la forma en la que trabajará el
proceso servidor. Lo normal es elegir dedicado y así cada proceso cliente es atendido por
un proceso servidor. Cuando tenemos enormes cantidades de conexiones clientes, en este
modo consumiríamos todos los recursos y por eso se configura de modo compartido, en el
que un mismo proceso servidor atendería a varios procesos clientes. Lo usual es usar un
modo dedicado salvo que preveamos que tendremos numerosas conexiones simultáneas.
El resto de parámetros del SGBD están accesibles a través del botón Todos los parámetros
de inicialización e incluso se pueden ver los más avanzados con un botón que lo indica.
[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:
Archivo de control. Nombre y ubicación de los archivos de control (mayor número de ellos,
mayor multiplexación). En la pestaña de Opciones podemos indicar el máximo número de
Archivos de Datos, Grupos Redo Log y miembros de cada Redo Log.
Tablespaces. Podremos crear o suprimir tablespaces (con los botones de la parte inferior
izquierda). Además dejarles en estado de conectados o desconectados y de elegir opciones
avanzadas sobre su almacenamiento (configuración de los segmentos del tablespace).
Archivos de datos. Podemos modificar su nombre y ubicación así como su tamaño. La
ampliación del archivo cuando esté lleno (en definitiva, la gestión de las extensiones) se
puede calibrar desde la pestaña Almacenamiento.
Archivos redo log. Eligiendo Grupos de redo log podemos crear o suprimir grupos. Dentro
de cada grupo podemos establecer los miembros del mismo y su ubicación.
[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:
También se puede lanzar desde el Enterprise Manager, y como servicio en el caso del entorno
Windows.
# /usr/sbin/enforce 0
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.
# 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
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:
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:
Normalmente:
https://localhost:1158/em
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 Windowsserí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).
Una vez validado el usuario, entonces podremos gestionar la mayoría de aspectos administrativos
de Oracle.
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.
WEBGRAFIA
https://jorgesanchez.net/manuales/abd/instalacion-oracle.html