24
Jaime Amigo P. © 2006, Santiago - Chile Instituto Profesional DuocUC Escuela de Ingeniería Administrando una Instancia Oracle

Abf leccion 05

Embed Size (px)

Citation preview

Page 1: Abf leccion 05

Jaime Amigo P. © 2006, Santiago - Chile

Instituto Profesional DuocUCEscuela de Ingeniería

Administrando una Instancia Oracle

Page 2: Abf leccion 05

2

Instituto Profesional DuocUCEscuela de Ingeniería

ObjetivosDespués de completar esta lección, usted deberá sabercómo:• Crear y manejar los archivos de parámetros de

inicialización• Configurar OMF• Levantar y Bajar una instancia• Monitorear y usar archivos de diagnóstico

Page 3: Abf leccion 05

3

Instituto Profesional DuocUCEscuela de Ingeniería

Archivo de Parámetros de Inicialización

Al levantar una instancia Oracle, el servidor Oracle debe leer el archivo de Parámetros de Inicialización

Archivos de InicializaciónSus entradas son específicas para la instancia que está siendo accesadaHay dos tipos de parámetros:

● Explícitos: Tiene una entrada en el archivo● Implícitos: No tienen entrada en el archivo, pero asumen los valores por Default

de OracleUna base de datos puede tener múltiples archivos de inicialización, fundamentalmente para diversas situaciones de rendimiento.Los cambios a las entradas en el archivo tienen efecto según el tipo de archivo de parámetros de inicialización utilizado:

● Archivos de parámetros estático (PFILE)● Archivos de parámetros persistente (SPFILE)

Page 4: Abf leccion 05

4

Instituto Profesional DuocUCEscuela de Ingeniería

PFILE - initSID.ora

● El PFILE es un archivo de texto que puede ser modificado con un editor del sistema operativo

● El PFILE solo es leído durante la subida de la instancia● Las modificaciones sobre él, solo tienen efecto en el

próximo startup de la instancia● La localicación por defecto es $ORACLE_HOME/dbs

(ambiente Linux/Unix) y recibe el nombre initSID.ora● Algunos parámetros son dinámicos, es decir, tienen

efecto mientras la instancia esta corriendo● Los cambios sobre parámetros dinámicos no se reflejan

en el PFILE

Ejemplo de PFILE# Initialization Parameter File: initdb01.oradb_name = db01instance_name = db01control_files = (/u03/oradata/db01/control01db01.ctl, /u03/oradata/db01/control02db01.ctl)db_block_size = 4096db_block_buffers = 500shared_pool_size = 31457280 # 30M Shared Pooldb_files = 1024max_dump_file_size = 10240background_dump_dest = /u05/oracle9i/admin/db01/bdumpuser_dump_dest = /u05/oracle9i/admin/db01/udumpcore_dump_dest = /u05/oracle9i/admin/db01/cdumpundo_management = autoundo_tablespace = undtbs. . .

Page 5: Abf leccion 05

5

Instituto Profesional DuocUCEscuela de Ingeniería

SPFILE - spfileSID.ora● Es una nueva característica disponible desde Oracle 9i● Este archivo (binario) no puede ser modificado manualmente y

reside en el servidor● La ubicación por defecto de este archivo es en

$ORACLE_HOME/dbs y recibe el nombre de spfileSID.ora(Linux/Unix)

● Para alterar los valores de los parámetros, se hacen con el comando ALTER SYSTEM command

● A través de la cláusula SCOPE se indica el ámbito del cambio(MEMORY, SPFILE, BOTH)

ALTER SYSTEM SET parameter = value [SCOPE = MEMORY | SPFILE | BOTH];

Page 6: Abf leccion 05

6

Instituto Profesional DuocUCEscuela de Ingeniería

Creando un SPFILE● El SPFILE puede ser creado desde un archivo

initSID.ora usando el comando CREATE SPFILE● El comando puede ser ejecutado antes o después de

subir la instancia● Para ejecutar este comando se requiere el Rol de

SYSDBA

CREATE SPFILE [='spfile_name'] FROM PFILE [='Spfile_name'];

Ejemplo SPFILE:.background_dump_dest=ORACLE_HOME/admin/db01/bdump.compatible=9.0.0.control_files= /u03/oradata/db01/control01db01.ctl,

/u03/oradata/db01/control02db01.ctl.core_dump_dest=ORACLE_HOME/admin/db01/cdump.db_block_buffers=500.db_block_size=4096.db_files=40.db_name=db01.instance_name=db01.remote_login_passwordfile=exclusive.shared_pool_size=31457280 # 30M Shared Pool.undo_management=AUTOdb01.undo_tablespace=UNDOTBS01db02.undo_tablespace=UNDOTBS02. . .

