SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Cambios de Oracle9i a Oracle10g
para desarrolladores
Mejoras enMejoras en RendimientoRendimiento
Mejoras en Rendimiento SQL
 El optimizador basado en Reglas (RBO) queda
obsoleto en Oracle 10g. Esto implica:
Las opciones CHOOSE y RULE del parámetro
OPTIMIZER_MODE todavía existen, pero dejan de estar
soportadas.
El valor por defecto del parámetro OPTIMIZER_MODE
parameter es ALL_ROWS.
Los hints CHOOSE and RULE aún existen pero dejan
de estar soportados.
El código basado en el RBO debe ser modificado para
utilizar el optimizador de consultas (CBO).
Optimizador por ReglasOptimizador por Reglas
Mejoras en Rendimiento SQL
 SPREAD_MIN_ANALYSIS
 USE_NL_WITH_INDEX
 QB_NAME
 NO_QUERY_TRANSFORMATION
 NO_USE_NL, NO_USE_MERGE, NO_USE_HASH,
NO_INDEX_FFS, NO_INDEX_SS y
NO_STAR_TRANSFORMATION
 INDEX_SS, INDEX_SS_ASC, INDEX_SS_DESC
Nuevos Hints de OptimizaciónNuevos Hints de Optimización
Mejoras en Rendimiento SQL
 Los Hints que especifican nombres de tabla
aceptan Hints de tablas globales, mediante
nombre_vista.nombre_tabla.
 Los Hints que especifican nombres de vistas
aceptan Hints de Indices Compuestos, mediante
nombre_table.nombre_indice.
 Algunos Hints pueden, opcionalmente, aceptar
un parámetro de bloque de consultas.
Hints de Optimización modificadosHints de Optimización modificados
Mejoras en Rendimiento SQL
NO_PARALLEL
NO_PARALLEL_INDEX
NO_REWRITE
Hints de Optimización RenombradosHints de Optimización Renombrados
Mejoras en Rendimiento SQL
 AND_EQUAL
 HASH_AJ
 MERGE_AJ
 NL_AJ
 HASH_SJ
 NL_SJ
 EXPAND_GSET_TO_UNION
 ORDERED_PREDICATES
 ROWID
 STAR
Hints de Optimización ObsoletosHints de Optimización Obsoletos
Versionado de Filas
 Nueva cláusula VERSIONS en la cláusula FROM de
sentencias SQL.
SQL>SELECT salary FROM employees WHERE employee_id=101;
SALARY
--------
17000
SQL> UPDATE employees SET salary=salary*1.1 WHERE
employee_id=101;
SQL> SELECT salary FROM employees
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
WHERE employee_id=101;
SALARY
--------
18700
17000
Versionado de Filas
 Nuevas pseudocolumnas:
Versions_startscn
Versions_starttime
Versions_endscn
Versions_endtime
Versions_xid
Versions_operation
ORA_rowscn
 Nuevas Funciones de Conversión
SCN_TO_TIMESTAMP
TIMESTAMP_TO_SCN
Mejoras en campos LOB
Mejora de rendimiento en LOBs
temporales.
LOBs con capacidad de TeraBytes.
(4Gb-1)*DB_BLOCK_SIZE
Soportados en PL/SQL, JDBC (Java) y OCI
Conversión entre CLOB y NCLOB.
Carga de BFILES a CLOB/NCLOB.
Tablespaces transportables con LOBs.
Mejoras en el Compilador
Oracle 10g proporciona nuevas características para
mejorar el rendimiento de PL/SQL:
 Nuevo compilador PL/SQL para generación de
código optimizado.
Transparente para el usuario
PL/SQL es más rápido que en versiones anteriores
Mejoras en el Compilador PL/SQLMejoras en el Compilador PL/SQL
Mejoras en el Compilador
 Dos propósitos:
Un aumento en la calidad del código generado,
mejorando el rendimiento en la ejecución.
Una fundación de optimización global para mejorar la
ejecución PL/SQL.
 El nuevo compilador ejecuta código PL/SQL:
