Prácticas de Oracle 8i: SQL Statement Tuning Workshop.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Prácticas de Oracle 8i: SQL Statement Tuning Workshop."

Transcripción

1 BASES DE DATOS Prácticas de Oracle 8i: SQL Statement Tuning Workshop. Profesor: Ing. Sergio Salinas Lugo. Servicio Social: Abraham García Casas.

2 INDICE OBJETIVO...3 CONVENCIONES UTILIZADAS EN ESTE DOCUMENTO....4 EXPLAIN y AUTOTRACE....5 SQL Trace y TKPROF...14 OPTIMIZACIÓN BASADA EN REGLAS VS OPTIMIZACIÓN BASADA EN COSTOS Tabla de Scripts...28 Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 2 de 28

3 OBJETIVO. Esta serie de prácticas tiene dos objetivos El primer objetivo es que el alumno entienda, el uso de los comandos EXPLAIN, AUTOTRACE, SQL Trace, así como el uso de la herramienta TKPROF ( Transient Kernel Profile ). Tras ello, el segundo objetivo es que alumno a lo largo de las prácticas pueda practicar el uso de estos temas para realizar la optimización de consultas SQL dentro del Gestor de Base de Datos Oracle (DBMS). Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 3 de 28

4 CONVENCIONES UTILIZADAS EN ESTE DOCUMENTO. En el presente documento se emplean tres tipos de nomenclatura, las cuales son descritas a continuación: 1. El tipo de rectángulo con contorno punteado y fondo punteado indica la sintaxis de la sentencia SQL. El comando EXPLAIN PLAN EXPLAIN PLAN SET STATEMENT_ID = texto INTO plan table FOR declaración 2. El tipo de rectángulo con contorno completo y fondo texturizado indica la sentencia SQL ingresada al DBMS. select name, value from v$parameter where name in ('timed_statistics','max_dump_file_size', 'user_dump_dest','sql_trace'); 3. El tipo de rectángulo con contorno completo de esquinas redondeadas y fondo punteado indica la salida de la sentencia SQL ingresada al DBMS, por lo que se espera que las salidas que el usuario obtenga deban ser similares a las presentadas a lo largo del documento. SQL> select * from plan_table; 4. El tipo de rectángulo con contorno completo y fondo texturizado en zig-zag indica la ejecución de las herramientas del DBMS Oracle, contenidas dentro del directorio ORACLE_HOME instalado en su computadora. TKPROF C:\oracle\admin\OR92\udump\or92_ora_3252.trc run1.txt explain=system/manger sys=no; Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 4 de 28

5 Objetivos: EXPLAIN y AUTOTRACE. 1. Emplear el comando EXPLAIN, el cual genera el plan de ejecución en la tabla PLAN_TABLE, emplear el script utlxplan.sql para la creación de la tabla PLAN_TABLE, así como utilizar el comando EXPLAIN PLAN para visualizar los planes de ejecución. Emplear el script rp.sql para mostrar los resultados del plan de ejecución de forma más legible. 2. Emplear el comando AUTOTRACE desde SQL *Plus para desplegar los planes de ejecución y estadísticas para las sentencias SQL empleadas durante la sesión. Descripción de la práctica: En esta práctica se aprenderá a: Crear un PLAN_TABLE. Usar el comando EXPLAIN PLAN para ver los planes de ejecución. Dar formato a los resultados del plan de ejecución empleando el script rp.sql Ejecutar desde SQL*Plus el comando AUTOTRACE para desplegar los planes de ejecución y estadísticas para las sentencias SQL. Sentencias a utilizar: El comando EXPLAIN PLAN EXPLAIN PLAN SET STATEMENT_ID = texto INTO plan table FOR declaración El comando EXPLAIN PLAN Este comando inserta una fila en el PLAN_TABLE para cada paso del plan de la ejecución. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 5 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

6 Ejemplo EXPLAIN PLAN: Este comando inserta el plan de ejecución de la declaración SQL en la PLAN_TABLE, y agrega la etiqueta conocida demo_01 para la referencia futura. Nota: El comando EXPLAIN PLAN no se ejecuta actualmente hasta crear la tabla PLAN TABLE (ver pagina 10). Mostrar el Plan de Ejecución. SQL> EXPLAIN PLAN 2 set statement_id = 'demo_01' for 3 select * 4 from classes 5 where status='conf' 6 and loc_id=22; Explained. SQL> select id 2, lpad(' ',2*level) operation 3 decode(id,0,' Cost= ' position) 4 ' ' options 5 ' ' object_name as "Query Plan" 6 from plan_table 7 where statement_id = 'demo_01' 8 connect by prior id = parent_id start with id = 0; ID Query Plan SELECT STATEMENT Cost= 1 TABLE ACCESS BY INDEX ROWID CLASSES 2 AND-EQUAL 3 INDEX RANGE SCAN STAT_INDEX 4 INDEX RANGE SCAN LOC INDEX Nota: Un valor nulo para el costo siempre implica optimización basada en reglas (heurística). Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 6 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

7 Interpretación del Plan de Ejecución. Cada paso del plan de ejecución recupera filas de la base de datos o acepta filas como entrada de uno o más pasos, también conoce el origen de la fila. En el diagrama siguiente, los números corresponden a los valores del ID en la tabla del plan mostrado anteriormente. 1 TABLE ACCESS (BY INDEX ROWID) classes 2 AND EQUAL INDEX (RANGE_SCAN) stat_index 3 4 INDEX (RANGE_SCAN) loc_index La operación de AND_EQUAL (2) acepta el ROWIDs obtenido por las exploraciones del STAT_INDEX (3) y de LOC_INDEX (4), y regresa el ROWIDs que vengan de ambas fuentes. Esto da lugar a un conjunto de ROWIDs que permite TABLE ACCESS (1) de la tabla CLASSES para regresar las filas que satisfacen la consulta. El costo de un plan de ejecución es un valor proporcional al tiempo transcurrido previsto necesario para ejecutar la declaración, usando ese plan de ejecución. Si se utiliza el optimizador basado en las reglas, después el costo no está disponible y muestra un valor NULO. La lectura del plan de ejecución se hace de arriba a bajo, y de izquierda a derecha. Como unas instrucciones están anidadas dentro de otras, esto significa que una instrucción se resuelve en instrucciones más pequeñas, que son las que están dentro de la más externa. El plan se organiza en tres columnas, de mayor a menor generalidad. Estas columnas que indican: La operación a realizar Las operaciones (o modo) que se aplican a la operación El objeto sobre el que se realiza la operación Por ejemplo, la siguiente puede ser una línea de un plan de ejecución: TABLE ACCESS BY INDEX ROWID CLASSES Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 7 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

