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
© Copyright 2024