Entradas

Mostrando entradas de febrero, 2010

Comprobar el plan de ejecución con el que se ha compilado una sentencia sql que ya se ha ejecutado, obteniendo los datos de la SHARED POOL (v$sql).

En V$SQL puedo ver las sentencias sql que ya se han ejecutado, de modo que puedo obtener el identificador (V$SQL.SQL_ID) de cualquier sentencia sql, para posteriormente consultar el plan de ejecución haciendo uso del paquete dbms_xplan (DBMS_XPLAN.DISPLAY_CURSOR(SQL_ID)). SQL> connect system/fabiancrea Enter password: Connected. SQL> select deptno,count(*) from scott.emp group by deptno; DEPTNO COUNT(*) 30 6 20 5 10 3 SQL> select sql_id from v$sql where sql_text='select deptno,count(*) from scott.emp group by deptno'; SQL_ID cxwqkgckrcpd8 SQL> select * from table(dbms_xplan.display_cursor('cxwqkgckrcpd8')); PLAN_TABLE_OUTPUT SQL_ID cxwqkgckrcpd8, child number 0 select deptno,count(*) from scott.emp group by deptno Plan hash value: 4067220884 ---------------------------------------------------------------------- |Id | Operation | Name | Rows | By...

Instalar la utilidad STATSPACK. Crear snapshots y generar informe.

Crear tablespace statspack_tsp con 100M en /u05/oradata/fabiancrea (crear dir. /u05/oradata/fabiancrea). Crear tablespace statspack_temp con 2M en /u05/oradata/fabiancrea . Instalar statspack con $ORACLE_HOME/rdbms/admin/spcreate.sql, indicando los datos que se piden: clave de usuario perfstat, tablespace por defecto, y tablespace temporal por defecto. $ mkdir /u05/oradata/fabiancrea $ chmod Rg+w /u05/oradata/fabiancrea SQL> create tablespace statpack_tsp datafile '/u05/oradata/fabiancrea /statpack_tsp01.dbf' size 100M autoextend on next 10M maxsize 200M extent management local autoallocate segment space management auto; Tablespace created. SQL> create temporary tablespace statpack_temp tempfile '/u05/oradata/fabiancrea/statpack_temp01.dbf' size 2M autoextend on next 1M maxsize 10M; Tablespace created. SQL> @$ORACLE_HOME/rdbms/admin/spcreate.sql ... Installing Required Packages ... ... Creating PERFSTAT user ... Choose the PERFSTAT user...

Recompilacio n de objetos invalidos.

Tenemos varios métodos para recompilar o ver objetos invalidos en Oracle, empecemos primero identificando los objetos invalidos, de la siguiente manera: COLUMN object_name FORMAT A30 SELECT owner, object_type, object_name, status FROM dba_objects WHERE status = 'INVALID' ORDER BY owner, object_type, object_name; Ahora vayamos a la forma manual convencional; ALTER PACKAGE my_package COMPILE; ALTER PACKAGE my_package COMPILE BODY; ALTER PROCEDURE my_procedure COMPILE; ALTER FUNCTION my_function COMPILE; ALTER TRIGGER my_trigger COMPILE; ALTER VIEW my_view COMPILE; o tambien con la DBMS_DDL: EXEC DBMS_DDL.alter_compile('PACKAGE', 'MY_SCHEMA', 'MY_PACKAGE'); EXEC DBMS_DDL.alter_compile('PACKAGE BODY', 'MY_SCHEMA', 'MY_PACKAGE'); EXEC DBMS_DDL.alter_compile('PROCEDURE', 'MY_SCHEMA', 'MY_PROCEDURE'); EXEC DBMS_DDL.alter_compile('FUNCTION', 'MY_SCHEMA...