8 Se muestran estas tres columnas, que significan: Operación: acceso a tabla (TABLA ACCESS) Modo: se accede a la tabla utilizando el ROWID (BY ROWID) Objeto: Se accede a la tabla CLASSES (CLASSES) Las operaciones y modos más comunes para el plan de ejecución se muestran en la siguiente tabla: Operación y modo FILTER INDEX UNIQUE INDEX RANGE SCAN MERGE JOIN HASH JOIN NESTED LOOP JOIN SORT ORDER BY SORT GROUP BY SORT JOIN SORT UNIQUE TABLE ACCESS FULL TABLE ACCESS BY ROWID Descripción Se descartan aquellas filas de la tabla que no cumplen con una condición impuesta en la cláusula WHERE. Se accede a la información localizada a través de una clave primaria o un índice único. Es uno de los modos más rápidos de acceder a una fila (además del acceso por ROWID). Se accede a la información localizada a través de un índice con repeticiones. Es típico que aparezca esta operación cuando utilizamos los operadores BETWEEN, <, >, <=, >= sobre columnas indexadas con repeticiones. Se combinan dos tablas ordenadas para dar como resultado una tabla ordenada y sin repeticiones. Se combinan dos tablas utilizando un algoritmo de hash. Se combinan dos tablas utilizando bucles anidados. Por cada fila de la tabla padre, se recorren todas las filas de la tabla hija. Se ordenan los datos de una tabla según lo indicado en la cláusula ORDER BY. Se ordenan los datos de una tabla según lo indicado en la cláusula GROUP BY. Se ordenan los datos de una tabla. El modo (JOIN) indica que la ordenación se hace para preparar los datos para un join de tipo MERGE JOIN. Se ordenan los datos de una tabla. El modo (UNIQUE) indica que la ordenación se hace para eliminar duplicados, bien por un DISTINTC o el uso del operador UNION. Se hace una lectura secuencial (desde el primer registro hasta el último) de los datos de la tabla. Este es el modo más lento de acceder a los datos de una tabla. Se hace una lectura de un registri concreto accediendo por su ROWID o por un índice único. Es el modo más rápido de acceder a un registro. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 8 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

9 PLAN TABLE A continuación se muestra la sintaxis de la creación de la tabla PLAN_TABLE asi como la descripción de los campos más importantes. create table PLAN_TABLE (statement_id varchar2(30),timestamp date,remarks varchar2(80),operation varchar2(30),options varchar2(30),object_node varchar2(128) El valor del parámetro opcional de STATEMENT_ID es especificado en la declaración de EXPLAIN_PLAN. La fecha y la hora en que la declaración de EXPLAIN_PLAN fue publicada. Cualquier comentario (de hasta 80 bytes) si se desea asociar con cada paso del explain plan (si usted debe agregar o cargar una observación en cualquier fila del PLAN_TABLE, se emplea la declaración UPDATE para modificar las filas del PLAN_TABLE.) El nombre de la operación interna se realizó en este paso. En la primera fila generada para una declaración, la columna contiene uno de los valores siguientes: DELETE STATEMENT INSERT STATEMENT SELECT STATEMENT UPDATE STATEMENT Una variación en la operación descrita en la columna OPERATION El nombre del enlace de la base de datos empleado para referenciar el objeto- el nombre de una tabla o nombre de una vista (para las consultas locales usando la opción de consulta paralela, esta columna describe el orden en la cual la salida de operaciones son consumidas). El nombre del usuario que posee el esquema que contiene la tabla o el índice. El nombre de la tabla o índice.,object_owner varchar2(30),object_name varchar2(30),object_instance numeric Un número que corresponde a la posición ordinal del objeto como aparece en la declaración original (la enumeración procede de izquierda a derecha, externo a interno con respecto al texto de declaración original. Observar que la extensión de la visión dará lugar a números imprevisibles).,object_type varchar2(30) Un modificante que proporciona la información descriptiva sobre el objeto, tal como NON-UNIQUE para,optimizer varchar2(255),search_columns number,id numeric,parent_id numeric,position numeric,cost numeric,cardinality numeric,bytes numeric,other_tag varchar2(255),position_star varchar2(255),position_stop varchar2(255),partition_id numeric,other long,distribution varchar2(30)); los índices. El modo actual del optimizador. No utilizado actualmente Un número asignado a cada paso en el plan de ejecución El ID de la ejecución del paso siguiente que funciona con la salida del paso del ID. La orden del proceso para los pasos donde todos tiene el mismo PARENT_ID Información adicional que es específica al paso de la ejecución que un usuario puede encontrar útil. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 9 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

10 SQL *Plus AUTOTRACE SET AUTOTRACE OFF ON TRACE [ONLY] EXPLAIN STATISTICS SHOW AUTOTRACE SQL *Plus AUTOTRACE En SQL *Plus, usted puede obtener automáticamente el plan de ejecución y algunas estadísticas adicionales en la ejecución de un comando SQL usando la configuración de AUTOTRACE. Opciones del comando: OFF ON TRACEONLY EXPLAIN STATISTICS Deshabilita el rastreo de las ejecuciones SQL. Habilita el rastreo de las ejecuciones SQL. Habilita el rastreo de las ejecuciones SQL y oculta la salida de la ejecución. Muestra los planes de ejecución pero no muestra las estadísticas. Muestra las estadísticas pero no muestra los planes de ejecución. Nota: Si son omitidas las opciones de ambos comandos EXPLAIN y STATISTICS, los planes de ejecución y estadísticas son mostrados por defecto. Ejemplos de AUTOTRACE en SQL *Plus. Para iniciar AUTOTRACE y este comience a rastrear las ejecuciones: SQL> SET AUTOTRACE ON Para ocultar la salida normal, y sólo mostrar el plan y las estadísticas: SQL> SET AUTOTRACE TRACEONLY Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 10 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

