Skip to main content

PL/SQL at Oracle Open World 2016

If you work with PL/SQL, you will not want to miss any of these sessions:

Sunday, Sep 18, 8:00 a.m. | Moscone West—2010
The Best Oracle Database 12c New Features for Developers and DBAs [UGF2028]

Alex Zaballa,  Senior Oracle Database Administrator,  Accenture Enkitec Group

This presentation looks at which new features of Oracle Database 12c are the most interesting to DBAs and developers. If you want to get up to speed with the most current release of Oracle Database, this session is for you. The session includes examples to show the functionality of the new features: • Multitenant • In-memory • SQL query row limits and offsets • Invisible columns • Approximate count distinct • PL/SQL from SQL • Session-level sequences • Session private statistics for GTT • Temporary undo • Multiple indexes on the same set of columns • SQL*Loader Express • Limit the PGA • Statistics during loads • Partial indexes for partitioned tables • Full database caching • Oracle Recovery Manager table recovery • Identity columns • In-database archiving

Sunday, Sep 18, 10:30 a.m. | Moscone West—3024
The Hidden Face of the Cost Based Optimizer: PL/SQL-Specific Statistics [UGF2781]

Michael Rosenblum,  Software Architect/Senior DBA,  Dulcian Inc

Database statistics are not limited to tables, columns, and indexes. PL/SQL functions also have a number of associated statistics, namely costs (CPU, I/O, network), selectivity, and cardinality (for functions that return collections). These statistics have default values that only somewhat represent reality. However, these values are always used by Oracle's cost-based optimizer to build execution plans. This session uses real-life examples to illustrate how properly managed PL/SQL statistics can significantly improve executions plans. It also demonstrates that Oracle's extensible optimizer is flexible enough to support packaged functions.

Sunday, Sep 18, 1:00 p.m. | Moscone South—302
A Holistic Approach to Database Security [UGF2210]

Robert Lockard,  President,  oraclewizard

This session features a discussion on defining the attack surface and what attack vectors are relevant to each node on the attack surface. Learn the concept of exploiting different nodes on the system, how attack vectors change for nodes, and mitigation changes for nodes. Discover the trusted path concept and how to apply mitigation to points along the trusted path to protect data. This session presents four things the DBA and developer can do now to secure the database environment. It also takes a piece of PL/SQL that is subject to SQL injection and moves through securing the code using Oracle Database 12cfeatures and separating the data from the application code.

Sunday, Sep 18, 3:30 p.m. | Moscone South—306
The Five Ways of Building Oracle Applications [UGF4313]

Sten Vesterli,  Principal,  More Than Code

This session examines all the most important development tools and technologies available from Oracle today, discussing the strong and weak points of Oracle Forms (the classical Oracle development tool, PL/SQL logic), Oracle Application Development Framework (declarative development with Oracle JDeveloper, Java business logic), Oracle Application Express (declarative development in web browser, PL/SQL business logic), JavaScript Extension Framework (brand-new JavaScript-based framework for building the user interface layer), and Oracle Mobile Application Framework (specialized Oracle Application Development Framework-like tool for mobile applications, generating native iOS, Android, and Windows applications). The presentation also includes recommendations for how to choose the right tool.

Sunday, Sep 18, 3:30 p.m. | Moscone South—310
Oracle Database 12c PL/SQL Basics and Tuning for DBAs [UGF1841]

Marcelle Kratochvil,  CIO / CTO,  Piction

It is tempting for DBAs to confine their knowledge set to database management and tuning while maintaining a belief that development of applications should be left only to developers. But this is a dangerous view; a DBA unskilled in PL/SQL is an ineffective one. This lack of skill helps foster a divisive culture likely resulting in poor development practices and security holes. This session is designed for the skilled DBA who has minimal knowledge on PL/SQL. It covers the basics of how PL/SQL is used, how to review code for security issues, and methods for efficiently tuning it.

Monday, Sep 19, 4:15 p.m. | Park Central—Metropolitan II
Querying Oracle Table from Hadoop/Hive and Querying Hadoop/HDFS from PL/SQL [CON6359]

Kuassi Mensah,  Director, Product Management,  Oracle
Nicholas Van Wyen,  Programmer / Developer,  Metasystems Technologies Inc.
This session explores the integration and offloading possibilities of an existing Oracle and Hadoop infrastructure, which are accessible today. It begins by describing Oracle Table Access for Hadoop, which turns Oracle Database tables into Hadoop data sources, allowing big data (facts) to be combined with master data (i.e., products, customers, in Oracle Database) using Hive SQL or Spark-SQL. Moving large data sets to Hadoop complicates applications, SQL queries, and PL/SQL. The session then explains how to move Terabytes of cold data over to Hadoop/Hive but continue to access them as native Oracle RDBMS objects that can be queried through your current applications without code changes.

Monday, Sep 19, 5:30 p.m. | Moscone South—302
What's New in PL/SQL and EBR in Oracle Database 12c Release 2 [CON6145]

Bryn Llewellyn,  Distinguished Product Manager, Database Division,  Oracle

Oracle Database 12c Release 2 brings important improvements to the PL/SQL language, the tools that support it, and edition-based redefinition. In this session learn how a PL/SQL static expression can be used where before a literal value was required, how built-in functions support the conversion of a PL/SQL variable to its JavaScript Object Notation representation and vice versa, and how a brand new code coverage tool helps developers prove that their tests are thorough. Also covered is how PL/Scope reports the identifiers used in static SQL and whether it selects, inserts, updates, or deletes; how one session can request that another connects to the GUI debugger; and how ad hoc SQL is allowed when halted at a breakpoint. Attendees also learn how the ease of use of EBR is improved.

Tuesday, Sep 20, 6:15 p.m. - 7:00 p.m. | Moscone South—307
Ask Tom Live with Chris Saxon and Connor McDonald [MTE7199]

Connor Mcdonald, Developer Advocate for SQL, Oracle
Chris Saxon, Developer Advocate for SQL, Oracle

When it comes to Oracle Database, the most popular and highly regarded source of advice is Ask Tom (asktom.oracle.com). For years, the legendary Tom Kyte answered any and all questions, and hosted vigorous discussions on all aspects of development on Oracle Database. These days, Chris Saxon and Connor McDonald of the Oracle Database Developer Advocates team carry on the tradition. So if you've got questions or want to hear what's it like to be on the AskTom team, or just hear about some of the strange and funny things we've been asked, don't miss this session.

Wednesday, Sep 21, 1:30 p.m. | Moscone South—303
Optimizing PL/SQL for Performance and Maintainability [CON6556]

Steven Feuerstein,  Oracle Database Developer Advocate for PL/SQL, Oracle,  Oracle
Bryn Llewellyn,  Distinguished Product Manager, Database Division,  Oracle
Connor Mcdonald,  Developer Advocate for SQL,  Oracle
Michael Rosenblum,  Software Architect/Senior DBA,  Dulcian Inc
Chris Saxon,  Developer Advocate for SQL,  Oracle

After fully leveraging SQL in your Oracle Database applications, it’s time to completely utilize PL/SQL to implement business rules, create APIs on top of your data structures, and implement key processes within the database. Usually when developers think about optimization, they focus on performance, and this session does, too. But it’s also critical to think about how to write code today, so that tomorrow and years from now, future developers will be able to adapt that code to changing user requirements and database features. Join the panel for an hour of thought-provoking discussion, plus lots of Q&A.

Thursday, Sep 22, 10:45 a.m. | Moscone South—103
Thinking Clearly About Database Application Architecture [CON6491]

Gerald Venzl,  Principal Product Manager,  Oracle
Bryn Llewellyn,  Distinguished Product Manager, Database Division,  Oracle
Connor Mcdonald,  Developer Advocate for SQL,  Oracle
Toon Koppelaars,  Consulting Member of Technical Staff, Real World Performance Group,  Oracle
Cary Millsap,  Infrastructure Principal Director,  Accenture Enkitec Group

The panelists strive to deserve their “Database Scientist” informal job titles by drawing their understanding of the correctness, security, and performance properties of applications that use Oracle Database from the data that proactive, empirical investigation yields. Like all scientists, they appreciate that future experiments might prompt the modification of current understanding. With this ordinary caveat, they confidently promote the understanding born of the current corpus of evidence: that the optimal database architecture starts with a carefully designed data model, manipulated by humanly composed SQL, encapsulated in PL/SQL. Come to hear them present their evidence. Challenge them with your own. They love a feisty debate.

Thursday, Sep 22, 9:30 a.m. | Park Central—Concordia
Database-Centric APIs on the Cloud Using PL/SQL and Node.js [CON3153]

Lucas Jellema,  Unspecified,  AMIS Services BV
Paco van der Linden,  Principal Consultant,  AMIS

APIs are crucial in today's IT landscape. Enabling REST services to read and manipulate data in formats easily accessible by a wide range of consumers is a key objective. This session shows how Oracle Database can play a key role in offering such APIs. Using a combination of PL/SQL packages (using rich SQL, JavaScript Object Notation, and user-defined types) and a Node.js application with the Node Oracle Database driver, it's quite straightforward. This combination runs on-premises and just as easily on the Oracle's database-as-a-service and platform-as-a-service solutions. Demos illustrate the development and deployment on the cloud of such APIs. Expect some advanced SQL and PL/SQL and a quick introduction into Node.js.

Thursday, Sep 22, 12:00 p.m. | Marriott Marquis—Salon 10/11
PL/SQL Programming for .NET Developers: Tips, Tricks, and Debugging [CON6612]

Christian Shay,  Product Manager - .NET and Windows Technologies,  Oracle

.NET and Oracle programmers frequently work with PL/SQL, whether that means setting up a call to a stored procedure from a .NET program, executing a PL/SQL anonymous block, or writing and debugging PL/SQL stored procedure code. This session looks at leveraging PL/SQL from the point of view of a .NET developer and provides in-depth tips about how to configure and use the tightly integrated PL/SQL debugger in Visual Studio.







Comments

  1. Hello Steven,

    A very attractive schedule indeed :):)

    If I am allowed a personal suggestion, I think that it would be very nice from Oracle's side if they would "pick up the glove"
    thrown by KScope16 and make some of these sessions available
    online, for the sake of the huge Oracle community members
    who are not lucky enough to be able to attend Oracle World
    on the site.

    I dare say that, with its strong leading world position
    among all software companies, Oracle can allow itself
    to reward this way the fidelity of the Oracle community members,
    who are in fact those who "keep the show going" :) :) :)

    Thanks a lot & Best Regards,
    Iudith

    ReplyDelete
    Replies
    1. That is an excellent point and while I don't think we will see any changes this year, I have reason to believe that future Oracle conferences will move in this direction.

      Delete
    2. An excellent suggestion if I may say so! :)

      Delete
  2. Which session are you presenting this year, Mr. SF?

    ReplyDelete
    Replies
    1. I am presenting on this panel:

      Optimizing PL/SQL for Performance and Maintainability [CON6556]
      Wednesday, Sep 21, 1:30 p.m. | Moscone South—303

      But that is all for formal presentations. OOW has a very limited number of presentation slots for our technologies. This year we are prioritizing giving everyone plenty of access to our new Ask Tom Answer Team: Chris Saxon and Connor McDonald.

      Delete

Post a Comment

Popular posts from this blog

Running out of PGA memory with MULTISET ops? Watch out for DISTINCT!

A PL/SQL team inside Oracle made excellent use of nested tables and MULTISET operators in SQL, blending data in tables with procedurally-generated datasets (nested tables).  All was going well when they hit the dreaded: ORA-04030: out of process memory when trying to allocate 2032 bytes  They asked for my help.  The error occurred on this SELECT: SELECT  *    FROM header_tab trx    WHERE (generated_ntab1 SUBMULTISET OF trx.column_ntab)       AND ((trx.column_ntab MULTISET             EXCEPT DISTINCT generated_ntab2) IS EMPTY) The problem is clearly related to the use of those nested tables. Now, there was clearly sufficient PGA for the nested tables themselves. So the problem was in executing the MULTISET-related functionality. We talked for a bit about dropping the use of nested tables and instead doing everything in SQL, to avoid the PGA error. That would, however require lots of work, revamping algorithms, ensuring correctness, you know the score. Then my eyes snagge

How to Pick the Limit for BULK COLLECT

This question rolled into my In Box today: In the case of using the LIMIT clause of BULK COLLECT, how do we decide what value to use for the limit? First I give the quick answer, then I provide support for that answer Quick Answer Start with 100. That's the default (and only) setting for cursor FOR loop optimizations. It offers a sweet spot of improved performance over row-by-row and not-too-much PGA memory consumption. Test to see if that's fast enough (likely will be for many cases). If not, try higher values until you reach the performance level you need - and you are not consuming too much PGA memory.  Don't hard-code the limit value: make it a parameter to your subprogram or a constant in a package specification. Don't put anything in the collection you don't need. [from Giulio Dottorini] Remember: each session that runs this code will use that amount of memory. Background When you use BULK COLLECT, you retrieve more than row with each fetch,

Quick Guide to User-Defined Types in Oracle PL/SQL

A Twitter follower recently asked for more information on user-defined types in the PL/SQL language, and I figured the best way to answer is to offer up this blog post. PL/SQL is a strongly-typed language . Before you can work with a variable or constant, it must be declared with a type (yes, PL/SQL also supports lots of implicit conversions from one type to another, but still, everything must be declared with a type). PL/SQL offers a wide array of pre-defined data types , both in the language natively (such as VARCHAR2, PLS_INTEGER, BOOLEAN, etc.) and in a variety of supplied packages (e.g., the NUMBER_TABLE collection type in the DBMS_SQL package). Data types in PL/SQL can be scalars, such as strings and numbers, or composite (consisting of one or more scalars), such as record types, collection types and object types. You can't really declare your own "user-defined" scalars, though you can define subtypes  from those scalars, which can be very helpful from the p