2. 2
Instituto Profesional DuocUC
Escuela de Ingeniería
Objetivos
Después de completar esta lección, usted deberá saber
lo siguiente:
• Explicar el uso del archivo de control
• Listar los contenidos del archivo de control
• Multiplexar y administrar el archivo de control
• Administrar el archivo de control con OMF
• Obtener información del archivo de control
3. 3
Instituto Profesional DuocUC
Escuela de Ingeniería
Control File
El archivo de control es un archivo binario que define el
estado actual de una base de datos física
• La pérdida del archivo de control requiere una
recuperación
• Es leído en la etapa de MOUNT
• Es requerido para operar
• Esta linkeado a una base de datos SINGLE
• Debe ser multiplexado (replicado)
• Mantiene la integridad de la base de datos
• Su tamaño esta dado por ciertos parámetros al
momento del CREATE DATABASE
CONTROL FILE
El archivo de control es un pequeño archivo binario necesario para iniciar y operar la
base de datos exitósamente. Cada archivo de control esta asociado con una sola base
de datos Oracle. Antes que una BD sea abierta, el archivo de control es leído para
determinar si la base de datos esta válida para su uso. Un archivo de control es
actualizado continuamente por Oracle Server durante el uso de la BD, por tanto debe
estar disponible para escritura mientras la BD esta abierta. La información del archivo
de control puede ser modificada solo por Oracle Server; DBA o usuarios finales no
pueden editar el archivo de control. Si por alguna razón el archivo de control no esta
accesible, la base de datos no puede funcionar correctamente. Si todas las copias de
los archivos de control de la base de datos se pierden o dañan, la base de datos debe
recuperarse antes de poder abrirse nuevamente. Al menos un archivo de control es
requerido, pero los archivos de control pueden ser replicados hasta 8 veces.
4. 4
CONTROL FILE (continuación)
Tamaño del Archivo de Control
Ciertas palabras claves durante la creación de la base de datos afectan el tamaño del
archivo de control. Es particularmente significativo cuando los parámetros tienen
valores grandes. El tamaño del archivo de control esta influenciado por las siguientes
palabras claves de los siguientes comandos:
CREATE DATABASE o CREATE CONTROLFILE
•MAXLOGFILES
•MAXLOGMEMBERS
•MAXLOGHISTORY
•MAXDATAFILES
•MAXINSTANCES
Usar este comando para recrear un Control File solo si:
•Todas las copias existente se han perdido o dañado
•Si se desea modificar el nombre de la base de datos
•Si se desea modificar el número máximo de grupos de redo log files, miembros de
redo log, archivos de archived redo log, datafiles o instancias que pueden abrirse o
montarse concurrentemente
Oracle recomienda ejecutar un full backup de los archivos de bases de datos, antes
de ejecutar esta sentencia
5. 5
Instituto Profesional DuocUC
Escuela de Ingeniería
Contenidos del Control File
Un archivo de control contiene las siguientes entradas:
• Nombre de la BD e identificador
• La fecha de la creación de la base de datos
• Nombres de tablespaces
• Nombre y ubicación de los datafiles y redo logs
• Número de secuencia del archivo de redo log actual
• Información de checkpoint
• Inicio y término de los segmentos de undo
• Información de los redo log archivados
• Información de respaldo
Contenidos del Control File
La información en el control file incluye:
1. Nombre de la base de datos esta tomado del nombre en los parámetros de
inicialización (DB_NAME) o el nombre usado en la sentencia CREATE DATABASE
2. El identificador es registrado cuando la base de datos es creada
3. La fecha de la creación de la base de datos es también registrado al momento de
la creación
4. El nombre y ubicación de los archivos de datafile y redo log son actualizados
cuando un datafile o redo log es agregado, renombrado o eliminado de la base de
datos
5. Información de tablespaces es actualizada cuando éstos son agregados o
eliminados
6. La historia de los redo log es registrada durante los log switches
7. Ubicación y estado de los logs archivados
6. 6
Contenidos del Control File (continuación)
8. Ubicación y estado de respaldos son registrados por el utilitario Recovery
Manager(RMAN)
9. Número de secuencia de los logs actuales son registrados cuando ocurre el log
switch
10. Información de checkpoint es registrada cuando se hace un checkpoints
El control file tiene 2 tipos de secciones:
• Reutilizable
• No reutilizable
La sección reutilizable almacena información del Recovery Manager tal como: nombre
de archivos de backup de datos y nombre archivos de redo log de backup. Ella es
usada en forma circular y puede ser reusada solo por el Recovery Manager (RMAN)
7. 7
Instituto Profesional DuocUC
Escuela de Ingeniería
Multiplexación de Control File usando SPFILE
• Alterando el SPFILE
• Shutdown normal
• Crear control file adicional
• Iniciar la base de datos
ALTER SYSTEM SET control_files =
‘$HOME/ORADATA/u01/ctrl01.ctl’,‘$HOME/ORADATA/u02/ctrl02.ctl’
SCOPE=SPFILE;
SHUTDOWN NORMAL;
# cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORATADA/u02/ctrl02.ctl
STARTUP;
Multiplexando el Control File
Para prevenir un único punto de falla en el archivo de control, es altamente
recomendado que el archivo de control sea multiplexado, almacenando cada copia
en diferentes discos físicos. Si un archivo de control se pierde, una copia de éste
puede ser usada para reiniciar la instancia sin tener que recuperar la base de datos.
Los archivos de control pueden ser multiplexados hasta 8 veces. El Oracle Server
crea y mantiene todos los archivos de control listados en sus parámetros cuando
una instancia es iniciada.
El adminitrador de base de datos puede multiplexar los archivos de control según:
1. Creando múltiples control files cuando se crea la base de datos, incluyendo los
nombres en el parámetro de inicialización CONTROL_FILES
CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl
2. Agregando un control file después que la base de datos ha sido creada. Estos pasos
difieren si se usa un archivo initSID.ora o SPFILE.
8. 8
Instituto Profesional DuocUC
Escuela de Ingeniería
Multiplexando el Control File usando init.ora
• Bajar la base de datos a un modo normal
• Copiar el control file existente con un nuevo nombre y
ubicación
• Agregar un nuevo nombre de control file al init.ora
• Iniciar la base de datos
SHUTDOWN NORMAL;
# cp control01.ctl ../DISK3/control02.ctl
CONTROL_FILES = (/DISK1/control01.ctl, /DISK3/control02.ctl)
STARTUP;
Salvaguardando el Control File
Hay un comando CREATE CONTROLFILE que permite la creación de archivos de
control. Sin embargo, se debe completar de conocer el contenido y estructura para un
adecuado uso.
Respaldar después que la estructura de la BD ha cambiado
Ya que el archivo de control registra la estructura física de la base de datos, se debe
inmediatamente respaldar el archivo de control después de hacer cambios físicos a la
estructura de la base de datos.
Se debe respaldar el archivo de control, pero no puede traer un control file de regreso
desde un respaldo sin los datafile apropiados. El control file es un archivo “vivo” que
corresponde al estado actual de la base de datos.
ALTER DATABASE BACKUP CONTROLFILE TO ‘FILENAME’
9. 9
Instituto Profesional DuocUC
Escuela de Ingeniería
Manejando Control File con OMF
• Los archivos de control son creados con OMF si el
parametro CONTROL_FILE no esta específicado
• Los control file con OMF esta ubicados en
DB_CREATE_ONLINE_LOG_DEST_N
• Los nombres de control file son generados en forma
única y desplegados en el archivo alterSID.log
cuando los archivos son creados
Manejando Control File con OMF
Los archivos de control son creados con OMF automáticamente durante la creación de
la BD si el parámetro CONTROL_FILE no esta especificado en el archivo de
parámetros de inicialización. Si se usa un archivo init.ora, el parametro
CONTROL_FILE debe ser seteado a los nombres generados por OMF, los que pueden
ser encontrados seleccionando la vista V$CONTROLFILE o desde el archivo
alertSID.log. Si se usa SPFILE, el parámetro CONTROL_FILE es automáticamente
seteado y salvado cuando la base de datos es creada. Los nombres de archivos de
control son generados de manera única (ora_cmr7t30p.ctl) y desplegados en el archivo
alertSID.log cuando los archivos son creados.
Se puede crear un nuevo archivo de control para la base de datos usando el comando
CREATE CONTROLFILE. Se deben usar los nombres correctos de OMF para los
DATAFILES y LOGFILE.
El comando DATABASE BACKUP CONTROLFILE TO TRACE, genera un script con
los nombres correctos.
10. 10
Instituto Profesional DuocUC
Escuela de Ingeniería
Obteniendo información del Control File
Información sobre el estado y ubicación del(los) archivos de
control puede ser recuperada consultando vistas del diccionario
de datos
• V$CONTROLFILE: lista el nombre y estado de todos los
control files asociados a una instancia
• V$PARAMETER: lista el estado y ubicación de todos los
parámetros
• V$CONTROLFILE_RECORD_SECTION: Provee
información sobre las secciones de registros del archivo
de control
• SHOW PARAMETERS CONTROL_FILES: lista el
nombre, estado y ubicación de los archivos de control
Obteniendo Información de los Archivos de Control
Para obtener la ubicación y nombre de los archivos de control, se debe utilizar la vista
dinámica de rendimiento V$CONTROLFILE
SELECT name FROM V$CONTROLFILE;
NAME
--------------------------------------------------------
/U01/HOME/db03/oradata/u01/ctrl01.ctl
SELECT name, value FROM V$PARAMETER WHERE name = ‘control_files’;
NAME Value
------------------------------------------------- --------------------------------------------------------
control_files /U01/HOME/db03/oradata/u01/ctrl01.ctl
11. 11
Para obtener información de las diferentes secciones de los archivos de control,
consultar la vista dinámica de rendimiento V$CONTROLFILE_RECORD_SECTION
SELECT type, record_size, records_total, record_used FROM
v$controlfile_record_section
TYPE RECORD_SIZE RECORDS_TO RECORDS_US
==============================================
DATAFILE 180 30 4
La columna RECORD_TO especifica el número de registros localizado para una sección
especial. Por ejemplo, se puede ver que el número máximo de datafiles en el ejemplo es
30, el que esta determinado por el parámetro MAXDATAFILES en el comando CREATE
DATABASE.
El comando SHOW PARAMETERS también puede ser usado para localizar los archivos
de control
show parameters control_files;
NAME TYPE VALUE
-------------- --------------- ---------------------------------------------
control_files string /u01/home/db03/oradata/u01/ctrl01.ctl
Se puede obtener variada información de los archivos de control en las siguientes vistas
dinámicas de rendimiento:
•V$BACKUP
•V$DATAFILE
•V$TEMPFILE
•V$TABLESPACE
•V$ARCHIVE
•V$LOG
•V$LOGFILE
•V$LOGHIST
•V$ARCHIVED_LOG
•V$DATABASE