11 Para mostrar solamente la ejecución del plan: Desarrollo: SQL> SET AUTOTRACE TRACEONLY EXPLAIN 1. Verificar la existencia de la tabla PLAN_TABLE en su esquema. Crear esta tabla si es necesario, usando el script utlxplan.sql SQL> desc PLAN_TABLE ERROR: ORA-04043: object PLAN_TABLE does not exist Para crear la tabla PLAN_TABLE ejecutamos el script utlxplan.sql ubicado en el siguiente directorio de Oracle C:\oracle\ora92\rdbms\admin\utlxplan.sql o bien puede encontrarse dentro de C:\OCP\scripts\ utlxplan.sql Table created. Nota: Para poder correr el script es necesario tener privilegios sobre la Base de Datos, puede ingresar con el usuario SYSTEM o SYS. 2. Podemos utilizar el siguiente comando EXPLAIN para conocer los resultados de la optimización utilizada por el DBMS Oracle en una consulta o query de SQL, tomando información del diccionario de datos y almacenando los resultados en la tabla EXPLAIN_PLAN, que posteriormente podremos desplegar: Si insertamos la consulta directamente en SQL* Plus, nos proporciona el nombre y el apellido del empleado 6191, como se muestra a continuación: SQL> select first_name, last_name 2 from employees 3 where emp_id = 6191; FIRST_NAME LAST_NAME Randall Perkins Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 11 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

12 Ahora incluimos el comando EXPLAIN PLAN, proporcionándole el query que queremos evaluar, lo ejecutamos y nos indicará que se realizo el proceso, enviándonos un mensaje Explained : SQL> explain plan for 2 select first_name, last_name 3 from employees 4 where emp_id = 6191; Explained. 3. Ahora consultar la tabla PLAN_TABLE, que contiene información acerca del plan de optimización del query, realizada por Oracle: SQL> select * from plan_table; La tabla PLAN_TABLE tiene 24 atributos aproximadamente, de diferentes longitudes, por lo que es conveniente utilizar un script, apropiado para desplegar solo los atributos que nos interese conocer de esa estrategia de optimización de consultas. Tenemos un ejemplo de strip en rp.sql para consultar la tabla PLAN_TABLE en una manera mas precisa: Query Plan SELECT STATEMENT Cost = TABLE ACCESS BY INDEX ROWID EMPLOYEES INDEX UNIQUE SCAN EMP_PK 3 rows deleted. Esta salida nos da información acerca del tipo de índice, sobre que tabla y su nombre. 4. Podemos también habilitar el comando SQL*Plus AUTOTRACE para desplegar las ejecuciones de los planes y volver a ejecutar el comando del paso 2 una vez mas. SQL> set autotrace traceonly explain; SQL> select first_name, last_name 2 from employees 3 where emp_id = 6191; Execution Plan SELECT STATEMENT Optimizer=CHOOSE 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMPLOYEES' 2 1 INDEX (UNIQUE SCAN) OF 'EMP_PK' (UNIQUE) Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 12 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

13 5. Podemos utilizar el comando AUTOTRACE para obtener directamente la salida y mostrar ambos planes de ejecución y estadísticas. Al ejecutar el paso 2 nuevamente, tendremos: SQL> set autotrace traceonly; SQL> select first_name, last_name 2 from employees 3 where emp_id = 6191; Execution Plan SELECT STATEMENT Optimizer=CHOOSE 1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMPLOYEES' 2 1 INDEX (UNIQUE SCAN) OF 'EMP_PK' (UNIQUE) Statistics recursive calls 0 db block gets 3 consistent gets 0 physical reads 0 redo size 451 bytes sent via SQL*Net to client 499 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed 6. Es conveniente hacer ejercicios adicionales para obtener destreza en la utilización de éstos comandos, utilizando alguna otra base de datos. Es decir incluir instrucciones SQL para experimentar con EXPLAIN PLAN y AUTOTRACE. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 13 de 28 Capítulo 3 EXPLAIN and AUTOTRACE

14 Objetivos: SQL Trace y TKPROF. 1. Emplear SQL Trace, para conocer el rendimiento de diferentes sentencias SQL de forma individual, mostrando información referente a o Tiempo de CPU consumido. o Lecturas físicas y lógicas. o Número de filas procesadas. o Fallos en la memoria caché. 2. Emplear la herramienta TKPROF, para interpretar los ficheros de traza resultantes es necesario emplear esta utilidad la cual esta incluida en C:\oracle\ora92\bin\tkprof.exe, esta utilidad nos dará información sobre el tiempo de ejecución de sentencias, número de accesos a disco entre otros detalles. Descripción de la práctica: En esta práctica se aprenderá a: Visualizar y cambiar los parámetros de inicialización. Usar el SQL Trace. Configurar SQL Trace. Usar TKPROF para dar formato a los archivos trace. Interpretar los resultados de TKPROF. Salida del comando TKPROF Esta es la salida del comando cuando se ejecuta sin argumentos: Usage: tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ] table=schema.tablename explain=user/password print=integer aggregate=yes no insert=filename sys=no record=filename waits=yes no sort=option Usar esquema.nombredelatabla con la opción explain= Conectar con la base de datos y mostrar el EXPLAIN PLAN. Listar solamente el primer dato entero de las declaraciones SQL. Agregar declaraciones SQL idénticas en un solo resultado. Listar las declaraciones SQL y datos dentro de las declaraciones INSERT. TKPROF no lista las declaraciones SQL si no se ejecuta como usuario SYS. Grabar declaraciones no-recursivas encontradas en el archive de rastreo. Grabar el resumen para cualquier evento en espera encontrado en el archivo del rastreo. Dejar en cero o poner una o mas de las siguientes opciones: Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 14 de 28 Capítulo 4 SQL Trace and TKPROF

