Capítulo 4 - Mantenimiento Del Archivo de Control

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-2

Archivo de Control
El archivo de control es un pequeño archivo binario necesario para que la base de datos se
inicie y funcione correctamente. Cada archivo de control está asociado sólo a una base de datos
Oracle. Antes de abrir una base de datos, se lee el archivo de control para determinar si la base
de datos tiene un estado válido para su uso.
Oracle Server actualiza continuamente un archivo de control mientras se está utilizando la base
de datos, por lo que debe estar disponible para su escritura siempre que la base de datos esté
abierta. Oracle Server es el único que puede modificar la información del archivo de control y
ni el DBA ni el usuario final pueden editarlo.
Si, por cualquier motivo, no se puede acceder al archivo de control, la base de datos no
funcionará correctamente. Si se pierden todas las copias de los archivos de control de una base
de datos, será necesario recuperar la base de datos antes de que se pueda abrir.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-3


Archivo de Control (continuación)
Especificación del Tamaño del Archivo de Control
Las palabras clave que se especifican durante la creación de la base de datos afectan al tamaño
del archivo de control. Esto es especialmente importante cuando los parámetros tienen valores
muy elevados. El tamaño del archivo de control está influido por las siguientes palabras clave de
los comandos CREATE DATABASE o CREATE CONTROLFILE:
• MAXLOGFILES
• MAXLOGMEMBERS
• MAXLOGHISTORY
• MAXDATAFILES
• MAXINSTANCES

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-4


Contenido del Archivo de Control
La información del archivo de control incluye lo siguiente:
• El nombre de la base de datos se obtiene del nombre especificado por el parámetro de
inicialización DB_NAME o del nombre que se utiliza en la sentencia CREATE DATABASE.
• El identificador de la base de datos se registra cuando se crea la base de datos.
• El registro de hora de la creación de la base de datos también se registra cuando se crea la
base de datos.
• Los nombres y las ubicaciones de los archivos de datos asociados y los archivos redo log
online se actualizan cuando se agrega, se cambia de nombre o se borra un archivo de datos
o un archivo redo log online de la base de datos.
• La información de tablespace se actualiza a medida que se agregan o se borran tablespaces.
• El historial de archivos redo log online se registra durante los cambios de log.
• La ubicación y el estado de logs archivados se registra cuando se produce el archivado.
• La utilidad RMAN (Oracle Recovery Manager) registra la ubicación y el estado de las
copias de seguridad.
• El número de secuencia del log actual se registra cuando se producen los cambios de log.
• La información de punto de control se registra a medida que se realizan los puntos de
control.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-5


Contenido del Archivo de Control (continuación)
El archivo de control consta de dos tipos de secciones:
• Reutilizable
• No reutilizable
Las secciones reutilizables almacenan información de RMAN como, por ejemplo, los nombres
de los archivos de datos de copia de seguridad y los nombres de archivos redo log online de
copia de seguridad. Se utilizan de forma circular y sólo las podrá utilizar RMAN.
Nota: RMAN se explica con más detalle en el curso Administración de la Base de Datos
Oracle9i: Conceptos Básicos II.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-6


Multiplexación del Archivo de Control
Como medida de seguridad frente a un único punto de fallo del archivo de control, se
recomienda encarecidamente multiplexar el archivo de control y almacenar cada copia en un
disco físico diferente. Si se pierde un archivo de control, se puede utilizar una copia
multiplexada de dicho archivo para reiniciar la instancia sin necesidad de recuperar la base de
datos.
Los archivos de control se pueden multiplexar un máximo de ocho veces de la siguiente forma:
• Creando varios archivos de control al crear la base de datos incluyendo los nombres y la
ruta de acceso completa del archivo de control en el archivo de parámetros de
inicialización:
CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl,
$HOME/ORADATA/u02/ctrl02.ctl
• Agregando un archivo de control una vez creada la base de datos
Copia de Seguridad de los Archivos de Control
Dado que el archivo de control registra la estructura física de la base de datos, debería realizar
una copia de seguridad del archivo de control inmediatamente después de efectuar cambios en
la estructura física de la base de datos. La realización de copias de seguridad y la recuperación
del archivo de control se explican en el curso Administración de la Base de Datos Oracle9i:

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-7