2 veces más rapido que Oracle 8i
1.5 veces más rápido que Oracle9i
 Opciones de compilación:
Debug | Non_Debug
Interpreted | Native
Basic | PLSQL_OPTIMIZE_LEVEL
Nuevo Compilador PL/SQLNuevo Compilador PL/SQL
Mejoras en el Compilador
Eliminación de operadores temporales.
Cálculo de determinadas operaciones en
compilación, no en ejecución.
Reutilización de valores de expresiones.
Simplificación de ramificaciones.
Eliminación de llamadas a librerías.
Eliminación de dead code.
Cierre de cursores al finalizar un bucle de
cursor.
Cambios en el Compilador PL/SQLCambios en el Compilador PL/SQL
Mejoras en el Compilador
Constantes enteras como PLS_INTEGER.
Operaciones que combinan PLS_INTEGER
y BINARY_INTEGER se ejecutan como
PLS_INTEGER.
Operaciones aritméticas de valores IEEE
754 son mucho más rápidas que para los
valores Oracle NUMBER.
Cambios en el Compilador PL/SQLCambios en el Compilador PL/SQL
Mejoras en el Compilador
 El código compilado de forma nativa se ejecuta
aún más rápidamente.
 Habilidad para cambiar el código compilado en
modo intérprete a código compilado en modo
nativo.
 Uso de scripts para realizar el cambio
 Uso de tres nuevos parámetros
PLSQL_CODE_TYPE: NATIVE | INTERPRETED.
PLSQL_DEBUG: TRUE | FALSE.
PLSQL_OPTIMIZE_LEVEL: 0 | 1 | 2.
PLSQL_COMPILER_FLAGS queda obsoleto.
Cambios en la compilación Nativa PL/SQLCambios en la compilación Nativa PL/SQL
Mejoras en Funciones de
Tablas
La proyección de la información pasada a
la función de tabla ayuda a procesar
únicamente los atributos requeridos
La integración con el optimizador genera
planes de ejecución más óptimos.
Soporte a tipos anónimos retornados
para funciones de tabla AnyDataSet.
Proporcionan beneficios en cuanto a
rendimiento.
Mejoras en Funciones de
Tablas
Oracle 10g permite a la función DESCRIBE
construir y devolver un tipo de datos
anónimo, mediante un interfaz ANYTYPE.
CREATE FUNCTION AnyDocuments (VARCHAR2)
RETURN ANYDATASET PIPELINED
USING DocumentMethods;
Soporte de Tipos AnónimosSoporte de Tipos Anónimos

Weitere ähnliche Inhalte

Was ist angesagt?

Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresSolidQ
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014SolidQ
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016Joseph Lopez
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Valentin Leonard Tabacaru
 
70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASE70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASEJulián Castiblanco
 
Oracle Database 11g vs 12c
Oracle Database 11g vs 12cOracle Database 11g vs 12c
Oracle Database 11g vs 12cDeiby Gómez
 
Sql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfecciónSql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfecciónGuillermo Taylor
 
SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaEduardo Castro
 
Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2Valentin Leonard Tabacaru
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresEnrique Catala Bañuls
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidadEduardo Castro
 
Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Nelson Calero
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareEduardo Castro
 
Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Javier Loria
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesEduardo Castro
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Manuel Contreras
 
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cGustavo Rene Antunez
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPJoseph Lopez
 

Was ist angesagt? (20)

Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastres
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2
 
70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASE70461 Sesion2 Uso del SELECT, DISTINCT, CASE
70461 Sesion2 Uso del SELECT, DISTINCT, CASE
 
Oracle Database 11g vs 12c
Oracle Database 11g vs 12cOracle Database 11g vs 12c
Oracle Database 11g vs 12c
 
Sql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfecciónSql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfección
 
SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
 
Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidad
 
Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
 
Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?Es TEMPDB, por qué es tan importante?
Es TEMPDB, por qué es tan importante?
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch Databases
 
#avanttic_webinar: Actualiza tu Oracle Exadata
  #avanttic_webinar: Actualiza tu Oracle Exadata  #avanttic_webinar: Actualiza tu Oracle Exadata
#avanttic_webinar: Actualiza tu Oracle Exadata
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication
 
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12cCosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
Cosas que “probablemente” no sabes pero deberías de saber en Oracle 12c
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 

Ähnlich wie 5 mejoras en-rendimiento Oracle 10g

Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012SolidQ
 
Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANASergio Cannelli
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Eduardo Castro
 
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosBd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosArmando
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Joseph Lopez
 
Nueva version sae 7.0 cade estamos listos
Nueva version sae 7.0 cade estamos listosNueva version sae 7.0 cade estamos listos
Nueva version sae 7.0 cade estamos listosCade Soluciones
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESDarwin Durand
 
Desarrollo sistemas web con PHP, HTML5, GOOGLE MAPS
Desarrollo sistemas web con PHP, HTML5, GOOGLE MAPSDesarrollo sistemas web con PHP, HTML5, GOOGLE MAPS
Desarrollo sistemas web con PHP, HTML5, GOOGLE MAPSArturo CUBA TORRES
 
Sql tuning without trying arup nanda ls
Sql tuning without trying   arup nanda lsSql tuning without trying   arup nanda ls
Sql tuning without trying arup nanda lsCJava Peru
 
Manual S Q L Sever2000( C E P S U N I)
Manual S Q L Sever2000( C E P S  U N I)Manual S Q L Sever2000( C E P S  U N I)
Manual S Q L Sever2000( C E P S U N I)Julio Pari
 
Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008Luis Vázquez
 
Capitulo iv
Capitulo ivCapitulo iv
Capitulo ivtesegg
 
Oracle enterprise manager
Oracle enterprise managerOracle enterprise manager
Oracle enterprise managerla77rch
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineEduardo Castro
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Eduardo Castro
 
Ejb30 3
Ejb30 3 Ejb30 3
Ejb30 3 oscar
 
Resumen de nuevas caracteriscitas de sql server 2008
Resumen de nuevas caracteriscitas de sql server 2008Resumen de nuevas caracteriscitas de sql server 2008
Resumen de nuevas caracteriscitas de sql server 2008Salvador Ramos
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM Kamisutra
 
Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.Angel Ladrero Gracia
 

Ähnlich wie 5 mejoras en-rendimiento Oracle 10g (20)

Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
 
Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANA
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosBd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Nueva version sae 7.0 cade estamos listos
Nueva version sae 7.0 cade estamos listosNueva version sae 7.0 cade estamos listos
Nueva version sae 7.0 cade estamos listos
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALES
 
Desarrollo sistemas web con PHP, HTML5, GOOGLE MAPS
Desarrollo sistemas web con PHP, HTML5, GOOGLE MAPSDesarrollo sistemas web con PHP, HTML5, GOOGLE MAPS
Desarrollo sistemas web con PHP, HTML5, GOOGLE MAPS
 
Sql tuning without trying arup nanda ls
Sql tuning without trying   arup nanda lsSql tuning without trying   arup nanda ls
Sql tuning without trying arup nanda ls
 
Manual S Q L Sever2000( C E P S U N I)
Manual S Q L Sever2000( C E P S  U N I)Manual S Q L Sever2000( C E P S  U N I)
Manual S Q L Sever2000( C E P S U N I)
 
Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008Características SQL 2005 y SQL 2008
Características SQL 2005 y SQL 2008
 
Capitulo iv
Capitulo ivCapitulo iv
Capitulo iv
 
Oracle enterprise manager
Oracle enterprise managerOracle enterprise manager
Oracle enterprise manager
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Ejb30 3
Ejb30 3 Ejb30 3
Ejb30 3
 