15 Opciones: prscnt prscpu prsela prsdsk prsqry prscu prsmis execnt execpu exeela exedsk exeqry execu exerow exemis fchcnt fchcpu fchela fchdsk fchqry fchcu fchrow userid Número de veces que el analizador fue llamado. Tiempo de CPU del análisis sintáctico. Tiempo transcurrido del análisis sintáctico. Número de lecturas del disco durante el análisis sintáctico. Número de buffers para lectura constante durante el análisis sintáctico. Número de buffers para la lectura actual durante el análisis sintáctico. Número de errores en la librería cache durante el análisis sintáctico. Número de ejecución ha sido llamado. Tiempo transcurrido de cpu en la ejecución. Tiempo transcurrido de la ejecución. Número de lecturas del disco durante la ejecución. Número de buffers para la lectura constante durante la ejecución. Número de buffers para la lectura actual durante la ejecución. Número de filas procesadas durante la ejecución. Número de errores en la librería cache durante la ejecución. Número de veces que fue llamada la recuperación de las filas regresadas por una consulta. Tiempo transcurrido de cpu en la recuperación de las filas regresadas por una consulta. Tiempo transcurrido de la recuperación de las filas regresadas por una consulta. Número de lecturas del disco durante la recuperación de las filas regresadas por una consulta. Número de buffers para la lectura constante durante la recuperación de las filas regresadas por una consulta. Número de buffers para la lectura actual durante la recuperación de las filas regresadas por una consulta. Número de filas recuperadas por una consulta. ID del usuario que analizó el cursor. En la siguiente tabla se muestran las siete categorías de las estadísticas del rastreo: count cpu elapsed disk query current rows Número de veces que el procedimiento fue ejecutado Tiempo ejecutado de cpu en segundos Tiempo transcurrido de ejecución en segundos Número de lecturas físicas de los buffers del disco Número de los buffers conseguidos para lectura constante. Número de los buffers conseguidos en el modo actual (generalmente para la actualización). Número de las filas procesadas por la llamada de ejecución. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 15 de 28 Capítulo 4 SQL Trace and TKPROF

16 Descripción de la salida del comando TKPROF Texto de la declaración SQL Traceo de estadísticas (para declaración y llamadas recursivas) separado en tres pasos de proceso de SQL: PARSE EXECUTE FETCH Traduce la declaración SQL en un plan de ejecución. Ejecuta la declaración (Este paso modifica los datos para las declaraciones INSERT, UPDATE, y DELETE). Recupera las filas regresadas por una consulta (los alcances se realizan solamente para las declaración SELECT). Desarrollo: 1. Comprobar los siguientes parámetros de inicialización: - TIMED_STATISTICS - MAX_DUMP_FILE_SIZE - USER_DUMP_DEST - SQL_TRACE Asegurarse de que los parámetros TIMED_STATISTICS y SQL_TRACE son inicializados con TRUE para la sesión a utilizar. Desactivar AUTOTRACE desde SQL * Plus poniendo su valor de inicialización en off. SQL> set autotrace off; Verificamos los valores de inicialización de los parámetros empleando el siguiente query: select name, value from v$parameter where name in ('timed_statistics','max_dump_file_size', 'user_dump_dest','sql_trace'); SQL> select name, value 2 from v$parameter 3 where name in 4 ('timed_statistics','max_dump_file_size', 5 'user_dump_dest','sql_trace'); NAME VALUE timed_statistics TRUE user_dump_dest C:\oracle\admin\OR92\udump max_dump_file_size UNLIMITED sql_trace FALSE Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 16 de 28 Capítulo 4 SQL Trace and TKPROF

17 La forma de cambiar los valores de los parámetros es como se muestra a continuación: - TIMED_STATISTICS alter session set TIMED_STATISTICS=TRUE; SQL> alter session set TIMED_STATISTICS=TRUE; Session altered. - SQL_TRACE alter session set SQL_TRACE=TRUE; SQL> alter session set SQL_TRACE=TRUE; Session altered. NOTA: SQL_TRACE es un parámetro, pero cuando es modificado su valor de inicialización en una sesión de un usuario, este no es actualizado en V$PARAMETER, por lo que no se mostrara el cambio una vez realizado. 2. Ejecutar el siguiente comando SQL SQL> select first_name, last_name from employees where emp_id= 6191; No hay una salida formal. 3. Ahora deshabilitar el traceo para la sesión actual y intentar encontrar su archivo trace. Abrir el archivo trace con un editor de texto e investigar los contenidos de su archivo trace. - Primeramente modificamos el valor de TIMED_STATISTICS con FALSE: SQL> alter session set timed_statistics=false; Session altered. - Por ultimo modificamos el valor de SQL_TRACE con FALSE: SQL> alter session set sql_trace=false; Session altered. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 17 de 28 Capítulo 4 SQL Trace and TKPROF

18 La ubicación de los archivos trace esta en el directorio C:\oracle\admin\OR92\udump como ejemplo de archivo se muestra como ejemplo el siguiente: SQL> edit C:\oracle\admin\OR92\udump\or92_ora_1500.trc A continuación se muestra un fragmento del archivo or92_ora_1500.trc empleado como referencia para la identificación de su archivo. Dump file c:\oracle\admin\or92\udump\or92_ora_1500.trc Mon Oct 31 19:11: ORACLE V Production vsnsta=0 vsnsql=12 vsnxtr=3 Windows 2000 Version 5.2 Service Pack 1, CPU type 586 Oracle9i Enterprise Edition Release Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release Production Windows 2000 Version 5.2 Service Pack 1, CPU type 586 Instance name: or92 Redo thread mounted by this instance: 1 Oracle process number: 12 Windows thread id: 1500, image: ORACLE.EXE *** :11: *** SESSION ID:(9.30) :11: APPNAME mod='sql*plus' mh= act='' ah= ===================== PARSING IN CURSOR #1 len=32 dep=0 uid=5 oct=42 lid=5 tim= hv= ad='671dfe40' alter session set SQL_TRACE=TRUE END OF STMT EXEC #1:c=0,e=40226,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim= *** :11: Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 18 de 28 Capítulo 4 SQL Trace and TKPROF