Conceptos Básicos II.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-‹Nº›


Multiplexación del Archivo de Control al Utilizar SPFILE
Utilice los siguientes pasos para multiplexar archivos de control al utilizar un archivo SPFILE.

1. Modifique el archivo SPFILE: Con el comando ALTER SYSTEM SET, modifique


SPFILE, de modo que incluya una lista de todos los archivos de control que se van a
utilizar: archivo de control principal y copias multiplexadas.
2. Cierre la base de datos: Cierre la base de datos para crear archivos de control adicionales
en el sistema operativo.
3. Cree archivos de control adicionales: Con el comando de copia del sistema operativo,
cree los archivos de control adicionales que sean necesarios y compruebe que los archivos
se han creado en los directorios adecuados.
4. Inicie la base de datos: Cuando se inicia la base de datos, se lee el archivo SPFILE y
Oracle Server mantiene todos los archivos de control enumerados en el parámetro
CONTROL_FILES.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-8


Multiplexación del Archivo de Control al Utilizar PFILE
Utilice los siguientes pasos para multiplexar archivos de control al utilizar un archivo PFILE.

1. Cierre la base de datos: Cierre la base de datos para crear archivos de control adicionales
en el sistema operativo.
2. Cree archivos de control adicionales: Con el comando de copia del sistema operativo,
cree los archivos de control adicionales que sean necesarios y compruebe que los archivos
se han creado en los directorios adecuados.
3. Agregue nombres de archivos de control a PFILE: Modifique el archivo PFILE de modo
que incluya una lista de todos los archivos de control.
4. Inicie la base de datos: Cuando se inicia la base de datos, se lee el archivo PFILE y
Oracle Server mantiene todos los archivos de control enumerados en el parámetro
CONTROL_FILES.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-9


Gestión de Archivos de Control con OMF
Los archivos de control se crean como OMF automáticamente durante la creación de la base de
datos si se no se especifica el parámetro CONTROL_FILES en el archivo de parámetros de
inicialización.
Si se utiliza un archivo init.ora, el parámetro CONTROL_FILES se debe definir con los
nombres generados de OMF, que se pueden encontrar realizando una selección desde
V$CONTROLFILE o alertSID.log. Si se utiliza un archivo SPFILE, el parámetro
CONTROL_FILES se define y se guarda automáticamente cuando se crea la base de datos.
El parámetro DB_CREATE_ONLINE_LOG_DEST_n determina las ubicaciones de los
archivos de control. Si este parámetro no se ha definido, el parámetro
DB_CREATE_FILE_DEST definirá la ubicación de los archivos de control. Si no se ha
definido ninguno de estos parámetros, los archivos de control no serán de OMF. Si los archivos
de control no son de OMF, se debe definir el parámetro CONTROL_FILES en el archivo de
parámetros de inicialización o, de lo contrario, se generará un error.
Los nombres de archivos de control se generan de forma única (ora_cmr7t30p.ctl) y
aparecen en el archivo alertSID.log cuando los archivos se han creado.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-10


Obtención de Información del Archivo de Control
Para obtener la ubicación y los nombres de los archivos de control, consulte la vista
V$CONTROLFILE.
SQL> SELECT name FROM V$CONTROLFILE;
NAME
------------------------------------
/u01/home/db03/ORADATA/u01/ctrl01.ctl
/u01/home/db03/ORADATA/u01/ctrl01.ctl
2 rows selected.

También puede consultar la vista V$PARAMETER.


SQL> SELECT name, value from V$PARAMETER
WHERE name = 'control_files';
NAME Value
------------- -------------------------------------

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-11


control_files /u01/home/db03/ORADATA/u01/ctrl01.ctl

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-‹Nº›


Obtención de Información del Archivo de Control (continuación)
Para obtener información acerca de las diferentes secciones de los archivos de control, consulte la
vista V$CONTROLFILE_RECORD_SECTION.
SQL> SELECT type, record_size, records_total, records_used
2 FROM v$controlfile_record_section
3 WHERE TYPE='DATAFILE';

TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED


------------------ ----------- ------------- ------------
DATAFILE 180 40 10
1 row selected.
La columna RECORDS_TOTAL especifica el número de registros asignados a una sección
especial.

El comando SHOW PARAMETER también se puede utilizar para buscar la ubicación de los
archivos de control.
SQL> SHOW PARAMETER control_files;

NAME TYPE VALUE


------------- ----------- ------------------------------
control_files string $HOME/ORADATA/u01/ctrl01.ctl,

$HOME/ORADATA/u02/ctrl02.ctl

La información de varias vistas dinámicas de rendimiento se obtiene del archivo de control. A


continuación se incluye una lista de ejemplos:
• V$BACKUP
• V$DATAFILE
• V$TEMPFILE
• V$TABLESPACE
• V$ARCHIVE
• V$LOG
• V$LOGFILE
• V$LOGHIST
• V$ARCHIVED_LOG

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-12


• V$DATABASE

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-‹Nº›


Obtención de Información del Archivo de Control (continuación)
Uso de Oracle Enterprise Manager para Ver Información Acerca de los Archivos de Control
Desde la Consola de OEM:
1. Navegue a Storage > Controlfile.
2. Seleccione la página del separador General para ver la información acerca de los archivos de
control.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-13


Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-14
Práctica 6: Visión General
Nota: Esta práctica se puede realizar con SQL*Plus o con Oracle Enterprise Manager y
SQL*Plus Worksheet.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-15


Práctica 6: Gestión del Archivo de Control
1 ¿Dónde está ubicado el archivo de control y cuál es su nombre?
Indicación: Consulte la vista dinámica de rendimiento V$CONTROLFILE.
Nota: También puede utilizar V$PARAMETER o ejecutar el comando SHOW
PARAMETER para ver el nombre y la ubicación del archivo de control.
2a Intente iniciar la base de datos sin archivos de control. Para simularlo, cambie el
nombre del archivo de control en el archivo de parámetros o cambie el nombre del
archivo de control. ¿Qué sucede?
Indicaciones
- Conéctese como usuario SYS.
- Cierre la base de datos con la opción IMMEDIATE.
- En la línea de comandos del sistema operativo, copie el archivo de control .ctl
con la extensión .bak.
- Elimine el archivo de control .ctl.
- Inicie la base de datos.
2b Para resolver el error ORA-00205:
- Cierre la base de datos.
- Cambie el nombre del archivo de control que ha copiado por el adecuado.
- Inicie la base de datos.
3a Multiplexe el archivo de control existente utilizando el directorio u02 y asigne al
nuevo archivo de control el nombre ctrl02.ctl. Asegúrese de que Oracle
Server puede escribir en el nuevo archivo de control. Por ejemplo, en UNIX, utilice
el comando chmod 660.
Indicaciones
- Antes de cerrar la base de datos, modifique el archivo SPFILE
(SCOPE=SPILE) para agregar el nuevo archivo de control al archivo de
inicialización.
- Cierre la base de datos y copie el archivo de control existente a un nuevo archivo
con el nombre ctrl02.ctl en el directorio u02. Utilice el comando chmod
660 en UNIX. Nota: Los permisos del archivo no se suelen cambiar, no
obstante, aquí se hace para la finalidad de la clase.
- Inicie la base de datos.
b Confirme que el archivo de control se ha multiplexado y ya se está utilizando.
Indicación: Consulte la vista dinámica de rendimiento V$CONTROLFILE o
V$PARAMETERo utilice el comandoSHOW PARAMETER para confirmar que se
están utilizando los dos archivos de control.
4 ¿Cuál es el tamaño inicial de la sección del archivo de datos de su archivo de
control?
Indicación: Consulte la vista dinámica de rendimiento
V$CONTROLFILE_RECORD_SECTION.

Administración de la Base de Datos Oracle9i: Conceptos Básicos I 6-16

También podría gustarte