Transcripción Creación de base de datos
Un servidor de base de datos Oracle está compuesto por:
- Instancia.
La instancia se crea en la memoria RAM y está formada por:
- Estructuras de memoria.
- Procesos background.
Estas estructuras y procesos pueden ser arrancados y parados y al apagarse el equipo desaparecen.
Base de Datos: Las BD son un grupo de ficheros que se encuentran en disco, por lo que existen hasta que son eliminados físicamente. Estos ficheros pueden ser abiertos y cerrados todas las veces que se requiera.
Los mínimos ficheros necesarios para crear una base de datos son:
- DD (Diccionario de Datos)
El diccionario de datos es un conjunto de tablas y segmentos creados dentro de cada BD. Contiene toda la información necesaria para que cada BD conozca su propia estructura lógica y física, y de esta forma conocer como está distribuida y que ficheros físico la componen. Fichero de parámetros:
- Toda instancias se crea según los parámetros del fichero de parámetros e indica: El tamaño que tiene que tener las diferentes estructuras de la instancia en la memoria RAM.
- El tamaño y numero de los procesos background.
Una instancia tiene varios estados diferentes.
No Montado:
- La instancia esta creada pero no está conectada a ninguna base de datos.
- Todos sus parámetros tienen un valor por defecto, menos el parámetro DB_NAME. Ya que este parámetro indica el nombre de la BD a la que se va a conectar.
Abierto:
- Para que una instancia pase del estado «No Montado» al estado «Abierto» previamente tiene que abrir los ficheros Redo Log y Datafiles, y la localización de estos ficheros están indicado en el Fichero de Control.
- Para que la BD sepa donde está el Fichero de Control, la instancia dispone el parámetro CONTROL_FILES, el cual indica su ruta, que a su vez indica la ruta de los ficheros Redo Log y Datafiles de la base de datos.
- Una vez que los ficheros están abiertos, la instancia pasa al estado Abierto.
Pasos para crear servidor de base de datos
La creación de un servidor de base de datos debe implicar estos pasos:
- Crear una instancia.
- Crear la base de datos.
- Crear el diccionario de datos.
Crear una instancia es construir la estructura de memoria y empezar los procesos. La creación de una base de datos es hecha por una instancia una única vez, y la instancia posteriormente puede abrir y cerrar la base de datos muchas veces.
Dentro de la base de datos hay un conjunto de tablas y otros segmentos llamados diccionario de datos. El diccionario de dato describe las estructuras lógicas y física de la base de datos, incluyendo todos los segmentos que almacena los datos del usuario.
El fichero de parámetro de instancia contiene directivas que define como la instancia debe ser construida en memoria:
- El tamaño de las estructuras de memoria.
- El comportamiento de los procesos background.
Después de construir la instancia, se dice que está en modo no montado. Modo no montado es cuando la instancia existe pero no está conectada a la base de datos. La base de datos no existe hasta este punto.
Todos los paramentos del fichero de parámetros están por defecto, menos el DB_NAME. Este nombre también será introducido en el fichero de control. El parámetro CONTROL_FILES dice en qué posición está el fichero de control. Este parámetro define la conexión entre la instancia y la base de datos. Cuando la instancia lee el fichero de control (que lo encuentra leyendo el parámetro CONTROL_FILES) si hay un error la base de datos no se montara.
En modo montado, la instancia se ha conectado con el fichero de control. Si el fichero de control está dañado o no existe, será imposible montar la base de datos.
El fichero de control indica donde están:
- El fichero de datos.
- El online redo log file.
- Redo log files.
- Backup de Recovery Manager.
- Y el resto de la base de datos.
Montando la base de datos, la instancia puede abrir la base de datos localizando y abriendo estos ficheros. Una base de datos es abierta cuando la instancia ha abierto todos los online redo log files y los ficheros de datos.
También dentro del fichero de control hay un mapa de ficheros de datos a tablespace. Esto permite a la instancia identificar el fichero de datos que forman el tablespace SYSTEM. En el tablespace SYSTEM se encontrarán el diccionario de datos. Cuando se realiza una consulta, se solicita al Diccionario de Datos la localización de los objetos solicitados y el DD indica donde están físicamente.
El diccionario de datos es inicialmente creado con la base de datos y es totalmente funcional pero es inservible. Pueden definir y manejar datos pero tiene una estructura abstracta. Por lo que antes de que un DBA pueda realmente usar una base de datos, un juego de vistas deben ser creadas por encima del diccionario de datos para que podamos entenderla.
El diccionario de datos en si mismo es creadodirigiendo un conjunto de scripts de SQL que existen en el directorio ORACLE_HOME/rdbms/admin. Estos son llamados por el comando CREATE_DATABASE. El principal es sql.bsqque llama a varios scripts. Estos scripts publican una serie de comandos que crean todas las tablas y otros objetos que forman el diccionario de datos.
Las vistas y otros objetos que hacen la base de datos utilizable son generados con más scripts del directorio ORACLE_HOME/rdbms/admin., prefijados con “cat “. Ejemplo catalog.sql y catproc.sql, que deberían ser ejecutados inmediatamente después de la creación de la base de datos.
Variables en Windows.
Hay varios niveles de variables en Windows: El nivel más alto es el registro de Windows y Oracle crea una Key:
- HKEY_LOCAL_MACHINE
- SOFTWARE
- ORACLE
A nivel de sesión, ejemplo:
- Darle un valor: set ORACLE_BASE= d:oracleapp
- Visualizar el valor: Echo %ORACLE_HOME%
- Abrir una carpeta: Cd %ORACLE_HOME%.
Variables en Linux.
La sintaxis para configurar y leer variables varia de una shell a otra. Las variables son configuradas para cada sesión. Para simular una variable “global” habría que ponerla en /etc/profile que es ejecutado cada vez que hay un logon:
- Export Oracle_base=/u01/app
- Export path=$oracle home/bim:$path
Export oracle_sid=orclxxx.
Instalando software de Oracle usando OUI.
Ejecutar el OUI:
- En Windows: setup.exe
- En Linux: runInstaller.sh
Para evitar los requisitos previamente necesarios (no aconsejado):
- runInstaller –ignoreSysPrereqs
Para lanzarlo en forma silenciosa (no necesita pantalla gráfica):
- runInstaller –silent –reponsefile responsefilename
El archivo respuesta puede ser creado a mano, o se puede hacer por el OUI. Pero antes de hacer una instalación silenciosa, el fichero puntero /etc/oraInst.loc debe ser creado por que OUI no será capaz de localizarlo o crearlo si fuese necesario:
- runInstaller –record –destinationfile responsefilename
crear base datos