Page 7: Abf leccion 05

7

Instituto Profesional DuocUCEscuela de Ingeniería

Oracle Managed Files

● Oracle Managed Files (OMF) simplifica la administración de archivos

● Son creados y eliminados directamente por el ServidorOracle vía comandos SQL

● OMF define dos tipos de parámetros:● DB_CREATE_FILE_DEST: Seteo para definir la

ubicación por defecto de los archivos de bases de datos● DB_CREATE_ONLINE_LOG_DEST_N: Seteo para

definir la ubicación por defecto para los archivos de Redo Logs y Control Files con un máximo de 5 localizaciones

Page 8: Abf leccion 05

8

Instituto Profesional DuocUCEscuela de Ingeniería

Ejemplo: Oracle Managed FileAl crear una base de datos donde los data file, control file y redo log online están en directorios separados● Setear los parámetros de inicialización:

● DB_CREATE_FILE_DEST = '/u01/oradata'● DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata'● DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata'

● Después de setear los parámetros de inicialización, la base de datos puede ser creada con la sentencia SQL CREATE DATABASE

● Información sobre la creación se puede accesar en losobjetos Oracle DBA_DATAFILES y V$LOGFILE

● Tanto DB_CREATE_FILE_DEST y DB_CREATE_ONLINE_LOG_DEST_n pueden ser modificados con el comando SQL ALTER SYSTEM SET comando

Page 9: Abf leccion 05

9

Instituto Profesional DuocUCEscuela de Ingeniería

Subiendo una base de datos

Levantar una Base de Datos

Cuando una base de datos es levantada (subida/startup), usted selecciona el estado en el cual se inicia. Los siguientes son los escenarios posibles al levantar una instancia Oracle.

NOMOUNT

Una instancia es iniciada en estado NOMOUNT solo durante la creación de la base de datos o la recreación de los archivos de control.

Levantar una instancia incluye las siguientes tareas:- Leer el archivo de inicialización $ORACLE_HOME/dbs en el siguiente orden:1. Primero spfileSID.ora2. Sino encuentra el anterior, entonces lee pfileSID.ora3. Sino encuentra el anterior, initSID.ora- Asignar la SGA- Iniciar los procesos background- Abrir el archivo alertSID.log y los archivos de Trace

Page 10: Abf leccion 05

10

Instituto Profesional DuocUCEscuela de Ingeniería

Subiendo una base de datos

Montando la Base de Datos (MOUNT)Para ejecutar labores específicas de mantenimiento, usted debe iniciar la instancia y montarla, pero no abrir la base de datos.

Por ejemplo, la base de datos debe ser montada pero no abierta en los siguientes casos:

a) Renombrar Datafiles (datafiles para un tablespace offline debe ser renombrado cuando la base de datos esta abierta (OPEN))

b) Habilitar y deshabilitar archivos de redo log online

c) Ejecutar una recuperación full de la base de datos

Montar una base de datos incluye las siguientes tareas:

a) Asociar la base de datos con una instancia previamente levantada

b) Localizar y abrir los archivos de control especificados en el archivo de parametros

c) Leer el archivo de control y obtener los nombres y estados de los datafiles y archivos de redo log online. Sin embargo, no chequea o verifica la existencia de los archivos de datafileo redolog online en este instante

Page 11: Abf leccion 05

11

Instituto Profesional DuocUCEscuela de Ingeniería

Subiendo una base de datos

Abrir una Base de Datos (OPEN)

Una base de datos en modo normal de operación, significa que una instancia de base de datos ha sido iniciada y la base de datos montada y abierta. OPEN es la opción por defecto al subir una base de datos. En este modo, cualquier usuario válido puede conectarse a la base de datos y ejecutar operaciones típicas de acceso a los datos.

Abrir una base de datos incluye las siguientes tareas:

1. Abrir los archivos de datafile online

2. Abrir los archivos de redo log online

Si alguno de los archivos de datafile o redo log no existe cuando una base de datos esta pasando el modo OPEN, el servidor Oracle retorna un error.

Durante la etapa final, el servidor ORACLE verifica que todos los datafiles y redo logpuedan ser abiertos y chequea la consistencia de la base de datos. Si es necesario, el proceso background SMON inicia una recuperación.

Page 12: Abf leccion 05

12

Instituto Profesional DuocUCEscuela de Ingeniería

Comando startup

STARTUPSTARTUP PFILE=ORACLE_HOME/dbs/initdb01.oraSTARTUP [FORCE] [RESTRICT] [PFILE=filename]

