Sesión13 - Archivos de Control (Oracle)

2,773 views

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,773
On SlideShare
0
From Embeds
0
Number of Embeds
239
Actions
Shares
0
Downloads
84
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sesión13 - Archivos de Control (Oracle)

  1. 1. /* Sesión13 – Archivos de Control Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:i201010865@cibertec.edu.pe */ 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.
  2. 2. 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
  3. 3. incluyen: MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES y MAXINSTANCES. La sentencia CREATE CONTROLFILE CREATE CONTROLFILE SET DATABASE prod LOGFILE 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’). NORESETLOGS DATAFILES ‘/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 50 MAXLOGMEMBERS 3 MAXDATAFILES 200 MAXINSTANCES 6 ARCHIVELOG; 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 2 o Bajar la BD de manera normal y consistente. - Paso 3 o Hacer un backup de los datafiles y los redologs files. - Paso 4 o 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. Paso 8
  4. 4. o 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 salida SQL> 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;
  5. 5. . 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=536870912 sysdba.__java_pool_size=16777216 sysdba.__large_pool_size=16777216 sysdba.__oracle_base='C:appXxkokoxX'#ORACLE_BASE set from environment sysdba.__pga_aggregate_target=637534208 sysdba.__sga_target=956301312 sysdba.__shared_io_pool_size=0 sysdba.__shared_pool_size=352321536 sysdba.__streams_pool_size=16777216 *.audit_file_dest='C:appXxkokoxXadminsysdbaadump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='C:appXxkokoxXoradatasysdbacontrol01.ctl','C:appXxkokoxXfast_recovery_ areasysdbacontrol02.ctl', 'C:control01.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='sysdba' *.db_recovery_file_dest='C:appXxkokoxXfast_recovery_area' *.db_recovery_file_dest_size=4322230272 *.diagnostic_dest='C:appXxkokoxX' *.dispatchers='(PROTOCOL=TCP) (SERVICE=sysdbaXDB)'
  6. 6. *.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 bytes Fixed Size 2255584 bytes Variable Size 1040188704 bytes Database Buffers 536870912 bytes Redo Buffers 7393280 bytes Base 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:APPXXKOKOXXORADATASYSDBACONTROL01.CTL NO 16384 594 C:APPXXKOKOXXFAST_RECOVERY_AREASYSDBACONTROL02.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';
  7. 7. 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 SYSTEM SET CONTROL_FILES='C:appXxkokoxXoradatasysdbacontrol01.ctl', 'C:appXxkokoxXfast_recovery_areasysdbacontrol02.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 file http://www.youtube.com/watch?v=QEGNRQq5S2s http://rodolfocandido.blogspot.com/2008/06/multiplexacin-de-un-controlfile-en.html

×