PDF de programación - Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Imágen de pdf Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.comgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.525 visualizaciones desde el 14 de Enero del 2017
244,1 KB
6 paginas
Creado hace 7a (11/07/2016)
Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Escrito por Administrator
Miércoles, 15 de Diciembre de 2010 21:30 - Actualizado Domingo, 19 de Diciembre de 2010 13:16
1. Top-Down


Oracle, a la hora de optimizar el rendimiento de nuestra base de datos recomienda un orden
concreto de los aspectos a optimizar. Por ejemplo ponen el diseño de la base de datos por
encima de la optimización del sistema o la instancia. Esta metodología la denominan
"Top-Down".



Prioridad del área a realizar tuning:

* Tuning the Data Design
* Tuning the Aplication Design
* Tuning Memory Allocation
* Tuning I/O and Physical Structure
* Tuning Resource Contention
* Tuning the underlying Platform(s)



2. Alert log


Los “Alert logs” son registros que contienen la información de “mensajes de errores” obtenidos
por la variedad de actividades que se realizan en la base de datos. Estas actividades y
registros están almacenados cronológicamente del mas antiguo al más reciente. Este registro
se encuentra en el directorio que hayamos fijado en nuestro init.ora bajo el parámetro BACKG
ROUND_DUMP_DEST
. En una arquitectura
OFA
se recomienda que el directorio donde se encuentren estos archivos sea el siguiente:
$ORACLE_BASE/adin/SID/bdump
en sistemas UNIX. En sistemas tales como Windows 2000 según este estándar podría
encontrarse en
%ORACLE_BASE%adminSIDbdump
El nombre de este alert log será alert_ seguido de la instancia de la base de datos.

Una de las cosas que podemos hacer para tener un seguimiento del alert log es mantener en
un archivo las últimas 1000 líneas de este registro. Para hacer esto podemos echar mano del
comando

tail



1 / 6

Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Escrito por Administrator
Miércoles, 15 de Diciembre de 2010 21:30 - Actualizado Domingo, 19 de Diciembre de 2010 13:16
Ejemplo:

cd $ORACLE_BASE/admin/ALUMNOS/bdump
tail –1000 alert_alumnos.log > alert_alumnos.log.ultimas
mv alert_alumnos.log.ultimas alert_alumnos.log 3. Trace files


Oracle trace files son archivos de texto que contienen información de la sesión para el
proceso que han creado. “Trace files” pueden ser generados por procesos background .
Muchos de estos “trace files” contienen información sobre el tuning que se le debe hacer a una
base de datos.

- Background Trace Files:
Los “trace files” ( ficheros de traza ) generados por los procesos background pueden ser
encontrados en el directorio especificado en el init.ora bajo el parámetro de BACKGROUND_D
UMP_DEST
. En
sistemas que sigan el modelo OFA, $ORACLE_BASE/adin/SID/bdump en sistemas UNIX. En
sistemas tales como Windows 2000 según este estándar podría encontrarse en
%ORACLE_BASE%adminSIDbdump



Ejemplo de trace files para los procesos background:

Nombre del proceso Sistemas UNIX
PMON
SMON
DBW0
LGWR
CPT
ARC0


Pmon_xxxx.trc
Smon_xxxx.trc
Dbw0_xxxx.trc
Lgwr_xxxx.trc
Cpt_xxxx.trc
Arc_xxxx.trc

Sistema Windows

sidPMON.trc
sidSMON.trc
sidDBW0.trc
sidLGWR.trc
sidCPT.trc
sidARC0.trc



- User trace files
Los ficheros “user trace files” se encuentran también en el directorio especificado en el init.ora
mediante el parámetro BACKGROUND_DUMP_DEST. Este fichero también incorpora en
nombre de la instancia en los sistemas UNIX



2 / 6

Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Escrito por Administrator
Miércoles, 15 de Diciembre de 2010 21:30 - Actualizado Domingo, 19 de Diciembre de 2010 13:16
Ejemplo:
Siendo alumnos el nombre de la instancia de nuestra base de datos ora_alumnos_4327.trc
(sistemas UNIX) ora04327.trc (Windows 2000) , para identificar a qué usuario corresponde este
trace file debemos de recurrir a dos vistas: V$PROCESS y v$SESSION.



Con la siguiente consulta podríamos obtener el usuario cuyo proceso corresponde al 4327 :

SQL > SELECT s.username,p.spid FROM v$session s, v$process p
WHERE s.paddr = p.addr AND p.background is null;

USERNAME SPID
----- ----
USER1 4282
USER2 5436
USER3 4327
USER4 4678

Activando las trazas de usuario:


Cuando ocurre un error, el archivo de traza se genera automáticamente, no obstante si el
administrador de base de datos quiere que este archivo no solo se genere cuando haya un
error entonces deberá realizar lo siguiente:

Instance-Level Tracing: Si ponemos en init.ora el parámetro SQL_TRACE=TRUE, todos los
procesos generarán sus archivos de traza. El parámetro por defecto para
SQL_TRACE
es FALSE.