Resumen de nuevas caracteriscitas de sql server 2008
Resumen de nuevas caracteriscitas de sql server 2008Resumen de nuevas caracteriscitas de sql server 2008
Resumen de nuevas caracteriscitas de sql server 2008
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 
Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.Presentación: Administración y programación de bases de datos relacionales.
Presentación: Administración y programación de bases de datos relacionales.
 

Kürzlich hochgeladen

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Kürzlich hochgeladen (15)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

5 mejoras en-rendimiento Oracle 10g

  • 1. Cambios de Oracle9i a Oracle10g para desarrolladores Mejoras enMejoras en RendimientoRendimiento
  • 2. Mejoras en Rendimiento SQL  El optimizador basado en Reglas (RBO) queda obsoleto en Oracle 10g. Esto implica: Las opciones CHOOSE y RULE del parámetro OPTIMIZER_MODE todavía existen, pero dejan de estar soportadas. El valor por defecto del parámetro OPTIMIZER_MODE parameter es ALL_ROWS. Los hints CHOOSE and RULE aún existen pero dejan de estar soportados. El código basado en el RBO debe ser modificado para utilizar el optimizador de consultas (CBO). Optimizador por ReglasOptimizador por Reglas
  • 3. Mejoras en Rendimiento SQL  SPREAD_MIN_ANALYSIS  USE_NL_WITH_INDEX  QB_NAME  NO_QUERY_TRANSFORMATION  NO_USE_NL, NO_USE_MERGE, NO_USE_HASH, NO_INDEX_FFS, NO_INDEX_SS y NO_STAR_TRANSFORMATION  INDEX_SS, INDEX_SS_ASC, INDEX_SS_DESC Nuevos Hints de OptimizaciónNuevos Hints de Optimización
  • 4. Mejoras en Rendimiento SQL  Los Hints que especifican nombres de tabla aceptan Hints de tablas globales, mediante nombre_vista.nombre_tabla.  Los Hints que especifican nombres de vistas aceptan Hints de Indices Compuestos, mediante nombre_table.nombre_indice.  Algunos Hints pueden, opcionalmente, aceptar un parámetro de bloque de consultas. Hints de Optimización modificadosHints de Optimización modificados
  • 5. Mejoras en Rendimiento SQL NO_PARALLEL NO_PARALLEL_INDEX NO_REWRITE Hints de Optimización RenombradosHints de Optimización Renombrados
  • 6. Mejoras en Rendimiento SQL  AND_EQUAL  HASH_AJ  MERGE_AJ  NL_AJ  HASH_SJ  NL_SJ  EXPAND_GSET_TO_UNION  ORDERED_PREDICATES  ROWID  STAR Hints de Optimización ObsoletosHints de Optimización Obsoletos
  • 7. Versionado de Filas  Nueva cláusula VERSIONS en la cláusula FROM de sentencias SQL. SQL>SELECT salary FROM employees WHERE employee_id=101; SALARY -------- 17000 SQL> UPDATE employees SET salary=salary*1.1 WHERE employee_id=101; SQL> SELECT salary FROM employees VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE employee_id=101; SALARY -------- 18700 17000
  • 8. Versionado de Filas  Nuevas pseudocolumnas: Versions_startscn Versions_starttime Versions_endscn Versions_endtime Versions_xid Versions_operation ORA_rowscn  Nuevas Funciones de Conversión SCN_TO_TIMESTAMP TIMESTAMP_TO_SCN
  • 9. Mejoras en campos LOB Mejora de rendimiento en LOBs temporales. LOBs con capacidad de TeraBytes. (4Gb-1)*DB_BLOCK_SIZE Soportados en PL/SQL, JDBC (Java) y OCI Conversión entre CLOB y NCLOB. Carga de BFILES a CLOB/NCLOB. Tablespaces transportables con LOBs.
  • 10. Mejoras en el Compilador Oracle 10g proporciona nuevas características para mejorar el rendimiento de PL/SQL:  Nuevo compilador PL/SQL para generación de código optimizado. Transparente para el usuario PL/SQL es más rápido que en versiones anteriores Mejoras en el Compilador PL/SQLMejoras en el Compilador PL/SQL
  • 11. Mejoras en el Compilador  Dos propósitos: Un aumento en la calidad del código generado, mejorando el rendimiento en la ejecución. Una fundación de optimización global para mejorar la ejecución PL/SQL.  El nuevo compilador ejecuta código PL/SQL: 2 veces más rapido que Oracle 8i 1.5 veces más rápido que Oracle9i  Opciones de compilación: Debug | Non_Debug Interpreted | Native Basic | PLSQL_OPTIMIZE_LEVEL Nuevo Compilador PL/SQLNuevo Compilador PL/SQL
  • 12. Mejoras en el Compilador Eliminación de operadores temporales. Cálculo de determinadas operaciones en compilación, no en ejecución. Reutilización de valores de expresiones. Simplificación de ramificaciones. Eliminación de llamadas a librerías. Eliminación de dead code. Cierre de cursores al finalizar un bucle de cursor. Cambios en el Compilador PL/SQLCambios en el Compilador PL/SQL
  • 13. Mejoras en el Compilador Constantes enteras como PLS_INTEGER. Operaciones que combinan PLS_INTEGER y BINARY_INTEGER se ejecutan como PLS_INTEGER. Operaciones aritméticas de valores IEEE 754 son mucho más rápidas que para los valores Oracle NUMBER. Cambios en el Compilador PL/SQLCambios en el Compilador PL/SQL
  • 14. Mejoras en el Compilador  El código compilado de forma nativa se ejecuta aún más rápidamente.  Habilidad para cambiar el código compilado en modo intérprete a código compilado en modo nativo.  Uso de scripts para realizar el cambio  Uso de tres nuevos parámetros PLSQL_CODE_TYPE: NATIVE | INTERPRETED. PLSQL_DEBUG: TRUE | FALSE. PLSQL_OPTIMIZE_LEVEL: 0 | 1 | 2. PLSQL_COMPILER_FLAGS queda obsoleto. Cambios en la compilación Nativa PL/SQLCambios en la compilación Nativa PL/SQL
  • 15. Mejoras en Funciones de Tablas La proyección de la información pasada a la función de tabla ayuda a procesar únicamente los atributos requeridos La integración con el optimizador genera planes de ejecución más óptimos. Soporte a tipos anónimos retornados para funciones de tabla AnyDataSet. Proporcionan beneficios en cuanto a rendimiento.
  • 16. Mejoras en Funciones de Tablas Oracle 10g permite a la función DESCRIBE construir y devolver un tipo de datos anónimo, mediante un interfaz ANYTYPE. CREATE FUNCTION AnyDocuments (VARCHAR2) RETURN ANYDATASET PIPELINED USING DocumentMethods; Soporte de Tipos AnónimosSoporte de Tipos Anónimos

