sesión13 - archivos de control (oracle)

9
/* Sesión13 – Archivos de Control Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:[email protected] */ Objetivos de la sesión. Crear nuestra base de datos levantando otro archivo de control en otro disco 1) Administración de los archivos de control 2) Ejercicio 1) Administración de los archivos de control 1. Controls Files: Cada BD tiene al menos 1 archivo de control. Es un archivo binario pequeño que registra la estructura física de las base de datos y tiene la siguiente información: - Nombre de la BD. - Los nombres y ubicaciones de los datafiles y los redologs actuales. - El timestamp de la creación de la BD. Todo timestamp indica la fecha exacta del checkpoint. Sin el control file, la BD no puede ser montada y la recuperación es difícil. Este archivo se crea al mismo tiempo que la BD. Dependiendo del sistema operativo por defecto se crean múltiples archivos de control. Nombre de los ficheros para los archivos de control - Parámetro de inicialización: CONTROL_FILES en el archivo INIT.ora de la BD. Archivos de control multiplexados en diversos discos. - Cada BD debe tener 2 control files, cada uno almacenado en diferentes discos. Si uno es dañado, la instancia deberá ser “bajada”.

Upload: jose-toro

Post on 13-Jun-2015

570 views

Category:

Education


3 download

DESCRIPTION

Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases. UNIDAD 6. Sistemas de archivos Oracle Logro de la Unidad de Aprendizaje Al término de la unidad, el alumno implementa una distribución y configuración adecuada de los sistemas de archivos de Oracle. Temario 6.1. Tema 6: Sistemas de archivos Oracle 6.1.1. Archivos de Control 6.1.2. Mantenimiento de los Archivos Redo logs 6.1.3. Gestión de tablespaces y datafiles

TRANSCRIPT

Page 1: Sesión13 - Archivos de Control (Oracle)

/* Sesión13 – Archivos de ControlEstudiante: José Luis Toro AlcarrazCurso: Base de Datos Avanzado IICorreo:[email protected]*/

Objetivos de la sesión.

Crear nuestra base de datos levantando otro archivo de control en otro disco

1) Administración de los archivos de control 2) Ejercicio

1) Administración de los archivos de control

1. Controls Files:

Cada BD tiene al menos 1 archivo de control. Es un archivo binario pequeño que registra la estructura física de las base de datos y tiene la siguiente información:- Nombre de la BD.- Los nombres y ubicaciones de los datafiles y los redologs actuales.- El timestamp de la creación de la BD. Todo timestamp indica la fecha exacta del

checkpoint. Sin el control file, la BD no puede ser montada y la recuperación es difícil. Este archivo se

crea al mismo tiempo que la BD. Dependiendo del sistema operativo por defecto se crean múltiples archivos de control. Nombre de los ficheros para los archivos de control

- Parámetro de inicialización: CONTROL_FILES en el archivo INIT.ora de la BD. Archivos de control multiplexados en diversos discos.

- Cada BD debe tener 2 control files, cada uno almacenado en diferentes discos. Si uno es dañado, la instancia deberá ser “bajada”.

Comportamiento de los archivos de control multiplexados:- Oracle escribe en todos los nombres de fichero enumerados que se fijan en el

parámetro CONTROL_FILES.- El primer archivo enumerado en el parámetro de CONTROL_FILES es el único archivo

leído por el servidor de la BD del Oracle. Cuando no se puede acceder a estos archivos durante la operación de la BD, la instancia, llega a ser inoperable y debe ser abortada.

Page 2: Sesión13 - Archivos de Control (Oracle)

Respaldo de los archivos de control- Creación, eliminación o modificación de los datafiles.- Creando, eliminando o cambiando el status read-write de los tablespaces.- Creando o eliminando grupos o miembros redologs.

Creación de los archivos de control.- Se crean cuando se usa la cláusula CREATE DATABASE. Los nombres de estos archivos

de control son especificados en el parámetro CONTROL_FILES, con el path completo:- Ejemplos:

CONTROL_FILES = (/u01/oracle/prod/control01.ctl, /u02/oracle/prod/control02.ctl, /u03/oracle/prod/control03.ctl)

- Si ya existen dichos archivos al momento de crear la BD, se debe especificar en la cláusula CONTROLFILE REUSE en la sentencia CREATE DATABASE. Si el tamaño del archivos de control ya existente difiere del nuevo, entonces no se podrá usar la opción REUSE.

Creación de copias adicionales, renombramiento y reubicación de los archivos de control.- Se adiciona un nuevo archivo de control, copiando el existente a una nueva ubicación,

y adicionando el nombre completo del nuevo archivo de control a la lista de archivos de control.