[OPEN] [RECOVER] [database]| MOUNT| NOMOUNT ]

OPEN : Habilita a los usuarios a accesar la base de datos

MOUNT : Monta la BD para ciertas actividades de Administración (DBA) pero usuarios no pueden accesar

NOMOUNT : Crea la SGA e inicia los procesos background, pero no otorgaacceso a la base de datos

PFILE=parfile : Habilita los parámetros para la instancia indicados en el archivo

FORCE : Aborta los procesos que estan corriendo en la instancia antes de realizar un startup normal

RESTRICT : Habilita solo a usuarios con privilegio de RESTRICTED SESSIONpara acceder a la base de datos

RECOVER : Inicia recuperación cuando se inicia la base de datos

Page 13: Abf leccion 05

13

Instituto Profesional DuocUCEscuela de Ingeniería

Base de datos en modo restringido

1. Para habilitar la subida en modo restringido:STARTUP RESTRICT;

2. Para alterar el modo de una base de datos:ALTER SYSTEM ENABLE RESTRICTED SESSION;

Una sesión restringida es util para ejecutar mantención de estructuras o export e import de una base de datos. ComandoALTER SYSTEM [ { ENABLE | DISABLE} RESTRICTED SESSION ];ENABLE RESTRICTED SESSION

Permite futuros logins solo a usuarios con privilegio de RESTRICTED SESSION (usualmente usuario ROL DBA)DISABLE RESTRICTED SESSION

Deshabilita el RESTRICTED SESSION Después de habilitar una instancia en modo restringido, es posible que quedensesiones de usuarios activas. Estas sesiones deben ser canceladas (matadas) con el siguiente comandoALTER SYSTEM KILL SESSION -integer1, integer2-integern : es el valor de la columna SID de la vista V$SESSION

Page 14: Abf leccion 05

14

Instituto Profesional DuocUCEscuela de Ingeniería

Base de datos en modo Read-Only

• Una base de datos puede ser usada en modo Read-Onlypara:

• Ejecutar solo consultas• Ejecutar ordenamiento en disco, usandotablespaces manejados localmente• Dejar un datafile offline y online, no tablespace• Ejecutar una recuperación offline de los datafile y tablespaces

Es decir, fundamentalmente para labores de Administración del DBA

Page 15: Abf leccion 05

15

Instituto Profesional DuocUCEscuela de Ingeniería

Bajando una Base de Datos

SHUTDOWN [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]

En algunas ocaciones, es preciso bajar (shutdown) una base de datos, por ejemplo, para ejecutar respaldos en frio de la base de datos o para realizar upgrades o bien para aplicar parches de Oracle. Cualquiera sea el caso, usted debe comprender las opciones de bajada (shutdown).

Shutdown Normal

Es el modo por defecto que Oracle ejecuta sino se especifican otras opciones. Espera que todos los usuarios conectados actualmente se desconecten de la base de datos y no permite nuevas conecciones desde el momento de iniciado el SHUTDOWN NORMAL. Dado que Oracle espera que todos clientes se desconecten, usted podria esperar indefinidamente. En este caso, es preciso hacer KILL a cada sesión de usuario, lo que toma un tiempo extra al DBA. Este tipo de Shutdown es conocido como “shutdown clean” porque cuando se inicia nuevamente la base de datos, no es precisa una recuperación.

Page 16: Abf leccion 05

16

Bajando una instancia (continuación)Shutdown Transactional

Esta es una característica un poco mas agresiva que Shutdown Normal. Las siguientes son las características de un Shutdown Transactional:

- No se permiten nuevas conexiones desde iniciado el Shutdown Transactional

- No se permiten nuevas transacciones a los usuarios que ya estaban conectados

- Cuando todas las transacciones activas en la BD han terminado, todos los clientes son desconectados

Este tipo de shutdown también es limpio y no requiere de recuperación en el próximo startup.

La diferencia entre Normal y Transactional es que el primero, espera que todos los usuarios se desconecten voluntariamente de la base de datos y solo ahí, se baja la base de datos. El segundo, espera que las transacciones de los usuarios que ya estan conectados terminen y Oracle deconecta automáticamente a cada proceso usuario, iniciando así el shutdown.

Page 17: Abf leccion 05

17

Instituto Profesional DuocUCEscuela de Ingeniería

Bajando una Base de Datos

SHUTDOWN [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]

Shutdown Immediate

Es el siguiente método de shutdown mas agresivo que dispone Oracle. Shutdown Immediate se caracteriza por:

- No permite nuevas conexiones a la base de datos desde iniciado el ShutdownImmediate

- Transacciones sin COMMIT no podran hacer ROLLBACK. Asi, el usuario en la mitad de una transacción perdera todo el trabajo sin COMMIT

- Oracle no espera que los clientes se desconecten. A cualquier transacción no finalizada se le aplica ROLLBACK y sus conecciones a la base de datos son finalizadas.

Este tipo de shutdown trabaja bien si usted desea ejecutar una bajada inmediata y asegurarse que todas las transacciones y clientes seran desconectados.

Page 18: Abf leccion 05

18

Shutdown Abort

Es el método más agresivo de todos los shutdown y tiene las siguientes características:

- No permite nuevas conecciones a partir del shutdown abort

- Cualquier sentencia SQL en proceso es finalizada, sin importar el estado en la que se encuentre

- Al trabajo sin COMMIT no se le aplica ROLLBACK

- Oracle desconecta todas las conecciones de clientes inmediatamente

No es recomendable usar shutdown abort regularmente. Utilicelo, solo si las otras opciones de bajada no funcionan. Este tipo de shutdown no es “clean” y requiere recuperación cuando la base de datos sea iniciada la próxima vez.

Page 19: Abf leccion 05

19

Instituto Profesional DuocUCEscuela de Ingeniería

Opciones de SHUTDOWN

Page 20: Abf leccion 05

20

Instituto Profesional DuocUCEscuela de Ingeniería

Opciones de SHUTDOWN

Page 21: Abf leccion 05

21

Instituto Profesional DuocUCEscuela de Ingeniería

Monitoreando Archivos de Diagnóstico

Los archivos de diagnóstico capturan información de lasactividades de una base de datos● Usado para resolver problemas o mejorar la

administración de la base de datos en el día a día● Existen varios tipos de archivos de diagnóstico

● Archivo alertSID.log, contiene información de la operación diaria

● Archivos de trace de procesos background, útilescuando SMON, PMON, DBWn y otros fallan

● Archivos de trace de usuarios, información vital cuando hay errores de usuarios

Archivos de Alertas

Cada instancia Oracle tiene un archivo de Alert Log. Sino esta creado, Oracle crea uno en el Startup

El archivo alertSID.log registra los comandos y resultados de los principales eventosmientras una BD esta operativa.Usado para el trabajo diario o para diagnósticos de errores de la base de datos.Cada entrada tiene una hora asociada al evento.Los DBA son los encargados de administrar este archivo.Su localización esta definida en BACKGROUND_DUMP_DEST. Ubicación UNIX pordefecto es $ORACLE_HOME/rdbms/logEl archivo de Alert contiene punteros a archivos de trace mas detallados.Información que contiene:

● Cuando la BD fue subida y bajada● Lista de todos los parámetros de inicialización no default● Subida de los procesos background● El Thread (hebra) que esta siendo usado por la instancia

Page 22: Abf leccion 05

22

● El número de secuencia de log que LGWR esta escribiendo● Información de LOG SWITCH● Creación de tablespaces y segmentos de UNDO● Información de mensajes de error ORA-600 y errores de extent

Page 23: Abf leccion 05

23

Instituto Profesional DuocUCEscuela de Ingeniería

Monitoreando Archivos de Diagnóstico

Cada base de datos tiene un alert_sid.log. Este archivo esta en el servidor donde reside la Base de Datos y esta almacenado en el directorio especificado en el parámetro de inicialización background_dump_dest.

El archivo de alertas de la base de datos, es un archivo de mensajes cronologicos y de errores, incluyendo lo siguiente:

-Errores internos (ORA-600), errores de corrupción de bloques (ORA-1578) y errores de deadlock (ORA-60)

-Operaciones administrativas, tales como sentencias SQL CREATE, ALTER, DROP DATABASE, TABLESPACE, ROLLBACK SEGMENT y sentencias de STARTUP, SHUTDOWN, ARCHIVE LOG y RECOVER

-Errores durante el refresco automático de vistas materializadas

EM monitorea el archivo de alertas de log y notifica los errores criticos (este proceso puede automatizarse vía email). También se pueden ver los errores no críticos o mensajes informativos. Este archivo puede crecer a un tamaño inimaginable. Se debe tener prevención de respaldar este archivo (por su historia y utilidad) con cierta regularidad y borrar el archivo de alertas, para efectos de limpieza. Si el archivo no existe, al subir la base de datos, se creara un nuevo archivo de alertas de logs.

Page 24: Abf leccion 05

Jaime Amigo P. © 2006, Santiago - Chile

Instituto Profesional DuocUCEscuela de Ingeniería

Fin de la Lección