User Level Self-Tracing Un usuario puede activar o desactivar en su propia sesión su trace file
utilizando los siguientes comandos de SQL :

SQL > ALTER SESSION SET SQL_TRACE=TRUE
SQL > ALTER SESSION SET SQL_TRACE=FALSE

User Level DBA Tracing También podemos iniciar el user trace file mediante PL/SQL haciendo
una llamada al paquete DBMS_SYSTEM. Este paquete de PL/SQL contiene un procedimiento
que nos permite activar el user trace file de algún usuario simplemente sabiendo el sid y el
serial ( serial# )

Identificamos el sid y el serial# de un usuario llamado DAVID:

3 / 6

Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Escrito por Administrator
Miércoles, 15 de Diciembre de 2010 21:30 - Actualizado Domingo, 19 de Diciembre de 2010 13:16
SQL> SELECT username, sid, serial#
FROM v$session
WHERE username = ‘DAVID';
USERNAME SID SERIAL
----- -- ----
DAVID 10 2642

Activamos el trace file para la sesión de DAVID usando el paquete DBMS_SYSTEM PL/SQL y
los valores para el sid y el serial que hemos obtenido en el punto 1. Utilizamos el procedimiento
set_sql_trace_in_session del paquete dbms_system

SQL > exec sys.dbms_system.set_sql_trace_in_session(10,2642,TRUE);

La sesión de DAVID generará un trace file que estará especificado en el parámetro
USER_DUMP_DEST de nuestro init.ora . En caso de que queramos para el trace file para el
usuario DAVID ejecutaremos lo siguiente:

SQL > exec sys.dbms_system.set_sql_trace_in_session(10,2642,FALSE);

4. Cómo interpretar User trace file


Una vez que estos trace file se han generado hay que aprender a interpretarlos. Se puede
interpretar el contenido de un user_trace_file usando la utilidad TKPROF.



Gestionando trace files:
Podemos gestionar el tamaño de estos archivos mediante una serie de parámetros en el
INIT.ora
Parámetro especificado Tamaño máximo para User Trace

MAX_DUMP_FILE_SIZE=10000 10000 OS bloques
MAX_DUMP_FILE_SIZE=500K 500000 bytes
MAX_DUMP_FILE_SIZE=10M 10 megabytes
MAX_DUMP_FILE_SIZE=unlimited No limits on file size

Performance Tuning Views
Hay dos tipos de vistas de ORACLE que nos dan información:


- Las v$ dynamic performance views
- Las DBA Data dictionary views

4 / 6

Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Escrito por Administrator
Miércoles, 15 de Diciembre de 2010 21:30 - Actualizado Domingo, 19 de Diciembre de 2010 13:16


Los nombres de las vistas v$ son generalmente singulares de las DBA views que utilizamos
con nombres en plural. Un ejemplo para esto es V$datafile vs DBA_DATA_FILES.
Muchas de las vistas están disponibles cuando la base de datos está en estado nomount ó
mount. Las DBA views sólo están disponibles cuando la base de datos está abierta (open)



Hay aproximadamente unas 225 V$, estas vistas están basadas en tablas dinámicas conocidas
colectivamente como X$ tablas. Estas tablas existen en memoria con nombres encriptados
como X$KSMPS.



Ejemplo de v$dynamic performance views.

Nombre de la vista Descripción de la vista
------------------ --------------------------
V$SGASTAT Tamaño de todas las estructuras de memoria
V$STATNAME Estadísticas del V$SESSTAT
V$SYSSTAT Estadísticas del uso de cpu para todas las sesiones activas
V$SESSTAT Estadísticas de las sesiones activas
V$SESSION Sesiones activas.
V$WAITSTAT Refleja la contención en términos del número de esperas en cuatro tipos de
bloques de rollback


Ejemplo de DBA Views

Nombre de la vista Descripción de la vista :
------------------ -------------------------
DBA_TABLES Tablas, líneas e información de bloques
DBA_INDEXES Índices, líneas e información de bloques
DBA_DATA_FILES Ubicación de los datafiles, nombre e información del tamaño.
DBA_SEGMENTS Información sobre el espacio consumido en los segmentos de base de
datos

Ejemplo de consultas (query) para este tipo de vistas
V$:

SQL > Select s.username,n.name,t.value
from v$session, v$statname n,v$sesstat t

5 / 6

Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com

Escrito por Administrator
Miércoles, 15 de Diciembre de 2010 21:30 - Actualizado Domingo, 19 de Diciembre de 2010 13:16
where s.sid=t.sid
and t.statistic#=n.statistic#
and s.username ='DAVID';

DBA VIEW:

SQL > Select table_name, chain_cnt
from dba_tables
where owner = ‘DAVID'
and chain_cnt !=0;

6 / 6
  • Links de descarga
http://lwp-l.com/pdf1305

Comentarios de: Conceptos básicos tuning Oracle - Tunning y optimización - Orasite.com (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad