Curso Programación PL/SQL Avanzada & Tuning con

Curso Programación PL/SQL Avanzada & Tuning
con Oracle Database 11g
Descripción: El lenguaje de programación PL/SQL está en el núcleo de
la mayoría de las aplicaciones de base de datos Oracle. Este curso se
enfocará en tres pilares fundamentales de la implementación efectiva
de aplicaciones PL/SQL. Primero, exploraremos las características
avanzadas del lenguaje, las cuales permiten construir aplicaciones
poderosas y adaptables. A continuación, se discutirá sobre las técnicas
de ajuste de desempeño que permitirán a las aplicaciones correr
eficientemente. Finalmente, consideraremos medidas críticas de
seguridad las cuales deberían ser implementadas para contrarrestar
ataques de hackers y otros riesgos en seguridad.
Audiencia: Este curso está orientado a desarrolladores de aplicaciones
senior, desarrolladores que estarán construyendo, depurando y
optimizando unidades de programas PL/SQL.
Curso Programación PL/SQL Avanzada & Tuning con Oracle Database 11g
Desarrollo y Capacitación en Internet S.A DE C.V..
Altadena No. 26 Col. Nápoles CP 03810
TEL.(5255) 5523-4756
www.dcinternet.com.mx
1
Objetivos:.
• Invocar procedimientos externos e integrarlos en aplicaciones PL/SQL.
Estos incluyen clases de Java externas usando la interface JDBC y
programas externos de C contenidos en librerías DLL.
• Usar SQL dinámico para extender la funcionalidad y flexibilidad de
programas de la base de datos, incluyendo el paquete DBMS_SQL()
• Identificar vulnerabilidad a ataques de inyección SQL dentro de una
aplicación y aplicar contramedidas para manejar de manera apropiada
riesgos de seguridad.
• Incorporar colecciones y otros tipos avanzados dentro de la lógica de
la aplicación para incrementar eficiencia y velocidad de ejecución.
DCInternet
• Trabajar con LOBs, incluyendo manipulación de datos de “piezasinteligentes” y modificación dinámica de opciones de almacenamiento de
SecureFile.
• Expandir funcionalidad con paquetes utilitarios incluidos en la base de
datos.
• Ajustar con el paquete DBMS_PROFILER() y
DBMS_TRACE(), ambos incluidos en la base de datos.
depurar
con
el
• Escribir código eficiente de PL/SQL y evitar errores de codificación
comunes.
• Habilitar compilación nativa y la ejecución de unidades programáticas
residentes en la base de datos.
• Controlar y manejar compilación de PL/SQL para ejecución de alta
eficiencia.
• Analizar la estructura de código PL/SQL por medio de la utilería
PL/Scope.
• Analizar el desempeño de aplicaciones PL/SQL y hallar “cuellos de
botella” usando el PL/SQL Hierarachical Profiler.
Curso Programación PL/SQL Avanzada & Tuning con Oracle Database 11g
Desarrollo y Capacitación en Internet S.A DE C.V..
Altadena No. 26 Col. Nápoles CP 03810
TEL.(5255) 5523-4756
www.dcinternet.com.mx
2
• Implementar mecanismos de seguridad de grano fino como parte de
un modelo de seguridad avanzado usando contextos de aplicación y la
base de datos privada virtual Oracle(VPD).
• Particionamiento dinámico y paralelización DML usando el paquete
DBMS_PARALLEL_EXECUTE().
Prerequisitos:
• ORACLE DATABASE 11G: SQL FUNDAMENTALS
• ORACLE DATABASE 11G: PROGRAM WITH PL/SQL
DCInternet
Horas: 35 horas.
Curso Programación PL/SQL Avanzada & Tuning con Oracle Database 11g
Desarrollo y Capacitación en Internet S.A DE C.V..
Altadena No. 26 Col. Nápoles CP 03810
TEL.(5255) 5523-4756
www.dcinternet.com.mx
3
Content
1. DYNAMIC SQL
•
•
•
•
ADVANTAGES & DISADVANTAGES
NATIVE DYNAMIC SQL
Dynamic UPDATE...RETURNING
DYNAMIC SQL USING DBMS_SQL()
2. USING COLLECTIONS
•
•
•
•
•
•
•
•
ABOUT COLLECTIONS
BULK BIND USING COLLECTIONS
COLLECTION METHODS
MORE ABOUT THE RETURNING CLAUSE
ADVANCED COLLECTION FEATURES
Collection MULTISET Operations
IN INDICES OF Clause
IN VALUES OF Clause
3. SYSTEM-SUPPLIED PACKAGES:
DBMS_METADATA() – PART I
•
•
•
•
•
•
•
•
•
•
•
WHY RETRIEVE OBJECT DEFINITIONS?
RETRIEVING DEFAULT METADATA
RETRIEVING CUSTOMIZED METADATA
Using OPEN() & CLOSE()
Using SET_FILTER()
Using SET_COUNT()
Using ADD_TRANSFORM()
Using FETCH DDL()
About SYS.KU$_DDL
About SYS.KU$_DDLS
Calling FETCH_DDL()
• SET_TRANSFORM_PARAM()
• GET_QUERY()
5. SYSTEM-SUPPLIED PACKAGES:
DBMS_METADATA() – PART III
FETCH CLOB()
SET_FILTER() FOR DEPENDENT OBJECTS
SET_PARSE_ITEM()
PRIMARY & DEPENDENT OBJECT DDL
6. SYSTEM-SUPPLIED PACKAGES:
DBMS_REDEFINITION()
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
WORKING WITH EXTERNAL BFILES
WORKING WITH INTERNAL LOBS
LoadBLOBFromFile(), LoadCLOBFromFile()
Compare()
GetLength()
Append()
Copy()
Erase()
Trim()
Read()
SUBSTR()
INSTR()
Write()
DYNAMIC SECUREFILE OPTIONS
GetOptions()
SetOptions()
8. SYSTEM-SUPPLIED PACKAGES: OTHERS
•
•
•
•
•
•
•
•
•
•
•
•
COMPRESSION WITH UTL_COMPRESS()
LZ_COMPRESS()
LZ_UNCOMPRESS()
DBMS_DESCRIBE()
UTL_MAIL()
Set SMTP_OUT_SERVER
Calling The Send() Procedure
Calling The Send_Attach_xxx() Procedures
DBMS_UTILITY()
COMPILE_SCHEMA()
DB_VERSION()
WAIT_ON_PENDING_DML()
DCInternet
4. SYSTEM-SUPPLIED PACKAGES:
DBMS_METADATA() – PART II
•
•
•
•
7. SYSTEM-SUPPLIED PACKAGES:
DBMS_LOB()
ABOUT TABLE REDEFINITION
USING DBMS_REDEFINITION()
DBA_REDEFINITION_ERRORS
CAN_REDEF_TABLE()
START_REDEF_TABLE()
FINISH_REDEF_TABLE()
ABORT_REDEF_TABLE()
COPY_TABLE_DEPENDENTS()
SYNC_INTERIM_TABLE()
9. ADVANCED INTERFACE METHODS
• ABOUT EXTERNAL PROCEDURES
• CALLING JAVA CLASSES
• CALLING C PROGRAMS
10 PL/SQL ADVANCED PROGRAMMING &
CODING TECHNIQUES
• AUTONOMOUS TRANSACTIONS
• USING NOCOPY FOR PARAMETERS
• CHOOSING THE OPTIMUM DATA TYPE
• Avoiding Implicit Data type Conversion
• Choosing Between NUMBER And
PLS_INTEGER
• About PLS_INTEGER
• Using SIMPLE_INTEGER
• CHAR Variables Of Different Lengths
• VARCHAR2 Variables Of Different Lengths
• CHAR Vs. VARCHAR2
• CHAR Vs. VARCHAR2 With An Equality
• Comparison
• USEFUL PL/SQL CODING TECHNIQUES
• HANDLING STRING LITERALS
Curso Programación PL/SQL Avanzada & Tuning con Oracle Database 11g
Desarrollo y Capacitación en Internet S.A DE C.V..
Altadena No. 26 Col. Nápoles CP 03810
TEL.(5255) 5523-4756
www.dcinternet.com.mx
4
11. INFLUENCING ORACLE PL/SQL
COMPILATION
•
•
•
•
PL/SQL COMPILER OPTIMIZATION
PLSQL_OPTIMIZE_LEVEL
CONTROLLING COMPILATION MESSAGES
PL/SQL NATIVE EXECUTION
12. DYNAMIC PARTITIONING &
PARALLELIZATION
• ABOUT DYNAMIC PARTITIONING
(CHUNKS)
• CREATING & PROCESSING CHUNKS
• CREATE_TASK()
• CREATE_CHUNKS_BY_ROWID()
• CREATE_CHUNKS_BY_NUMBER_COL()
• EXECUTE_RUN_TASK()
• TASK_STATUS()
• DROP_TASK()
• MONITORING CHUNK PROCESSING
13. APPLICATION TUNING WITH THE
PL/SQL HIERARCHICAL PROFILER
•
•
•
•
•
•
•
•
14. PL/SQL DEBUGGING WITH
DBMS_TRACE()
•
•
•
•
USING THE TRACE FACILITY
DBMS_TRACE() TO MANAGE RUNS
EXAMINING THE TRACE DATA
EVENT_KIND Values
15. PROTECTING AGAINST SQL
INJECTION ATTACKS
• UNDERSTANDING THE THREAT
• APPLYING COUNTERMEASURES
16. IMPLEMENTING VIRTUAL PRIVATE
DATABASES
•
•
•
•
•
•
UNDERSTANDING VPDS
PREPARING FOR A VPD
CONFIGURING A VPD
MANAGING APPLICATION CONTEXTS
Using SYS_CONTEXT()
MANAGING POLICIES & SECURITY RULES
WHAT IS THE HIERARCHICAL PROFILER?
CONFIGURING THE PROFILER
MANAGING PROFILER RUNS
ANALYZING PROFILER DATA
INTERPRETING THE RESULTS
DBMSHP_RUNS
DBMSHP_FUNCTION_INFO
DBMSHP_PARENT_CHILD_INFO
DCInternet
Formas de pago:
Este pago puede realizarse de cualquiera de las siguientes maneras:
 Depósito Banamex cuenta 4923239 Suc. 575 a nombre de Desarrollo y
Capacitación en Internet, S.A. de C. V. o transferencia bancaria CLABE
002180057549232394
 Cheque a nombre de Desarrollo y Capacitación en Internet, S. A. de C. V.
Curso Programación PL/SQL Avanzada & Tuning con Oracle Database 11g
Desarrollo y Capacitación en Internet S.A DE C.V..
Altadena No. 26 Col. Nápoles CP 03810
TEL.(5255) 5523-4756
www.dcinternet.com.mx
5