- Se renombra el archivo copiando el file a su nueva localización, y cambiando el nombre del archivo en la lista de los archivos de control. Para ello de debe “bajar” la BD.

Pasos para multiplexar o adicionar copias de los archivos de control.- Bajar la BD.- Copiar un existente archivo de control a una diferente localización, usando comandos

de Sistema Operativo.- Editar el parámetro CONTROL_FILES en el INIT.ora para adicionar el nuevo nombre de

un archivo de control, o cambiando el nombre de un existente archivo de control.- Reiniciar la BD.

Creación de Nuevos Control Files.- Cuándo crear archivos de control nuevos.

o Se han dañado permanentemente y usted no tiene un backup del archivo de control.

o Se desea cambiar uno de los ajustes permanentes de parámetro de la BD especificados originalmente en la sentencias CREATE DATABASE.estos ajustes

Page 3: Sesión13 - Archivos de Control (Oracle)

incluyen: MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES y MAXINSTANCES.

La sentencia CREATE CONTROLFILECREATE CONTROLFILESET DATABASE prodLOGFILE GROUP 1 (‘/u01/oracle/prod/redo01_01.log’, ‘/u01/oracle/prod/redo01_02.log’).GROUP 2 (‘/u01/oracle/prod/redo02_01.log’, ‘/u01/oracle/prod/redo02_02.log’).GROUP 3 (‘/u01/oracle/prod/redo03_01.log’, ‘/u01/oracle/prod/redo03_02.log’).NORESETLOGSDATAFILES ‘/u01/oracle/prod/system01.dbf’ SIZE 3M,‘/u01/oracle/prod/rbs01.dbs’ SIZE 5M,‘/u01/oracle/prod/users01.dbs’ SIZE 5M,‘/u01/oracle/prod/temp01.dbs’ SIZE 5M,MAXLOGFILES 50MAXLOGMEMBERS 3MAXDATAFILES 200MAXINSTANCES 6ARCHIVELOG;

Pasos para crear un nuevo archivo de control. - Paso 1

o Hacer una lista de todos los datafiles y redologs files. Si se ha hecho un backup formal de los archivos de control, estas listas puede obtenerla de las vistas V$logfile y V$datafile.

- Paso 2o Bajar la BD de manera normal y consistente.

- Paso 3o Hacer un backup de los datafiles y los redologs files.

- Paso 4o Subir la instancia de la BD hasta el estado NOMOUNT.

- Paso 5 o Crear el nuevo archivo de control usando la cláusula CREATE CONTROLFILE. En

este caso usar la opción RESETLOGS si se ha perdido los redologs online.- Paso 6

o Hacer un backup del nuevo archivo de control.- Paso 7

o Recuperar la BD si es necesario, si está creando el nuevo archivo de control como parte de una recuperación de BD.

Page 4: Sesión13 - Archivos de Control (Oracle)

- Paso 8o Si no se invocó a una recuperación, o se hizo una recuperación “completa”, se

hace ALTER DATABASE OPEN.o Si se especificó RESETLOGS cuando se creó el archivo de control, se hace

ALTER DATABASE OPEN WITH RESETLOGS. Respaldo de un control file.

- Comando para respaldar los control files:ALTER DATABASE BACKUP CONTROLFILE

Existen 2 opciones:o Respaldar el control file a un archivo binario (duplicar un existente archivo de

control) usando la siguiente sentencia:ALTER DATABASE BACKUP CONTROLFILE TO ‘/oracle/backup/control.bkp’;

o Producir sentencias SQL para que después sean usadas para recrear un archivo de control:ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Recuperación de un control file (falla del disco) usando una copia del archivo. - Shutdown la BD- Con un comando de S.O. para copiar un archivo de control válido a una nueva

localización. (Ejemplo en Unix):% cp /u01/oracle/prod/control01.ctl /u04/oracle/prod/control03.ctl;

- Editar el parámetro CONTROL_FILES para reemplazar el archivo de control con fallas.CONTROL_FILES = (/u01/oracle/prod/control01.ctl, /u02/oracle/prod/control02.ctl, /u04/oracle/prod/control03.ctl)

- Levantar la BD Eliminando los control files.

- Shutdown la BD- Editar el parámetro CONTROL_FILES para retirar el archivo de control que se desea

eliminar.- Levantar la base de Datos.

2. Vamos a poner en práctica el tutorial:

1. Crear nuestra base de datos levantando otro archivo de control en otro disco

. Mostrar los archivos de control de la base de datos

-- Dar format de salidaSQL> SHOW PARAMETER CONTROL_FILE(S);SQL> COLUMN NAME FORMAT A50;SQL> SET LINESIZE 100;SQL> SELECT * FROM V$CONTROLFILE;SQL> SELECT STATUS, NAME FROM V$CONTROLFILE;

Page 5: Sesión13 - Archivos de Control (Oracle)

. Creamos un archivo pfile a partir del spfile en la siguiente ruta “'C:/MIPFILE1.ORA”

SQL> CREATE PFILE = 'C:/MIPFILE1.ORA' FROM SPFILE;

Archivo creado

. Copiar en c un archivo de control

. Añadir un nuevo archivo de control al pfile, para ello cerramos la base de datos, El proceso de cierre no es más que el proceso de inicialización a la inversa y actualizamos el pfile “MIPFILE.ORA” con el nuevo archivo de control.

SQL> SHUTDOWN IMMEDIATE;Base de datos cerrada.Base de datos desmontada.Instancia ORACLE cerrada.

sysdba.__db_cache_size=536870912sysdba.__java_pool_size=16777216sysdba.__large_pool_size=16777216sysdba.__oracle_base='C:\app\XxkokoxX'#ORACLE_BASE set from environmentsysdba.__pga_aggregate_target=637534208sysdba.__sga_target=956301312sysdba.__shared_io_pool_size=0sysdba.__shared_pool_size=352321536sysdba.__streams_pool_size=16777216*.audit_file_dest='C:\app\XxkokoxX\admin\sysdba\adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='C:\app\XxkokoxX\oradata\sysdba\control01.ctl','C:\app\XxkokoxX\fast_recovery_area\sysdba\control02.ctl', 'C:\control01.ctl'*.db_block_size=8192*.db_domain=''*.db_name='sysdba'*.db_recovery_file_dest='C:\app\XxkokoxX\fast_recovery_area'*.db_recovery_file_dest_size=4322230272*.diagnostic_dest='C:\app\XxkokoxX'

Page 6: Sesión13 - Archivos de Control (Oracle)

*.dispatchers='(PROTOCOL=TCP) (SERVICE=sysdbaXDB)'*.local_listener='LISTENER_SYSDBA'*.memory_target=1580204032*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.undo_tablespace='UNDOTBS1'

. Abrir la base de datos con el archivo pfile creado.

SQL> STARTUP PFILE= 'C:/MIPFILE1.ORA';

Total System Global Area 1586708480 bytesFixed Size 2255584 bytesVariable Size 1040188704 bytesDatabase Buffers 536870912 bytesRedo Buffers 7393280 bytesBase de datos montada.Base de datos abierta.

. Al comprobar notaremos que el nuevo pfile tiene agregado al Nuevo control file ubicado en “C”

SQL> SELECT * FROM v$controlfile;

STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS------- ------------------------------------------------------------------------------------ --- ---------- -------------- C:\APP\XXKOKOXX\ORADATA\SYSDBA\CONTROL01.CTL NO 16384 594 C:\APP\XXKOKOXX\FAST_RECOVERY_AREA\SYSDBA\CONTROL02.CTL NO 16384 594 C:\CONTROL01.CTL NO 16384 594

Sacado de youtube

2. Comando para respaldar los control files:

. Cada vez que se modifica

SQL> ALTER DATABASE BACKUP CONTROLFILE TO 2 'c:/backupcontrol.bkp';

Page 7: Sesión13 - Archivos de Control (Oracle)

Base de datos modificada.

3. Multiplexacion de un control files en oracle

. Mostrar los control files existente

SQL> SELECT NAME FROM V$CONTROLFILE;

. Alteramos el parámetro CONTROL_FILES para reflejar la ruta donde estará el nuevo control file:

SQL> ALTER SYSTEMSET CONTROL_FILES='C:\app\XxkokoxX\oradata\sysdba\control01.ctl', 'C:\app\XxkokoxX\fast_recovery_area\sysdba\control02.ctl', 'C:\control01.ctl', ‘C:\control02.ctl’Sistema alterado

. Mostrar propiedades de los control files

SQL> SHOW PARAMETER CONTROL_FILES;SQL> SHOW PARAMETER CONTROL;

. Cerrar base de datos

Sql> SHUTDOWN IMMEDIATE;-------------------------------------------. Copiamos y pegamos control file ‘C:\control02.ctl’

SQL> STARTUP PFILE= 'C:/MIPFILE1.ORA';

. Seleccionar control files

SQL> SELECT NAME FROM V$CONTROLFILE;

Tutoriales:Ver video multiplex control file in oracle , add control filehttp://www.youtube.com/watch?v=QEGNRQq5S2shttp://rodolfocandido.blogspot.com/2008/06/multiplexacin-de-un-controlfile-en.html