SlideShare uma empresa Scribd logo
1 de 35
EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES
PL/SQL Tips & Techniques Part II
Scott Walz | Embarcadero Director of Software Consultants
Dan Hotka |Author & Instructor |Oracle Ace Director
EMBARCADERO TECHNOLOGIES
PL/SQL Tips and Techniques
• Rapid SQL
– PL/SQL Templates
• Read my blogs
– Live demo of using the Result Cache!
• PL/SQL Tips
– Packages
– Compiler Options
• PL/SQL Limits
• Includes some useful performance Tips for Functions
EMBARCADERO TECHNOLOGIES
Recap: PL/SQL Tips and Techniques Part 1
• PL/SQL Architecture
• PL/SQL IF-THEN-ELSE and CASE
• Profiler
• Debugger
• Introduction to Result_Cache
Why do we
use PL/SQL?
EMBARCADERO TECHNOLOGIES
PL/SQL Overview
• Procedure
– Does processing
– Returns a code that the work was successful or not
– May or may not be passed values
– May or may not return values
• Functions
– Similar to Procedure EXCEPT it does return a value!
• Packages
– Grouping related procedures and functions
– Can share cursors/work areas
– Code inheritance
– When one module is accessed…entire package is loaded into Oracle
EMBARCADERO TECHNOLOGIES
Packages
• Packages
– Organizing related procedures and functions
– Allows for sharing of resources
– Allows for overloading of procedures/functions
• Can have a varchar2 or a date function with same name
– Can be used to hide code
– Read into the library cache as a unit
• Packages can be pinned in the library cache
EMBARCADERO TECHNOLOGIES
Packages
• Packages have 2 parts:
– Specification (or header)
• Defines the package name
• Declares the visible packages and procedures
• Defines the common variables, exceptions, types, and cursors to
be shared by objects in the package
– Body
• Contains PRAGMA declarations
• Contains all procedures and functions
– Procedures and functions NOT listed in the spec are ‘private’, used
only in this package, code is not easily visible
– Public procedures/functions are displayed via DESCRIBE
EMBARCADERO TECHNOLOGIES
Packages
• Syntax: CREATE [or replace] PACKAGE <pkg name>
[AUTHID {DEFINER | CURRENT_USER }]
IS <proc/functions by name IN OUT vars>
[PRAGMA Declarations]
END;
CREATE [or replace] PACKAGE BODY <same pkg name>
IS <proc/functions by name IN OUT vars with code>
<object, exception, variables, cursors>
[PRAGMA Declarations]
END <same pkg name>;
EMBARCADERO TECHNOLOGIES
Packages
• Pragma Declarations
– Compiler directives
– Autonomous Transactions
• Run in separate transaction
• Declared only in the package body
– Serially_Reusable
• Reset global/public variables back to initial state
• Declared in both the package spec and body
EMBARCADERO TECHNOLOGIES
Packages
EMBARCADERO TECHNOLOGIES
Package Body
EMBARCADERO TECHNOLOGIES
Package Body (continued)
EMBARCADERO TECHNOLOGIES
Package Body (continued)
• Optional Block
– BEGIN appears after all other definitions (at the end of the
package body)
– Used to load arrays, perform package startup-tasks, etc
EMBARCADERO TECHNOLOGIES
Package Body (continued)
. . .
FUNCTION fahrenheit_to_celsius (IN_Temp NUMBER)
RETURN NUMBER IS
. . .
END fahrenheit_to_celsius;
BEGIN
var1 := 1;
var2 := 2;
END temperature;
/
EMBARCADERO TECHNOLOGIES
Packages
EMBARCADERO TECHNOLOGIES
Rapid SQL and Packages
• Templates!
– Right Click on Package…opens both
– Edit  Create Package …basic syntax
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
• IF same function called with same in_vars
• Enhances Oracle8i thru Oracle10 DETERMINISTIC
• SQL with /*+ RESULT_CACHE */ hint
• Function with RESULT CACHE syntax
– RELIES_ON (table1, table2, …) – optional table DML check
• Deprecated in Oracle11r2
• First result cache returned instead of rerunning the function/SQL!
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
• Results stored in the SGA (Result Cache Memory)
• Any session running the function/SQL can benefit!
– * Enterprise Edition of Oracle
• Good for any table that is queried more than it is updated
– Result Cache is flushed with an update
Poll Question: Do you use functions? Would this be of use to you?
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
• Query Result Cache Sizing and
Monitoring
– Sizing via Init.Ora settings:
• RESULT_CACHE_MAX_SIZE
– 0 disables it
– Size in bytes in increments of 32K [num
G | M | K ]
– Initially defaults to 10% Shared Pool Size
• RESULT_CACHE_MAX_RESULT
– 0 – 100
– Percentage of
RESULT_CACHE_MAX_SIZE single result
can take
– Dynamic performance views:
• V$RESULT_CACHE_STATISTICS
• V$RESULT_CACHE_MEMORY
• V$RESULT_CACHE_OBJECTS
• V$RESULT_CACHE_DEPENDENCY
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
• RESULT_CACHE from function calls
– IF same function called with same in_vars
– First result cache returned instead of rerunning the function!
– Results stored in the SGA…any session running the function can
benefit!
SQL> create or replace function get_dname
(in_deptno number) return in_dname varchar2
RESULT_CACHE
As
…
SQL> select get_dname(10) DNAME from dual;
SQL>
DNAME
-----------
CHICAGO
SQL> Time: 00.00.01
SQL> select get_dname(10) DNAME from dual;
SQL>
DNAME
-----------
CHICAGO
SQL> Time: 00.00.00
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
First Execution
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
Next Execution
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
User1 - 5 executions
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
Dept Table Updated
Rt Click on DEPT Table
Edit Data
or
Generate Statement
 INSERT
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
User0 - 5 executions
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
• RESULT_CACHE from SQL
– IF same SQL ran from any session:
• First result cache returned instead of rerunning the SQL!
• Appears to work with bind variables
– Init.Ora settings:
• RESULT_CACHE_MODE [MANUAL | FORCE]
– Manual…must use RESULT_CACHE hint
– FORCE…always uses result cache unless NO_RESULT_CACHE used
USER1
SQL> select /*+RESULT_CACHE */ ename from emp;
SQL>
ENAME
-----------
SMITH
SQL> Time: 00.00.10
SQL>
USER2
SQL> select /*+RESULT_CACHE */ ename from emp;
SQL>
ENAME
-----------
SMITH
SQL> Time: 00.00.00
SQL>
EMBARCADERO TECHNOLOGIES
Oracle 11g Query Result Cache
Be careful out there!
– Make sure the SQL inside the function does not have other
dependencies
• Such as a SYSDATE or some other variable NOT passed in as an in
variable
• Can probably fix about ANY problem by putting the dependencies
as in variables!
EMBARCADERO TECHNOLOGIES
PL/SQL Limits
• PL/SQL Limits (Oracle11 and before)
– Program/Variable Name – 30 characters
– PL/SQL Block Nesting – 255
– Bind Variables passed – 32K
– Record Nesting – 32
– Record Limit – 64K
– Sub Query Nesting – 254
– Trigger size 32K
Memory Footprint:
Select * from USER_OBJECT_SIZE
Where NAME = ‘<procedure/function/package name>’;
EMBARCADERO TECHNOLOGIES
PL/SQL Limits
• PL/SQL
– Varchar2 – 32K
– Char – 32K
• IF selecting/saving to database fields
– Always specify a SIZE…
– Manage sizes with SUBSTR
– Change database data type to CLOB
– Unmanaged: Ora-12899: value too large for column
• SQL
– Varchar2 – 4000 bytes
– Char – 2000 bytes
EMBARCADERO TECHNOLOGIES
New Limits
• Increased column size limits in Oracle12
– IF MAX_STRING_SIZE = EXTENDED
• Varchar2 – new limit 32K
• NVarchar2 – new limit 32K
• RAW – new limit 32K
– MAX_STRING_SIZE = STANDARD (default behavior)
• Varchar2 –limit 4K
• NVarchar2 –limit 4K
• RAW – limit 2K
Oracle Database 12c New Features pg 228 - 229
EMBARCADERO TECHNOLOGIES
New Limits
Database Type Current Table Limit Current PL/SQL Limit Oracle12c New
Limit
Varchar2 4K 32K 32K
Nvarchar2 4K 32K 32K
Raw 2K 32K 32K
EMBARCADERO TECHNOLOGIES
New Limits
• New Oracle12 init.ora setting: Max_String_Size
– Set to EXTENDED
• Allows new limits
– Set to STANDARD
• Old limits used
– Indexes only support keys up to 6,400 bytes long
– THERE IS NO GOING BACK!!!
• Backup well/test then implement.
EMBARCADERO TECHNOLOGIES
Course Materials
• Additional Reading
– Book: Oracle12c Database
New Features
– Author: Robert Freeman
EMBARCADERO TECHNOLOGIES
Questions
34
EMBARCADERO TECHNOLOGIES
Thank you for attending!
Connect with us Online
35
Read Dan’s Blog
http://community.embarcadero.co
m/index.php/article/articles-
database
Take our word for
it & Try it out!
http://www.embarcadero.co
m/products/rapid-sql
Take our survey
The survey is posted in the
webinar chat window

Mais conteúdo relacionado

Mais procurados

Introduction to PL/SQL
Introduction to PL/SQLIntroduction to PL/SQL
Introduction to PL/SQLKailash N
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015Yury Velikanov
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesBiju Thomas
 
06 Using More Package Concepts
06 Using More Package Concepts06 Using More Package Concepts
06 Using More Package Conceptsrehaniltifat
 
Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)Kaunas Java User Group
 
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)Laurent Leturgez
 
Oracle Data Redaction
Oracle Data RedactionOracle Data Redaction
Oracle Data RedactionAlex Zaballa
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new featuresAlfredo Krieg
 
How oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 finalHow oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 finalAjith Narayanan
 
PL/SQL Fundamentals I
PL/SQL Fundamentals IPL/SQL Fundamentals I
PL/SQL Fundamentals INick Buytaert
 
oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...Nancy Thomas
 
All on Adaptive and Extended Cursor Sharing
All on Adaptive and Extended Cursor SharingAll on Adaptive and Extended Cursor Sharing
All on Adaptive and Extended Cursor SharingMohamed Houri
 
Oracle db subprograms
Oracle db subprogramsOracle db subprograms
Oracle db subprogramsSimon Huang
 
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBBest Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBMartin Grebac
 

Mais procurados (20)

Introduction to PL/SQL
Introduction to PL/SQLIntroduction to PL/SQL
Introduction to PL/SQL
 
Functional java 8
Functional java 8Functional java 8
Functional java 8
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
 
06 Using More Package Concepts
06 Using More Package Concepts06 Using More Package Concepts
06 Using More Package Concepts
 
ORACLE PL SQL
ORACLE PL SQLORACLE PL SQL
ORACLE PL SQL
 
Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)
 
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
Ukoug15 SIMD outside and inside Oracle 12c (12.1.0.2)
 
Oracle Data Redaction
Oracle Data RedactionOracle Data Redaction
Oracle Data Redaction
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new features
 
How oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 finalHow oracle 12c flexes its muscles against oracle 11g r2 final
How oracle 12c flexes its muscles against oracle 11g r2 final
 
Plsql guide 2
Plsql guide 2Plsql guide 2
Plsql guide 2
 
PL/SQL Fundamentals I
PL/SQL Fundamentals IPL/SQL Fundamentals I
PL/SQL Fundamentals I
 
oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...oracle plsql training | oracle online training | oracle plsql demo | oracle p...
oracle plsql training | oracle online training | oracle plsql demo | oracle p...
 
All on Adaptive and Extended Cursor Sharing
All on Adaptive and Extended Cursor SharingAll on Adaptive and Extended Cursor Sharing
All on Adaptive and Extended Cursor Sharing
 
Oracle db subprograms
Oracle db subprogramsOracle db subprograms
Oracle db subprograms
 
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBBest Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXB
 
Plsql les04
Plsql les04Plsql les04
Plsql les04
 
DBCC - Dubi Lebel
DBCC - Dubi LebelDBCC - Dubi Lebel
DBCC - Dubi Lebel
 
Java 9 sneak peek
Java 9 sneak peekJava 9 sneak peek
Java 9 sneak peek
 

Destaque

Congratulations, You’re a DBA... Now What?
Congratulations, You’re a DBA... Now What?Congratulations, You’re a DBA... Now What?
Congratulations, You’re a DBA... Now What?Embarcadero Technologies
 
In the Beginning, There Was the Log - Webinar with Martin Hubel
In the Beginning, There Was the Log - Webinar with Martin HubelIn the Beginning, There Was the Log - Webinar with Martin Hubel
In the Beginning, There Was the Log - Webinar with Martin HubelEmbarcadero Technologies
 
Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7Embarcadero Technologies
 
PL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar PresentationPL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar PresentationEmbarcadero Technologies
 
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...Embarcadero Technologies
 
Metadata Melodies Webinar with David Loshin Presentation
Metadata Melodies Webinar with David Loshin PresentationMetadata Melodies Webinar with David Loshin Presentation
Metadata Melodies Webinar with David Loshin PresentationEmbarcadero Technologies
 
The Future of ER/Studio: Better with Team Server
The Future of ER/Studio: Better with Team ServerThe Future of ER/Studio: Better with Team Server
The Future of ER/Studio: Better with Team ServerEmbarcadero Technologies
 
Embarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition OverviewEmbarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition OverviewEmbarcadero Technologies
 
7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data ModelingEmbarcadero Technologies
 
In Search of Plan Stability Part 2 with Karen Morton
In Search of Plan Stability Part 2 with Karen MortonIn Search of Plan Stability Part 2 with Karen Morton
In Search of Plan Stability Part 2 with Karen MortonEmbarcadero Technologies
 
Model Confidence for Master Data with David Loshin
Model Confidence for Master Data with David LoshinModel Confidence for Master Data with David Loshin
Model Confidence for Master Data with David LoshinEmbarcadero Technologies
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...Embarcadero Technologies
 
Find it. Fix it. Real-World SQL Tuning Cases with Karen Morton
Find it. Fix it. Real-World SQL Tuning Cases with Karen MortonFind it. Fix it. Real-World SQL Tuning Cases with Karen Morton
Find it. Fix it. Real-World SQL Tuning Cases with Karen MortonEmbarcadero Technologies
 

Destaque (20)

Congratulations, You’re a DBA... Now What?
Congratulations, You’re a DBA... Now What?Congratulations, You’re a DBA... Now What?
Congratulations, You’re a DBA... Now What?
 
These Are The Data You Are Looking For
These Are The Data You Are Looking ForThese Are The Data You Are Looking For
These Are The Data You Are Looking For
 
Data Architecture Success Stories
Data Architecture Success StoriesData Architecture Success Stories
Data Architecture Success Stories
 
RAD studio XE7 first look webinar
RAD studio XE7 first look webinarRAD studio XE7 first look webinar
RAD studio XE7 first look webinar
 
Secure Your Data Assets
Secure Your Data AssetsSecure Your Data Assets
Secure Your Data Assets
 
In the Beginning, There Was the Log - Webinar with Martin Hubel
In the Beginning, There Was the Log - Webinar with Martin HubelIn the Beginning, There Was the Log - Webinar with Martin Hubel
In the Beginning, There Was the Log - Webinar with Martin Hubel
 
Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7Improve Agility and Collaboration with ER/Studio XE7
Improve Agility and Collaboration with ER/Studio XE7
 
PL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar PresentationPL/SQL Tips and Techniques Webinar Presentation
PL/SQL Tips and Techniques Webinar Presentation
 
Working With Different Kinds of Data
Working With Different Kinds of DataWorking With Different Kinds of Data
Working With Different Kinds of Data
 
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
 
Metadata Melodies Webinar with David Loshin Presentation
Metadata Melodies Webinar with David Loshin PresentationMetadata Melodies Webinar with David Loshin Presentation
Metadata Melodies Webinar with David Loshin Presentation
 
The Future of ER/Studio: Better with Team Server
The Future of ER/Studio: Better with Team ServerThe Future of ER/Studio: Better with Team Server
The Future of ER/Studio: Better with Team Server
 
Embarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition OverviewEmbarcadero ER/Studio Enterprise Team Edition Overview
Embarcadero ER/Studio Enterprise Team Edition Overview
 
7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling
 
In Search of Plan Stability Part 2 with Karen Morton
In Search of Plan Stability Part 2 with Karen MortonIn Search of Plan Stability Part 2 with Karen Morton
In Search of Plan Stability Part 2 with Karen Morton
 
Managing a Multi-Platform Environment
Managing a Multi-Platform EnvironmentManaging a Multi-Platform Environment
Managing a Multi-Platform Environment
 
Model Confidence for Master Data with David Loshin
Model Confidence for Master Data with David LoshinModel Confidence for Master Data with David Loshin
Model Confidence for Master Data with David Loshin
 
Introducing ER/Studio Team Server
Introducing ER/Studio Team ServerIntroducing ER/Studio Team Server
Introducing ER/Studio Team Server
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
 
Find it. Fix it. Real-World SQL Tuning Cases with Karen Morton
Find it. Fix it. Real-World SQL Tuning Cases with Karen MortonFind it. Fix it. Real-World SQL Tuning Cases with Karen Morton
Find it. Fix it. Real-World SQL Tuning Cases with Karen Morton
 

Semelhante a Dan Hotka’s PL SQL Tips and Techniques, Part II

Dan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesDan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesEmbarcadero Technologies
 
Oracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuningOracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuningSmitha Padmanabhan
 
Exploring plsql new features best practices september 2013
Exploring plsql new features best practices   september 2013Exploring plsql new features best practices   september 2013
Exploring plsql new features best practices september 2013Andrejs Vorobjovs
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAiougVizagChapter
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2Alex Zaballa
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2Alex Zaballa
 
5. stored procedure and functions
5. stored procedure and functions5. stored procedure and functions
5. stored procedure and functionsAmrit Kaur
 
The Amazing and Elegant PL/SQL Function Result Cache
The Amazing and Elegant PL/SQL Function Result CacheThe Amazing and Elegant PL/SQL Function Result Cache
The Amazing and Elegant PL/SQL Function Result CacheSteven Feuerstein
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
Procedures/functions of rdbms
Procedures/functions of rdbmsProcedures/functions of rdbms
Procedures/functions of rdbmsjain.pralabh
 
POUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love youPOUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love youJacek Gebal
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG PresentationBiju Thomas
 
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!Performance Tuning Corporation
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG PresentationBiju Thomas
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Alex Zaballa
 
Bgoug 2019.11 test your pl sql - not your patience
Bgoug 2019.11   test your pl sql - not your patienceBgoug 2019.11   test your pl sql - not your patience
Bgoug 2019.11 test your pl sql - not your patienceJacek Gebal
 
Relational Database Management System
Relational Database Management SystemRelational Database Management System
Relational Database Management Systemsweetysweety8
 

Semelhante a Dan Hotka’s PL SQL Tips and Techniques, Part II (20)

Dan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesDan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New Features
 
Oracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuningOracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuning
 
Exploring plsql new features best practices september 2013
Exploring plsql new features best practices   september 2013Exploring plsql new features best practices   september 2013
Exploring plsql new features best practices september 2013
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
5. stored procedure and functions
5. stored procedure and functions5. stored procedure and functions
5. stored procedure and functions
 
Store programs
Store programsStore programs
Store programs
 
The Amazing and Elegant PL/SQL Function Result Cache
The Amazing and Elegant PL/SQL Function Result CacheThe Amazing and Elegant PL/SQL Function Result Cache
The Amazing and Elegant PL/SQL Function Result Cache
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
PoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expériencePoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expérience
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
Procedures/functions of rdbms
Procedures/functions of rdbmsProcedures/functions of rdbms
Procedures/functions of rdbms
 
POUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love youPOUG2019 - Test your PL/SQL - your database will love you
POUG2019 - Test your PL/SQL - your database will love you
 
2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation2008 Collaborate IOUG Presentation
2008 Collaborate IOUG Presentation
 
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
Migrating to Database 12c Multitenant - New Opportunities To Get It Right!
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation
 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
 
Bgoug 2019.11 test your pl sql - not your patience
Bgoug 2019.11   test your pl sql - not your patienceBgoug 2019.11   test your pl sql - not your patience
Bgoug 2019.11 test your pl sql - not your patience
 
Relational Database Management System
Relational Database Management SystemRelational Database Management System
Relational Database Management System
 

Mais de Embarcadero Technologies

PyTorch for Delphi - Python Data Sciences Libraries.pdf
PyTorch for Delphi - Python Data Sciences Libraries.pdfPyTorch for Delphi - Python Data Sciences Libraries.pdf
PyTorch for Delphi - Python Data Sciences Libraries.pdfEmbarcadero Technologies
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Embarcadero Technologies
 
Linux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxLinux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxEmbarcadero Technologies
 
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Embarcadero Technologies
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxEmbarcadero Technologies
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionEmbarcadero Technologies
 
RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationEmbarcadero Technologies
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbarcadero Technologies
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentEmbarcadero Technologies
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarEmbarcadero Technologies
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidEmbarcadero Technologies
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureEmbarcadero Technologies
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesEmbarcadero Technologies
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsEmbarcadero Technologies
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Embarcadero Technologies
 

Mais de Embarcadero Technologies (20)

PyTorch for Delphi - Python Data Sciences Libraries.pdf
PyTorch for Delphi - Python Data Sciences Libraries.pdfPyTorch for Delphi - Python Data Sciences Libraries.pdf
PyTorch for Delphi - Python Data Sciences Libraries.pdf
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
 
Linux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxLinux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for Linux
 
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for Linux
 
Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 Introduction
 
RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and Instrumentation
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup Document
 
TMS Google Mapping Components
TMS Google Mapping ComponentsTMS Google Mapping Components
TMS Google Mapping Components
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
 
Useful C++ Features You Should be Using
Useful C++ Features You Should be UsingUseful C++ Features You Should be Using
Useful C++ Features You Should be Using
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and Android
 
Embarcadero RAD server Launch Webinar
Embarcadero RAD server Launch WebinarEmbarcadero RAD server Launch Webinar
Embarcadero RAD server Launch Webinar
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data Architecture
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst Practices
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data Assets
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016
 

Último

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 

Último (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Dan Hotka’s PL SQL Tips and Techniques, Part II

  • 1. EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES PL/SQL Tips & Techniques Part II Scott Walz | Embarcadero Director of Software Consultants Dan Hotka |Author & Instructor |Oracle Ace Director
  • 2. EMBARCADERO TECHNOLOGIES PL/SQL Tips and Techniques • Rapid SQL – PL/SQL Templates • Read my blogs – Live demo of using the Result Cache! • PL/SQL Tips – Packages – Compiler Options • PL/SQL Limits • Includes some useful performance Tips for Functions
  • 3. EMBARCADERO TECHNOLOGIES Recap: PL/SQL Tips and Techniques Part 1 • PL/SQL Architecture • PL/SQL IF-THEN-ELSE and CASE • Profiler • Debugger • Introduction to Result_Cache Why do we use PL/SQL?
  • 4. EMBARCADERO TECHNOLOGIES PL/SQL Overview • Procedure – Does processing – Returns a code that the work was successful or not – May or may not be passed values – May or may not return values • Functions – Similar to Procedure EXCEPT it does return a value! • Packages – Grouping related procedures and functions – Can share cursors/work areas – Code inheritance – When one module is accessed…entire package is loaded into Oracle
  • 5. EMBARCADERO TECHNOLOGIES Packages • Packages – Organizing related procedures and functions – Allows for sharing of resources – Allows for overloading of procedures/functions • Can have a varchar2 or a date function with same name – Can be used to hide code – Read into the library cache as a unit • Packages can be pinned in the library cache
  • 6. EMBARCADERO TECHNOLOGIES Packages • Packages have 2 parts: – Specification (or header) • Defines the package name • Declares the visible packages and procedures • Defines the common variables, exceptions, types, and cursors to be shared by objects in the package – Body • Contains PRAGMA declarations • Contains all procedures and functions – Procedures and functions NOT listed in the spec are ‘private’, used only in this package, code is not easily visible – Public procedures/functions are displayed via DESCRIBE
  • 7. EMBARCADERO TECHNOLOGIES Packages • Syntax: CREATE [or replace] PACKAGE <pkg name> [AUTHID {DEFINER | CURRENT_USER }] IS <proc/functions by name IN OUT vars> [PRAGMA Declarations] END; CREATE [or replace] PACKAGE BODY <same pkg name> IS <proc/functions by name IN OUT vars with code> <object, exception, variables, cursors> [PRAGMA Declarations] END <same pkg name>;
  • 8. EMBARCADERO TECHNOLOGIES Packages • Pragma Declarations – Compiler directives – Autonomous Transactions • Run in separate transaction • Declared only in the package body – Serially_Reusable • Reset global/public variables back to initial state • Declared in both the package spec and body
  • 12. EMBARCADERO TECHNOLOGIES Package Body (continued) • Optional Block – BEGIN appears after all other definitions (at the end of the package body) – Used to load arrays, perform package startup-tasks, etc
  • 13. EMBARCADERO TECHNOLOGIES Package Body (continued) . . . FUNCTION fahrenheit_to_celsius (IN_Temp NUMBER) RETURN NUMBER IS . . . END fahrenheit_to_celsius; BEGIN var1 := 1; var2 := 2; END temperature; /
  • 15. EMBARCADERO TECHNOLOGIES Rapid SQL and Packages • Templates! – Right Click on Package…opens both – Edit  Create Package …basic syntax
  • 16. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache • IF same function called with same in_vars • Enhances Oracle8i thru Oracle10 DETERMINISTIC • SQL with /*+ RESULT_CACHE */ hint • Function with RESULT CACHE syntax – RELIES_ON (table1, table2, …) – optional table DML check • Deprecated in Oracle11r2 • First result cache returned instead of rerunning the function/SQL!
  • 17. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache • Results stored in the SGA (Result Cache Memory) • Any session running the function/SQL can benefit! – * Enterprise Edition of Oracle • Good for any table that is queried more than it is updated – Result Cache is flushed with an update Poll Question: Do you use functions? Would this be of use to you?
  • 18. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache • Query Result Cache Sizing and Monitoring – Sizing via Init.Ora settings: • RESULT_CACHE_MAX_SIZE – 0 disables it – Size in bytes in increments of 32K [num G | M | K ] – Initially defaults to 10% Shared Pool Size • RESULT_CACHE_MAX_RESULT – 0 – 100 – Percentage of RESULT_CACHE_MAX_SIZE single result can take – Dynamic performance views: • V$RESULT_CACHE_STATISTICS • V$RESULT_CACHE_MEMORY • V$RESULT_CACHE_OBJECTS • V$RESULT_CACHE_DEPENDENCY
  • 19. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache • RESULT_CACHE from function calls – IF same function called with same in_vars – First result cache returned instead of rerunning the function! – Results stored in the SGA…any session running the function can benefit! SQL> create or replace function get_dname (in_deptno number) return in_dname varchar2 RESULT_CACHE As … SQL> select get_dname(10) DNAME from dual; SQL> DNAME ----------- CHICAGO SQL> Time: 00.00.01 SQL> select get_dname(10) DNAME from dual; SQL> DNAME ----------- CHICAGO SQL> Time: 00.00.00
  • 21. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache First Execution
  • 22. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache Next Execution
  • 23. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache User1 - 5 executions
  • 24. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache Dept Table Updated Rt Click on DEPT Table Edit Data or Generate Statement  INSERT
  • 25. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache User0 - 5 executions
  • 26. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache • RESULT_CACHE from SQL – IF same SQL ran from any session: • First result cache returned instead of rerunning the SQL! • Appears to work with bind variables – Init.Ora settings: • RESULT_CACHE_MODE [MANUAL | FORCE] – Manual…must use RESULT_CACHE hint – FORCE…always uses result cache unless NO_RESULT_CACHE used USER1 SQL> select /*+RESULT_CACHE */ ename from emp; SQL> ENAME ----------- SMITH SQL> Time: 00.00.10 SQL> USER2 SQL> select /*+RESULT_CACHE */ ename from emp; SQL> ENAME ----------- SMITH SQL> Time: 00.00.00 SQL>
  • 27. EMBARCADERO TECHNOLOGIES Oracle 11g Query Result Cache Be careful out there! – Make sure the SQL inside the function does not have other dependencies • Such as a SYSDATE or some other variable NOT passed in as an in variable • Can probably fix about ANY problem by putting the dependencies as in variables!
  • 28. EMBARCADERO TECHNOLOGIES PL/SQL Limits • PL/SQL Limits (Oracle11 and before) – Program/Variable Name – 30 characters – PL/SQL Block Nesting – 255 – Bind Variables passed – 32K – Record Nesting – 32 – Record Limit – 64K – Sub Query Nesting – 254 – Trigger size 32K Memory Footprint: Select * from USER_OBJECT_SIZE Where NAME = ‘<procedure/function/package name>’;
  • 29. EMBARCADERO TECHNOLOGIES PL/SQL Limits • PL/SQL – Varchar2 – 32K – Char – 32K • IF selecting/saving to database fields – Always specify a SIZE… – Manage sizes with SUBSTR – Change database data type to CLOB – Unmanaged: Ora-12899: value too large for column • SQL – Varchar2 – 4000 bytes – Char – 2000 bytes
  • 30. EMBARCADERO TECHNOLOGIES New Limits • Increased column size limits in Oracle12 – IF MAX_STRING_SIZE = EXTENDED • Varchar2 – new limit 32K • NVarchar2 – new limit 32K • RAW – new limit 32K – MAX_STRING_SIZE = STANDARD (default behavior) • Varchar2 –limit 4K • NVarchar2 –limit 4K • RAW – limit 2K Oracle Database 12c New Features pg 228 - 229
  • 31. EMBARCADERO TECHNOLOGIES New Limits Database Type Current Table Limit Current PL/SQL Limit Oracle12c New Limit Varchar2 4K 32K 32K Nvarchar2 4K 32K 32K Raw 2K 32K 32K
  • 32. EMBARCADERO TECHNOLOGIES New Limits • New Oracle12 init.ora setting: Max_String_Size – Set to EXTENDED • Allows new limits – Set to STANDARD • Old limits used – Indexes only support keys up to 6,400 bytes long – THERE IS NO GOING BACK!!! • Backup well/test then implement.
  • 33. EMBARCADERO TECHNOLOGIES Course Materials • Additional Reading – Book: Oracle12c Database New Features – Author: Robert Freeman
  • 35. EMBARCADERO TECHNOLOGIES Thank you for attending! Connect with us Online 35 Read Dan’s Blog http://community.embarcadero.co m/index.php/article/articles- database Take our word for it & Try it out! http://www.embarcadero.co m/products/rapid-sql Take our survey The survey is posted in the webinar chat window