19 4. Inicializar TKPROF sin argumentos en la línea de comandos. TKPROF despliega un mensaje de uso, listando todas las opciones de línea de comandos. Sugerencia véase la página 15 y 16 de este documento para la descripción de cada comando. C:\Documents and Settings\Administrator>TKPROF Usage: tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ] table=schema.tablename Use 'schema.tablename' with 'explain=' option. explain=user/password Connect to ORACLE and issue EXPLAIN PLAN. print=integer List only the first 'integer' SQL statements. aggregate=yes no insert=filename List SQL statements and data inside INSERT statements. sys=no TKPROF does not list SQL statements run as user SYS. record=filename Record non-recursive statements found in the trace file. waits=yes no Record summary for any wait events found in the trace file. sort=option Set of zero or more of the following sort options: prscnt number of times parse was called prscpu cpu time parsing prsela elapsed time parsing prsdsk number of disk reads during parse prsqry number of buffers for consistent read during parse prscu number of buffers for current read during parse prsmis number of misses in library cache during parse execnt number of execute was called execpu cpu time spent executing exeela elapsed time executing exedsk number of disk reads during execute exeqry number of buffers for consistent read during execute execu number of buffers for current read during execute exerow number of rows processed during execute exemis number of library cache misses during execute fchcnt number of times fetch was called fchcpu cpu time spent fetching fchela elapsed time fetching fchdsk number of disk reads during fetch fchqry number of buffers for consistent read during fetch fchcu number of buffers for current read during fetch fchrow number of rows fetched userid userid of user that parsed the cursor 5. Inicializar TKPROF nuevamente, en esta ocasión con el nombre de su archivo trace como un argumento. Especificar un nombre para el archivo de salida del reporte TKPROF. Verificar el resultado con un editor de texto nuevamente, y ver como el acceso es improvisado. Sugerencia véase la página 16 de este documento para la descripción de las siete categorías de las estadísticas del rastreo: C:\Documents and Settings\Administrator>TKPROF C:\oracle\admin\OR92\udump\or92_ora_1500.trc run1.txt TKPROF: Release Production on Mon Oct 31 19:33: Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 19 de 28 Capítulo 4 SQL Trace and TKPROF

20 C:\Documents and Settings\Administrator>edit run1.txt TKPROF: Release Production on Mon Oct 31 19:33: Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Trace file: C:\oracle\admin\OR92\udump\or92_ora_1500.trc Sort options: default ******************************************************************************** count = number of times OCI procedure was executed cpu = cpu time in seconds executing elapsed = elapsed time in seconds executing disk = number of physical reads of buffers from disk query = number of buffers gotten for consistent read current = number of buffers gotten in current mode (usually for update) rows = number of rows processed by the fetch or execute call ******************************************************************************** alter session set SQL_TRACE=TRUE call count cpu elapsed disk query current rows Parse Execute Fetch total Misses in library cache during parse: 0 Misses in library cache during execute: 1 Optimizer goal: CHOOSE Parsing user id: 5 6. Finalmente, inicializar TKPROF de una manera tal que el plan de ejecución este agregado al reporte y se supriman las declaraciones recurrentes SQL. C:\Documents and Settings\Administrator> TKPROF C:\oracle\admin\OR92\udump\or92_ora_1500.trc run1.txt explain=system/manger sys=no; TKPROF: Release Production on Mon Oct 31 19:38: Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Notas Finales: El acceso a la consola empleado en esta práctica puede cambiar dependiendo de la versión del sistema operativo, la versión del sistema operativo empleado fue Windows XP SP2. En las salidas expuestas solo se tomo un fragmento del archivo para ejemplificar cada caso, por lo que se le deja al interesado el revisar todos y cada uno de los contenidos de los archivos generados durante la práctica así como su interpretación. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 20 de 28 Capítulo 4 SQL Trace and TKPROF

21 OPTIMIZACIÓN BASADA EN REGLAS VS OPTIMIZACIÓN BASADA EN COSTOS. Objetivos: 3. Distinguir la diferencia entre Optimización Basada en Reglas (RBO) y Optimización Basada en Costos (CBO). 4. Identificar cuando se emplea RBO y CBO. 5. Identificar los factores que se consideran para CBO. Descripción de la práctica: En esta práctica se aprenderá a: Analizar los resultados de las consultas empleadas con el Optimizador Basado en Reglas. Modificar la sesión a emplear utilizando el Optimizador Basado en Costos. Antecedentes: Funciones del Optimizador de Oracle. Evaluar las expresiones y condiciones. Transformar las sentencias en sentencias equivalentes. Decide como acceder a los datos. Decide como agrupar las tablas. Decide que camino es el más eficiente. El optimizador es la parte de Oracle8i Server que crea el plan de ejecución para una consulta SQL. Un plan de ejecución es una serie de operaciones que se realizan en secuencias para ser ejecutadas. El optimizador puede utilizar varias piezas de información para escoger el mejor camino: Sugerencias proporcionados por el desarrollador Estadísticas Información en el diccionario La cláusula WHERE Generalmente, el optimizador trabaja en el fondo. Sin embargo, con herramientas de diagnóstico como EXPLAIN, SQL *Plus AUTOTRACE, y OEM SQL Analyze, donde se pueden ver las decisiones que el optimizador hace. Material de Apoyo Didáctico Ing: Sergio Salinas Lugo Página 21 de 28 Capítulo 6 Rule-Based Optimization versus Cost-Based Optimization

Herramientas para la optimización

Herramientas para la optimización Herramientas para la optimización Creación de la tabla de Planes 1. Se debe ejecutar el siguiente script para la creación de la tabla de los planes (plan_table) @utlxplan.sql Ejemplo del EXPLAIN PLAN SQL>

Más detalles

Procesamiento de Consultas. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII

Procesamiento de Consultas. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Indexación 3 Costo de las Operaciones 4 Evaluación de Expresiones 5 Transformación de Expresiones 6 Un ejemplo con Oracle Pasos

Más detalles

OPTIMIZADOR ORACLE. 1. La meta: escoger el modo más eficiente de ejecutar una declaración S.Q.L. FILTER 2 NESTED LOOPS

OPTIMIZADOR ORACLE. 1. La meta: escoger el modo más eficiente de ejecutar una declaración S.Q.L. FILTER 2 NESTED LOOPS 1 OPTIMIZADOR ORACLE. 1. La meta: escoger el modo más eficiente de ejecutar una declaración S.Q.L. Ejemplo : SELECT ename,job, sal, dname FROM emp,dept WHERE emp.deptno = dept.deptno AND NOT EXISTS ( SELECT

Más detalles

Usuarios y Seguridad

Usuarios y Seguridad Objetivos Usuarios y Seguridad El presente documento tiene como objetivo ser una guía de los ejercicios del libro Oracle 9i DBA JumpStart citado al pie de cada página en todo el documento y servir fundamentalmente

Más detalles

OPTIMIZACIÓN DE CONSULTAS SQL

OPTIMIZACIÓN DE CONSULTAS SQL OPTIMIZACIÓN DE CONSULTAS SQL Doc.: {62485.doc} MODELO : ME005 ELA : REV: VERSION: FECHA: FECHA: 1/47 INDICE 1. CONCEPTOS GENERALES 3 1.1 Optimización de consultas 3 1.2 Tipos de Sentencias SQL 3 2. OPTIMIZACION

Más detalles

Movimiento ONLINE de Archivos de Datos en Oracle 12c

Movimiento ONLINE de Archivos de Datos en Oracle 12c Newsletter Noviembre 2013 Contenido Movimiento ONLINE de Archivos de Datos en Oracle 12c Página: 1 Movimiento ONLINE de Archivos de Datos en Oracle Por Ing. Manuel Carrillo mcarrillo@datum.com.gt 12c En

Más detalles

Objetos de la Base de Datos

Objetos de la Base de Datos Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para

Más detalles

Linux Error 29: Illegal Seek

Linux Error 29: Illegal Seek Newsletter Febrero 2013 Contenido Página: Por Ing. Manuel Carrillo mcarrillo@datum.com.gt Linux Error 29: Illegal Seek 1 Linux Error 29: Illegal Seek 3 Oracle 11g: Mejores planes de ejecución con baselines

Más detalles

Administración Básica de Oracle9i.

Administración Básica de Oracle9i. PRACTICAS. TRABAJOS (JOBS). 1. Identificar los procesos de sistema operativo que corresponden al proceso gestor de colas corriendo en la instancia. u01apporacleadmincurso01pfile (CURSO01)> ps -ef grep

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

Herramientas de Gestión de Base de Datos Oracle. Lamine Delgado / NOSi Departamento de Base de Dados Lamine.delgado@nosi.cv

Herramientas de Gestión de Base de Datos Oracle. Lamine Delgado / NOSi Departamento de Base de Dados Lamine.delgado@nosi.cv Herramientas de Gestión de Base de Datos Oracle Lamine Delgado / NOSi Departamento de Base de Dados Lamine.delgado@nosi.cv Herramientas de Gestión de Base de Datos Oracle Objetivos de la lección Después

Más detalles

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Modulo 1.- CONFIDENCIALIDAD DE LOS DATOS El objetivo de esta parte de la práctica es comprender los distintos mecanismos que se pueden utilizar en ORACLE 10g

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Nociones de performance

Nociones de performance Maestría en Bioinformática Bases de Datos y Sistemas de Información Nociones de performance Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Índices Optimizador Planes de acceso

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

DataBase Administration

DataBase Administration DataBase Administration 1. FUNCIONES DE UN DBA (Data Base Administrator) El rol de DBA involucra las siguientes tareas: Creación de Bases y Tablas Base de Datos Verificar el lugar de creación, en los espacios

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

Clase 1: Estructuras, Procesos y Diccionario de Datos

Clase 1: Estructuras, Procesos y Diccionario de Datos Clase 1: Estructuras, Procesos y Diccionario de Datos Estructura de la memoria System Global Area Buffer Cache Redo Log Buffer Share Pool Dictionary Cache Large Pool Process Global Area Private SQL Area

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

TEMA 4.6: Procesamiento y optimización de consultas

TEMA 4.6: Procesamiento y optimización de consultas TEMA 4.6: Procesamiento y optimización de consultas 1. Introducción 2. Procesamiento de una consulta 2.1.- Análisis de la consulta 2.2.- Reescritura de la consulta 2.3.- Generación de un plan físico de

Más detalles

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

Más detalles

5 Objetos de base de datos

5 Objetos de base de datos 5 Objetos de base de datos Una consulta SQL, restringiendo las filas resultantes, agrupando valores a nivel de grupos de datos, realizando conversiones de datos, etc., puede ser almacenada en la base de

Más detalles

SINTAXIS DE SQL-92. ::= CREATE SCHEMA [ ... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

Grupo Kybele, http://www.kybele.es/ Pág. 1

Grupo Kybele, http://www.kybele.es/ Pág. 1 Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea

Más detalles

Acceso a bases de datos MySQL con PHP

Acceso a bases de datos MySQL con PHP GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado fsilvasys@hotmail.com DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre

Más detalles

Realizado por: Maravillas Muñoz Fernando Fernández Ginés Fernández

Realizado por: Maravillas Muñoz Fernando Fernández Ginés Fernández Realizado por: Maravillas Muñoz Fernando Fernández Ginés Fernández 1 ÍNDICE Importación y exportación de datos 1. Introducción Pág. 3 2. Cuándo es útil exportar / importar datos en Oracle?.Pág.3 3. Importación

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1 Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER GUÍA 2 Pág. 1 I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia:

Si queremos modificar la contraseña de sys, una vez que accedamos al sistema como sys, escribiremos la sentencia: TRABAJANDO CON SQL*PLUS El objetivo de este tema es simplemente, hacer una revisión de los conceptos avanzados de SQL, para ello, empezaremos por ver como se accede a SQL*PLUS y como crear usuarios, para

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Procesamiento y Optimización de consultas Material Preliminar en preparación

Procesamiento y Optimización de consultas Material Preliminar en preparación Procesamiento y Optimización de consultas Material Preliminar en preparación Optimización SQL Identificar sentencias problemáticas Verificar las estadísticas Revisar los planes de ejecución Reestructurar

Más detalles

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:

Más detalles

Herramientas de Administración Para Oracle Database 12c

Herramientas de Administración Para Oracle Database 12c Newsletter Julio 2014 Contenido Herramientas de Administración Para Oracle Database 12c Página: 1 Herramientas de Administración Para Oracle Database 12c 5 Optimización de Procesos Automáticos que Utilizan

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

Tutorial Oracle SQL Developer 1.2.1

Tutorial Oracle SQL Developer 1.2.1 Tutorial Oracle SQL Developer 1.2.1 Departamento de Informática Índice Í0. Introducción...3 1. Conexión y desconexión de la base de datos...3 2. Ejecución de sentencias SQL...4 3. Creación de tablas...6

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Administración de Sistemas Gestores de Bases de Datos

Administración de Sistemas Gestores de Bases de Datos Administración de Sistemas Gestores de Bases de Datos UD 2: Auditorías en el SGBD Oracle Félix Reyes Fernández Índice Conceptos Tipos de auditorías Registros de auditorías Vistas de auditorías Gestión

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo

Más detalles

Conectado a sqlplus hacer una descripción de las vistas. Consultar también en la documentación en línea.

Conectado a sqlplus hacer una descripción de las vistas. Consultar también en la documentación en línea. PRACTICAS. ARCHIVADO. 1. Comprobar la información ofrecida por las vistas V$DATABASE, V$ARCHIVED_LOG, V$ARCHIVE_DEST, V$ARCHIVE_PROCESSES, V$BACKUP_REDOLOG, V$LOG y V$LOG_HISTORY. Conectado a sqlplus hacer

Más detalles

2. ESTUDIO DE INDICES

2. ESTUDIO DE INDICES Asignatura de Administración de Bases de Datos Curso 2011/2012 Pág. 1 PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Una compañía de salud gestiona datos relativos a las consultas médicas a pacientes por

Más detalles

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM Estructura de una BD Oracle. Una BD Oracle tiene una estructura física y una estructura lógica que se mantienen separadamente. La estructura física se corresponde a los ficheros del sistema operativo:

Más detalles

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Esquema de la clase 1. Procesamiento de consultas 2. El optimizador del DBMS 3. Los Ajustes del Rendimiento

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología Universidad Capitán General Gerardo Barrios Facultad de Ciencia y Tecnología Guía práctica de Base de Datos I Sentencias básicas de SQL, utilizadas en Mysql, con la base de datos Northwind. Docente: Lic.Ms.

Más detalles

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES UNIANDES Facultad de Sistemas Mercantiles Carrera de Sistemas de Informática Tema: ORACLE 9i. Autor: Muñoz Vivero Álvaro Andrés Ibarra 2010 Introducción La arquitectura

Más detalles

RUEDA TORRES DULCE CAROLINA 3CM2. MySQL CON NET BEANS PRÁCTICA 8

RUEDA TORRES DULCE CAROLINA 3CM2. MySQL CON NET BEANS PRÁCTICA 8 3CM2 MySQL CON NET BEANS PRÁCTICA 8 27 DE MARZO DE 2012 DESAROLLO I. Configurar las propiedades del Servidor MySQL. 1. Se asume que se encuentra instalado MySQL. 2. Abrir el IDE NetBeans. En el repositorio

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles

Tutorial de SQL - El comando SELECT

Tutorial de SQL - El comando SELECT Tutorial de SQL - El comando SELECT El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La idea es que, estando conectado a sql*plus, lea este material mientras ejercita simultáneamente

Más detalles

4.1 Mejorando las Operaciones de Ordenación

4.1 Mejorando las Operaciones de Ordenación 4 Tuning Los problemas relacionados con el rendimiento de la aplicación se relacionan frecuentemente a consultas mal estructuradas ó a un diseño de la base de datos ineficiente. Debido a esto, Oracle provee

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

MANUAL BÁSICO DE ORACLE

MANUAL BÁSICO DE ORACLE MANUAL BÁSICO DE ORACLE ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. TIPOS DE DATOS... 4 1.1 TIPOS DE DATOS ALFANUMÉRICOS...

Más detalles

M. C. Gustavo Alfonso Gutiérrez Carreón

M. C. Gustavo Alfonso Gutiérrez Carreón 1. Seguridad de bases de datos 2. Optimización de las variables M. C. Gustavo Alfonso Gutiérrez Carreón Funcionamiento: 1. Los clientes se conectan a servidor. 2. Los clientes inician autentificación,

Más detalles

Entendiendo y Optimizando MySQL

Entendiendo y Optimizando MySQL Grupo de Usuarios de Linux Universidad Carlos III de Madrid. 10 de Noviembre de 2010 Indice Arquitectura 1 Arquitectura 2 3 4 5 Arquitectura Sistema de Gestión de Bases de Datos. GPL. Escrito en C y C++.

Más detalles

3 GESTIÓN DE TABLESPACES

3 GESTIÓN DE TABLESPACES 3 GESTIÓN DE TABLESPACES 3.1 Introducción. 3.2 Creación de tablespaces. 3.3 Modificación de tablespaces. 3.4 Borrado de tablespaces. 3.5 Índices, secuencias y clusters. 3.6 Enlaces de bases de datos. 3.7

Más detalles

Oracle Express 10g. Marta Zorrilla Universidad de Cantabria

Oracle Express 10g. Marta Zorrilla Universidad de Cantabria Oracle Express 10g Marta Zorrilla Universidad de Cantabria Características With Oracle Database XE, you use an intuitive browser-based interface to: Administer the database Create tables, views, and other

Más detalles

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación De Índices (L32) UNA TABLA PUEDE CONTENER VARIOS ÍNDICES SQL SERVER CREA AUTOMATICÁMENTE ÍNDICES ÚNICOS PARA ASEGURAR LOS CONSTRAINTS DE PRIMARY KEY Y UNIQUE EL ÍNDICE POR DEFECTO PARA LA CLAVE

Más detalles

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h L1. ANSI SQL SQL, STANDS STRUCTURED QUERY LANGUAGE ANSI SQL 9 2 ESTANDARD SQL LENGUAJE DBMS RELACIONALES SQL SERVER 2005/2008, DBMS MICROSOFT TRANSACT SQL (T-SQL) LENGUAJE SQL SERVER 2005/2008 T-SQL SE

Más detalles

DDBUILDER MANUAL DEL USUARIO

DDBUILDER MANUAL DEL USUARIO DDBUILDER MANUAL DEL USUARIO Página Qué es DDBuilder? 102 Creando Un Nuevo Diccionario de Datos 103 El Archivo de Configuración CONFIG.TPM 103 El archivo SQL.INI 104 La Interface de DDBuilder 105 Barra

Más detalles

Curso de MySQL y Java

Curso de MySQL y Java Curso de MySQL y Java Introducción: instalación, arranque y primeros pasos 1. Material En este curso vamos a trabajar con el servidor mysql versión 4.0.18. También utilizaremos una herramienta llamada

Más detalles

Cómo abrir las bases de datos de Aspel-NOI 5.0?

Cómo abrir las bases de datos de Aspel-NOI 5.0? Cómo abrir las bases de datos de Aspel-NOI 5.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

Más detalles

Instituto Profesional DuocUC Escuela de Ingeniería Componentes Arquitectura Oracle

Instituto Profesional DuocUC Escuela de Ingeniería Componentes Arquitectura Oracle Componentes Arquitectura Oracle Jaime Amigo P. 2006, Santiago - Chile Objetivos Después de completar esta lección, usted deberá: Comprender la Arquitectura Oracle y sus principales componentes Listar las

Más detalles

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

6 Funciones avanzadas

6 Funciones avanzadas 6 Funciones avanzadas Adicionalmente a soportar el estándar SQL en su totalidad, Oracle9i Server incluye múltiples extensiones que facilitan la ejecución de operaciones complejas y mejoran la performance

Más detalles

Cómo abrir la base de datos de Aspel-SAE 5.0?

Cómo abrir la base de datos de Aspel-SAE 5.0? Cómo abrir la base de datos de Aspel-SAE 5.0? 1 Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde la

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11 Laboratorio 06. Objetivos: Representación interna de un BD. Tablas, índices e índices full-text. Sesiones: 1 (24 de noviembre de 2010) Ejercicio: 1. Representación interna: 1.1. Copiar al repositorio de

Más detalles

Administración Básica de Oracle 10g. Prácticas sobre trabajos.

Administración Básica de Oracle 10g. Prácticas sobre trabajos. PRACTICAS. TRABAJOS. 1. Identificar los procesos de sistema operativo que corresponden a la base de datos, existe algún proceso coordinador de trabajos -cjqnnn- corriendo en la instancia?. homecursocurso01

Más detalles

Herramienta docente para consultas en Oracle

Herramienta docente para consultas en Oracle Herramienta docente para consultas en Oracle Mª Belén Vaquerizo García, Antonio Eduardo Renedo Mena Área de Lenguajes y Sistemas Informáticos Universidad de Burgos 09006 Burgos e-mail: {belvagar,arenedo}@ubu.es.es

Más detalles

SQL: Lenguaje de acceso a bases de datos

SQL: Lenguaje de acceso a bases de datos SQL: Lenguaje de acceso a bases de datos Israel Herraiz Universidad Politécnica de Madrid Israel Herraiz, UPM SQL: Lenguaje de acceso a bases de datos 1/88 Contenidos 1 Introducción a las bases de datos

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL Estructura del código PL/SQL. Bloques: El Lenguaje PL/SQL sentencias PL/SQL Los ficheros terminan con el caracter

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

DESARROLLO DE APLICACIONES

DESARROLLO DE APLICACIONES DESARROLLO DE APLICACIONES Manual de Optimización Revisión 1.0 Servicio de Informática Area de Sistemas Julio 1993 1. Introducción. En este Manual se ha recopilado información relativa a la optimización

Más detalles

TUTORIAL CONEXIÓN SQL SERVER 2005 CON VISUAL STUDIO 2005(TECNOLOGIA RAD)

TUTORIAL CONEXIÓN SQL SERVER 2005 CON VISUAL STUDIO 2005(TECNOLOGIA RAD) TUTORIAL CONEXIÓN SQL SERVER 2005 CON VISUAL STUDIO 2005(TECNOLOGIA RAD) Resumen:En este tutorial, aprenderá a sacar el máximo partido a las capacidades de diseño integradas en Visual Studio 2005 para

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es Diseño

Más detalles

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 Manejo de Concurrencia en Mysql Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 InnoDB y TRANSACTION ISOLATION LEVEL... 3 Lecturas consistentes que no

Más detalles

EL ENTORNO DE TRABAJO SQL ORACLE

EL ENTORNO DE TRABAJO SQL ORACLE PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología

Más detalles

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER Proyecto de administración avanzada Alejandro Romero Abadía 1 Este proyecto consiste en una explicación de las funciones que ofrece la consola web de administración

Más detalles

PROGRAMANDO UNA BASE DE DATOS PostgreSQL ADMINISTRACIÓN INTRODUCCIÓN (L32)

PROGRAMANDO UNA BASE DE DATOS PostgreSQL ADMINISTRACIÓN INTRODUCCIÓN (L32) INTRODUCCIÓN (L32) CONCEPTO DE DBA (DATA BASE ADMINISTRATOR) DISEÑO FÍSICO DE LA BASE DE DATOS MECANISMOS DE SEGURIDAD Y ACCESO MECANISMOS DE RESPALDO Y RECUPERACIÓN MECANISMOS DE CONCURRENCIA CARACTERÍSTICAS

Más detalles

AUDITANDO EN LAS BASES DE DATOS

AUDITANDO EN LAS BASES DE DATOS UNICIENCIA UNICIENCIA 22, 2008 22 pp. 135-140 2008 AUDITANDO EN LAS BASES DE DATOS Johnny Villalobos Murillo Facultad de Ciencias Exactas y Naturales, Escuela de Informática, Universidad Nacional de Costa

Más detalles

TABLAS DINÁMICAS EXCEL 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

TABLAS DINÁMICAS EXCEL 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE TABLAS DINÁMICAS EXCEL 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE TABLAS DINÁMICAS Una tabla dinámica consiste en el resumen de un conjunto de datos, atendiendo a varios criterios

Más detalles

Cómo abrir las bases de datos en Aspel-COI 6.0?

Cómo abrir las bases de datos en Aspel-COI 6.0? Cómo abrir las bases de datos en Aspel-COI 6.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

Más detalles

ONLINE TABLE REDEFINITION

ONLINE TABLE REDEFINITION Año 2 Volumen 7 Noviembre 2010 ONLINE TABLE REDEFINITION Contenido Página 1 Online Table Redefinition 3 Oracle BI action Framework 5 Web Reporting con reports 10g Editores Generales Por: Ing. Feliciano

Más detalles

E16 - Diseño de Sistemas de Bases de Datos Boletín 3

E16 - Diseño de Sistemas de Bases de Datos Boletín 3 E16 - Diseño de Sistemas de Bases de Datos Boletín 3 Nombre: 1. Esta práctica está dedicada a la creación de disparadores sobre sentencias DDL (lenguaje de definición de datos) y sobre eventos de la Base

Más detalles

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles