CO-80343 Oracle Database 12c: Advanced PL/SQL Summary Duration 3 Days Audience Application Developers and Database Administrators Level Professional Technology Oracle Database 12c Delivery Method Instructor-led (Classroom) Training Credits Yes Introduction This three day Advanced PL/SQL training course teaches you how to use the advanced features of PL/SQL to design and tune PL/SQL to interface with the database and other applications. Expert Oracle University instructors will help you explore advanced features of program design, packages, cursors, extended interface methods and collections. Discover how to write PL/SQL routines that analyse the PL/SQL applications and caching techniques that can improve performance. By investing in this course, you'll be introduced to the Virtual Private Database (VPD) to implement security policies and explore techniques and tools to strengthen your applications against SQL injection attacks. Expand programming resources by creating PL/SQL programs that interface with C and Java code. Prerequisites Before attending this course, students must have A thorough knowledge of the SQL language Working experience with SQL *Plus Working experience on developing applications with PL/SQL. Oracle requires and recommends that delegates have attended the following courses prior to attending Oracle Database12c: Advanced PL/SQL Required Course: D80174 Oracle Database12c: Introduction to SQL Required Course: D80186 Oracle Database 12c: Program with PL/SQL Target Audience Application Developers and Database Administrators Course Content
Lesson 1: Introduction This lesson provides an overview of the development environments, schemas, tables, data and tools used in the course. Previewing the course agenda Describing the development environments Identifying the tables, data, and tools used in this course Reviewing the available SQL Developer resources Starting SQL Developer and creating new database connections and browsing the HR, OE, and SH tables Browsing the HR, SH, and OE Schema Tables Accessing the Oracle Database 12c Release 1 Online Documentation Library Lesson 2: PL/SQL Programming Concepts: Review This lesson reviews the basic principles and concepts of programming with PL/SQL with specific emphasis on the creation of subprograms, using cursors, handling exceptions, identifying predefined Oracle server errors, managing dependencies, and using Oracle-supplied packages. Describe PL/SQL basics List restrictions on calling functions from SQL expressions Review PL/SQL packages Identify how explicit cursors are processed Handle exceptions Use the raise_application_error procedure Manage dependencies Use Oracle-supplied packages PL/SQL knowledge quiz Lesson 3: Designing PL/SQL Code This lesson discusses several concepts that apply to the designing of PL/SQL program units. Participants will learn how to design and use cursor variables, describe the predefined data types, and create subtypes based on existing data types for an application. Identify guidelines for cursor design Use cursor variables Create subtypes based on the existing types for an application Specify a white list of PL/SQL units to access a package Designing PL/SQL Code Designing Using the ACCESSIBLE BY Clause Lesson 4: Overview of Collections This lesson introduces the different types of collections available for use in PL/SQL programming and how to manipulate them through collection methods. Nested tables Varrays Associative arrays/plsql tables Analysing Collections Lesson 5: Using Collections
This lesson teaches you how to work with collections I PL/SQL program development. Use collection methods Manipulate collections Distinguish between the different types of collections and when to use them Use PL/SQL bind types Using Collections Lesson 6: Manipulating Large Objects This lesson describes the characteristics of the new large object (LOB) data types that have been provided since Oracle8, comparing and contrasting them with the earlier data types. Examples, syntax, and issues regarding the LOB types are also presented. Create and maintain LOB data types Differentiate between internal and external LOBs Use the DBMS_LOB PL/SQL package Describe the use of temporary LOBs Describe SecureFile LOB Creating object types of the CLOB and BLOB data types Creating a table with the LOB data types as columns Using the DBMS_LOB package to populate and interact with the LOB data Setting up the environment for LOBs Lesson 7: Using Advanced Interface Methods This lesson will teach participants how to implement an external C routine from PL/SQL code and how to incorporate Java code into PL/SQL programs. Execute external C programs from PL/SQL Execute Java programs from PL/SQL Writing programs to interact with C routines Writing programs to interact with Java code Lesson 8: Performance and Tuning This lesson describes how to influence the performance of PL/SQL subprograms through different compilation techniques, the proper use of compiler hints and directives, and by influencing the inlining process. Understand and influence the compiler Tune PL/SQL code Enable intraunit inlining Break a previously built subroutine into smaller executable sections Pass collections into subroutines Add error handling for BULK INSERT Lesson 9: Improving Performance with Caching This lesson describes how to improve the performance of PL/SQL subprograms by implementing various caching techniques made available in Oracle Database 12c.
Improving memory usage by caching SQL result sets Enabling the query result cache Using the DBMS_RESULT_CACHE package Implementing SQL query result caching Writing queries that use the result cache hint Using PL/SQL function result caching Setting up PL/SQL functions to use PL/SQL result caching Implementing PL/SQL function result caching Invoker s rights function result cache Improving Performance with Caching Lesson 10: Analysing PL/SQL Code This lesson demonstrates how to write PL/SQL routines that analyse, find information within and generate information about PL/SQL applications through the use of Oracle-supplied packages and data dictionary views. Use the supplied packages and dictionary views to find coding information Determine identifier types and usages with PL/Scope Use the DBMS_METADATA package to obtain metadata from the data dictionary as XML or creation DDL that can be used to recreate the objects Find coding information Use PL/Scope Use DBMS_METADATA Lesson 11: Profiling and Tracing PL/SQL Code This lesson demonstrates how to write PL/SQL routines that trace PL/SQL program execution and profile PL/SQL applications. Trace PL/SQL program execution Profile PL/SQL applications Profiling and Tracing PL/SQL Code Lesson 12: Implementing Fine-Grained Access Control for VPD This lesson describes the security features in the Oracle Database from an application developer's point of view. Describe the process of fine-grained access control Implement and test fine-grained access control Creating an application context Creating a policy Creating a logon trigger Implementing a virtual private database Testing the virtual private database Lesson 13: Safeguarding Your Code against SQL Injection Attacks This lesson describes the usage of various techniques and tools to strengthen your code and applications against SQL injection attacks.
Describe SQL injections Reduce attack surfaces Use DBMS_ASSERT Safeguarding Your Code Against SQL Injection Attacks Associated Certifications & Exam This course prepares students to write Exam(s): 1Z0-146 Oracle Database 11g Advanced PL/SQL Accredited to certification(s): Oracle Advanced PL/SQL Developer Certified Professional