Hinweis der Redaktion

  1. Dicha funcionalidad está aún presente, pero no se han incorporado nuevas características, y deja de estar soportado por Oracle. Está presente únicamente para proporcionar compatibilidad hacia atrás durante la migración al optimizador de consultas (Optimizador basado en costes CBO). Debido a ello: Las opciones CHOOSE y RULE del parámetro OPTIMIZER_MODE todavía existen, pero dejan de estar soportadas. El valor por defecto del parámetro OPTIMIZER_MODE parameter es ALL_ROWS. Los hints CHOOSE and RULE aún existen pero dejan de estar soportados. El código basado en el RBO debe ser modificado para utilizar el optimizador de consultas (CBO).
  2. SPREAD_MIN_ANALYSIS – Especifica las opciones de análisis de Hojas de Cálculo. USE_NL_WITH_INDEX – Especifica una unión NESTED LOOP. QB_NAME – Define un nombre para un bloque de consulta. NO_QUERY_TRANSFORMATION – Impide que el optimizador realize una transformación de consultas. NO_USE_NL, NO_USE_MERGE, NO_USE_HASH, NO_INDEX_FFS, NO_INDEX_SS ay NO_STAR_TRANSFORMATION – Excluyen operaciones específicas del plan de ejecución. INDEX_SS, INDEX_SS_ASC, INDEX_SS_DESC – Excluyen búsquedas por rango del plan de ejecución.
  3. Los Hints que especifican nombres de tabla han sido expandidos para aceptar Hints de tablas globales. Esto permite referenciar a una tabla base dentro de una vista mediante la sintaxis nombre_vista.nombre_tabla. Los Hints que especifican nombres de vistas han sido expandidos para aceptar Hints de Indices Compuestos. Esto permite referenciar a un índice mediante la sintaxis nombre_table.nombre_indice.
  4. NO_PARALLEL - Formalmente NOPARALLEL. NO_PARALLEL_INDEX – Formalmente NOPARALLEL_INDEX. NO_REWRITE – Formalmente NOREWRITE.
  5. Nueva cláusula VERSIONS en la cláusula FROM de sentencias SQL – devuelve todas las versiones de todas las filasque han existido alguna vez desde el momento de la ejecución de la consulta hasta los UNDO_RETENTION segundos antes del momento actual. El parámetro UNDO_RETENTION es un parámetro de inicialización de la base de datos que especifica cuantos segundos de modificaciones deben almacenarse en la base de datos. El resultado de una consulta de versionado se comporta como si la cláusula where se aplicara a todas las versiones de las filas. La consulta de versionado devuelve versiones de las filas a través de las transacciones únicamente. La cláusula VERSIONS no tiene efecto en el comportamiento transaccional de la consulta. Esto significa que una consulta sobre una tabla con la cláusula VERSIONS todavía hereda el entorno de consulta de la transacción pendiente. La consulta versionada recupera todas las versiones validadas de las filas seleccionadas. Los cambios realizados por las transacciones activas no se recuperan. La consulta versionada devuelve todas las reencarnaciones de las filas. Esto significa que las versiones devueltas incluyen todas las filas borradas y posteriormente reinsertadas. La cláusula VERSIONS no modifica el plan de ejecución de una consulta. La cláusula VERSIONS puede especificarse como VERSIONS BETWEEN SCN |TIMESTAMP val_min AND val_max. La cláusula VERSIONS es una extensión SQL únicamente para las consultas. Es posible utilizar dicha cláusula en DML pero dentro de subconsultas.
  6. Start_Time/ SCN – Especifica el momento de creación de una versión. El valor es nulo si la versión fue creada antes del límite inferior del intervalo de tiempo. End_Time/ SCN – Especifica el momento de expiración de una versión. El valor es NULL en los casos siguientes: La versión está activa en el momento de ejecución de la sentencia. Es una versión eliminada de la fila. La columna versionada devuelve las versiones eliminadas de las filas, si existen. Esta versión eliminada se representa como la versión de la fila antes de ser borrada, y para ella la pseudocolumna VERSIONS_OPERATION devuelve el valor “D”. Las pseudocolumnas incorporadas son las siguientes: Versions_startscn – SCN de la creación de una versión de la fila. Versions_starttime – Fecha y hora de creación de una versión de la fila. Versions_endscn – SCN de expiración de una versión de la fila. Versions_endtime – Fecha y hora de expiración de una versión de la fila. Versions_xid – Identificador de transacción que creó la versión de la fila. Versions_operation – Operación realizada por la transacción. ORA_rowscn – fila SCN de la fila devuelta. Se han añadido las siguientes funciones de conversión: SCN_TO_TIMESTAMP – Función SQL que convierte un número SCN en su correspondiente TIMESTAMP. TIMESTAMP_TO_SCN – Función SQL que convierte un TIMESTAMP en su correspondiente número SCN.
  7. Con Oracle 10g, el rendimiento y los requisitos de espacio de LOBs temporales han sido enormemente mejorados mediante la incorporación de un nuevo mecanismo de referencia en lectura y copia en escritura. La idea es que no habrá una copia de valores de LOB tras una asignación. En cambio, para cada LOB, se utilizará un contador de referencias para mantener registrado el número de referencias al LOB temporal. En los entornos soportados, es posible crear y manipular LOBs hasta un tamaño máximo dependiente de la configuración de la base de datos, en función del tamaño del bloque especificado por DB_BLOCK_SIZE. El tamaño máximo se calculará mediante la fórmula (4Gb-1)*DB_BLOCK_SIZE. Dado que los tamaños de bloque posible oscilan entre 2Kb y 32Kb, una columna LOB podrá almacenar entre 8 y 128 terabytes para cada fila en Oracle 10g. Los LOBs sin límite de tamaño están soportados por todas las API en el paquete PL/SQL DBMS_LOB. La función DBMS_LOB.STORAGE_LIMIT devuelve el límite de almacenamiento para la base de datos actual. Las clases Oracle JDBC y la Oracle Call Interface API (OCI) también incluyen soporte a estos nuevos LOBs ilimitados. La conversión de datos entre UNICODE y el juego de caracteres national NLS de la base de datos es cada vez más frecuente. La conversión explícita entre CLOB y NCLOB ya estaba disponible en SQL mediante las funciones TO_CLOB y TO_NCLOB. Oracle 10g introduce la conversión implícita para variables SQL IN y OUT en consultas y en sentencias DML, así como en PL/SQL, tanto en la asignación de variables, como en parámetros de procedimientos y funciones. La carga de datos desde BFILE externos a un campo LOB de la base de datos puede ocasionar problemas. Los datos pueden ser ilegibles debido al juego de caracteres o a restricciones de caracteres entre origen y destino. El nuevo procedimiento LOADFROMFILE2() ofrece funcionalidad mejorada para cargar texto en un campo CLOB o NCLOB. El procedimiento está disponible tanto en el paquete DBMS_LOB como en OCI. Las nuevas funcionalidades de tablespaces transportables introducidas en Oracle 10g permiten transportar un tablespace a lo largo de bases de datos independientes en diferentes plataformas.
  8. Oracle 10g tiene un nuevo compilador PL/SQL completamente rediseñado y reimplementado, incluyendo capacidades de optimización de código. Sustituye al viejo compilador, incorporando modernas técnicas de compilación. Oracle 10g introduce una nueva funcionalidad que permite al compilador PL/SQL comunicar mensajes de aviso cuando no se cumplen los estándares de programación PL/SQL. Los avisos de compilación (Compiler Warnings) permiten a los desarrolladores evitar errores de codificación habituales para mejorar la productividad. Por otro lado, en Oracle 10g las operaciones de enlaces masivos (BULK BINDINGS) has sido mejoradas para aumentar el rendimiento. Ahora es posible utilizar colecciones dispersas y arrays indexados en operaciones masivas.
  9. Algunos de los cambios implícitos en la compilación de código son: Eliminación de operadores temporales generados por el compilador PL/SQL. Dicha eliminación provoca menor almacenamiento y menos tiempo inicializando valores temporales. El cálculo de determinadas operaciones durante la compilación, y no durante la ejecución. Reutilización de valores de expresiones. Por ejemplo, si la expresión A + B se ejecuta dos veces y los valores de A y B no han variado, la segunda ejecución será eliminada por el optimizador. Simplificación o eliminación de algunas ramas innecesarias. Eliminación de llamadas a librerías mediante ejecución directa en la máquina virtual PL/SQL de algunas operaciones. Eliminación de código inactivo (dead code). Se han resuelto algunos problemas con PL/SQL, como que todos los cursores se cierran correctamente al salir de un bucle de cursor o de un bloque declarativo. La eliminación de cálculos cuyo único efecto es provocar una excepción. Si no hay otros efectos colaterales de la expresión condicional, el optimizador PL/SQL elimina el cálculo entero.
  10. Algunos de los cambios implícitos en la compilación de código son: Todas las constantes enteras suficientemente pequeñas para ser representadas como PLS_INTEGER se representarán como tal, y no como un valor NUMBER. Todas las operaciones aritméticas que combinen valores BINARY_INTEGER y PLS_INTEGER se ejecutarán con aritmética PLS_INTEGER. La operación de división de PLS_INTEGER se realiza con aritmética PLS_INTEGER, no como NUMBER. Cuando se active el modo DEBUG, la optimización quedará desactivada, y la generación de código será más lenta. Las operaciones aritméticas para valores numéricos de coma flotante IEEE 754 es varias veces más rápida que para tipos de datos NUMBER. Particularmente, el producto de dos valores IEEE 754 puede llegar a ser de 5 a 10 veces más rápido que con valores NUMBER.
  11. En Oracle 10g, el código compilado de forma nativa se ejecuta aún más rápido que en versiones anteriores. La salida de la compilación nativa de PL/SQL se almacena ahora dentro de la base de datos como dato BLOB. Esto simplifica las copias de seguridad en un entorno de PL/SQL nativo. Los beneficios de rendimiento de la compilación nativa de PL/SQL están ahora disponibles en una configuración Real Application Cluster (RAC). Es posible intercambiar entre la compilación nativa e intérprete de código para los bloques PL/SQL. Es posible depurar una unidad PL/SQL compilada de forma nativa y recompilarla con la información de depuración, obviando de forma temporal la compilación nativa. Tras finalizar el proceso de depuración, se debe recompilar el código de forma nativa. Oracle 10g suministra tres nuevos parámetros para controlar diferentes aspectos de la compilación de PL/SQL: PLSQL_DEBUG: controla la compilación en modo depuración. PLSQL_CODE_TYPE: controla el método de compilación. PLSQL_OPTIMIZE_LEVEL: controla el nivel de compilación. El valor de cada parámetro se puede especificar de manera independiente, bien en los ficheros de parámetros de la base de datos, bien mediante sentencias ALTER SYSTEM o ALTER SESSION. Pueden tomar el valor NULL. Oracle consulta dichos valores cada vez que ejecuta una sentencia CREATE OR REPLACE. Las vistas del diccionario USER|ALL|DBA_PLSQL_OBJECTS muestran los valores para los objetos PL/SQL. El parámetro PLSQL_COMPILER_FLAGS queda obsoleto, y será eliminado en futuras versiones. Estos tres parámetros sustituyen su funcionalidad.
  12. Las funciones de tabla son funciones que devuelven una colección de filas (tablas anidadas o VARRAY) que pueden ser consultadas como una tabla física de la base de datos. Oracle 10g proporciona las siguientes mejoras al entorno de funciones de tabla PIPELINED: La proyección de la información pasada a la función de tabla ayuda a procesar únicamente los atributos requeridos La integración con el optimizador genera planes de ejecución más óptimos. Soporte a tipos anónimos retornados para funciones de taba AnyDataSet. Las mejoras incluyen una nueva llamad en tiempo de compilación: ODCITablePrepare, que puede ser utilizada para estudiar el contexto en tiempo de compilación, proporcionando información de proyecciones y soporte para tipos anónimos de retorno. Esta nueva llamada opcional es llamada por el servidor Oracle al final de la compilación de una consulta, y se utiliza para pasar información de la consulta e inicializar la búsqueda de contexto. La información de proyección pasada a la función de tabla mejora el rendimiento, al procesar únicamente los atributos utilizados.
  13. En versiones anteriores existía el soporte para funciones de tabla genéricas (AnyDataSet), que determinaban el tipo de salida únicamente en tiempo de compilación de la consulta, basándose en los argumentos pasados por la función. Oracle 10g permite al método DESCRIBE construir y devolver tipos transitorios de datos anónimos, mediante el uso de interfaces ANYTYPE. El ejemplo permite mostrar una función d etabla declarada para devolver una colección AnyDataSet cuya estructura no está definida en el momento de creación de la función.