conceptos básicos tuning oracle

Upload: husseingabriel

Post on 04-Jun-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Conceptos bsicos tuning Oracle

    1/5

  • 8/13/2019 Conceptos bsicos tuning Oracle

    2/5

    - 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 parmetro deBACKGROUND_DUMP_DEST. En sistemas que sigan el modelo OFA,$ORACLE_BASE/adin/SID/bdump en sistemas UNIX. En sistemas tales como

    Windows 2000 segn este estndar podra encontrarse en%ORACLE_BASE%\admin\SID\bdump

    Ejemplo de trace files para los procesos background:

    Nombre del proceso Sistemas UNIX Sistema Windows

    PMON Pmon_xxxx.trc sidPMON.trc

    SMON Smon_xxxx.trc sidSMON.trc

    DBW0 Dbw0_xxxx.trc sidDBW0.trc

    LGWR Lgwr_xxxx.trc sidLGWR.trc

    CPT Cpt_xxxx.trc sidCPT.trcARC0 Arc_xxxx.trc sidARC0.trc

    - User trace filesLos ficheros user trace files se encuentran tambin en el directorio especificado en el

    init.ora mediante el parmetro BACKGROUND_DUMP_DEST. Este fichero tambinincorpora en nombre de la instancia en los sistemas UNIX

    Ejemplo:

    Siendo alumnos el nombre de la instancia de nuestra base de datosora_alumnos_4327.trc (sistemas UNIX) ora04327.trc (Windows 2000) , para identificara qu usuario corresponde este trace file debemos de recurrir a dos vistas: V$PROCESSy v$SESSION.

    Con la siguiente consulta podramos obtener el usuario cuyo proceso corresponde al4327 :

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

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

    Activando las trazas de usuario:

    Cuando ocurre un error, el archivo de traza se genera automticamente, no obstante si el

    administrador de base de datos quiere que este archivo no solo se genere cuando hayaun error entonces deber realizar lo siguiente:

  • 8/13/2019 Conceptos bsicos tuning Oracle

    3/5

    Instance-Level Tracing:Si ponemos en init.ora el parmetro SQL_TRACE=TRUE,todos los procesos generarn sus archivos de traza. El parmetro por defecto paraSQL_TRACEes FALSE.

    User Level Self-Tracing Un usuario puede activar o desactivar en su propia sesin sutrace file utilizando los siguientes comandos de SQL :

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

    User Level DBA Tracing Tambin podemos iniciar el user trace file mediante PL/SQLhaciendo una llamada al paquete DBMS_SYSTEM. Este paquete de PL/SQL contieneun procedimiento que nos permite activar el user trace file de algn usuariosimplemente sabiendo el sid y el serial ( serial# )

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

    SQL> SELECT username, sid, serial#FROM v$sessionWHERE username = DAVID';USERNAME SID SERIAL----- -- ----DAVID 10 2642

    Activamos el trace file para la sesin de DAVID usando el paquete DBMS_SYSTEMPL/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 sesin de DAVID generar un trace file que estar especificado en el parmetroUSER_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. Cmo interpretar User trace file

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

    Gestionando trace files:Podemos gestionar el tamao de estos archivos mediante una serie de parmetros en elINIT.oraParmetro especificado Tamao mximo para User Trace

    MAX_DUMP_FILE_SIZE=10000 10000 OS bloques

    MAX_DUMP_FILE_SIZE=500K 500000 bytes

  • 8/13/2019 Conceptos bsicos tuning Oracle

    4/5

    MAX_DUMP_FILE_SIZE=10M 10 megabytesMAX_DUMP_FILE_SIZE=unlimited No limits on file size

    Performance Tuning ViewsHay dos tipos de vistas de ORACLE que nos dan informacin:

    Las v$ dynamic performance views Las DBA Data dictionary views

    Los nombres de las vistas v$ son generalmente singulares de las DBA views queutilizamos con nombres en plural. Un ejemplo para esto es V$datafile vsDBA_DATA_FILES.Muchas de las vistas estn disponibles cuando la base de datos est en estado nomount mount. Las DBA views slo estn disponibles cuando la base de datos est abierta

    (open)

    Hay aproximadamente unas 225 V$, estas vistas estn basadas en tablas dinmicasconocidas colectivamente como X$ tablas. Estas tablas existen en memoria connombres encriptados como X$KSMPS.

    Ejemplo de v$dynamic performance views.

    Nombre de la vista Descripcin de la vista------------------ --------------------------V$SGASTAT Tamao de todas las estructuras de memoriaV$STATNAME Estadsticas del V$SESSTATV$SYSSTAT Estadsticas del uso de cpu para todas las sesionesactivasV$SESSTAT Estadsticas de las sesiones activasV$SESSION Sesiones activas.V$WAITSTAT Refleja la contencin en trminos del nmero deesperas en cuatro tipos de bloques de rollback

    Ejemplo de DBA Views

    Nombre de la vista Descripcin de la vista :------------------ -------------------------

    DBA_TABLES Tablas, lneas e informacin de bloquesDBA_INDEXES ndices, lneas e informacin de bloquesDBA_DATA_FILES Ubicacin de los datafiles, nombre e informacindel tamao.DBA_SEGMENTS Informacin sobre el espacio consumido en lossegmentos de base de datos

    Ejemplo de consultas (query) para este tipo de vistasV$:

    SQL > Select s.username,n.name,t.value

    from v$session, v$statname n,v$sesstat twhere s.sid=t.sid

  • 8/13/2019 Conceptos bsicos tuning Oracle

    5/5

    and t.statistic#=n.statistic#and s.username ='DAVID';

    DBA VIEW:

    SQL > Select table_name, chain_cntfrom dba_tableswhere owner = DAVID'and chain_cnt !=0;