Use PL/SQL to automate standards compliance. Lewis Cunningham Data Architect and ACE Director

Similar documents
Guarantee Application Success Steven Feuerstein PL/SQL Evangelist, Quest Software

Impact Analysis with PL/Scope

Developer. 1 enterprise. Professional Guide. Oracle Advanced PL/SQL. example questions for 1Z0-146 examination

Database Programming with PL/SQL

ORACLE DATABASE 12C INTRODUCTION

Introduction p. 1 The Logical and Physical View of Tables p. 1 Database Types p. 4 NULLs p. 6 DDL and DML Statements p. 7 Column and Table Constraint

Analyzing PL/SQL Code. 2010, Oracle and/or its affiliates. All rights reserved.

Oracle Database 12c: Program with PL/SQL Duration: 5 Days Method: Instructor-Led

Implement a virtual private database with fine-grained access control. Write code to interface with external C and Java applications.

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Ed 2

ORACLE PL/SQL PERFORMANCE TUNING TIPS & TECHNIQUES BY MICHAEL ROSENBLUM, PAUL DORSEY

Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days

Conditionally control code flow (loops, control structures). Create stored procedures and functions.

Oracle. Exam Questions 1Z Oracle 11g: Advanced PL/SQL. Version:Demo. 1Z0-146 Exam Questions Demo

ORACLE TRAINING CURRICULUM. Relational Databases and Relational Database Management Systems

1Z0-101 develop pl/sql program units

Oracle - Oracle Database: Program with PL/SQL Ed 2

Question: Which statement would you use to invoke a stored procedure in isql*plus?

Oracle PLSQL Training Syllabus

Constructs in Oracle

JPexam. 最新の IT 認定試験資料のプロバイダ IT 認証であなたのキャリアを進めます

5. Single-row function

Oracle Database: Introduction to SQL/PLSQL Accelerated

Oracle Database 11g: Program with PL/SQL

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle Database 11g: Program with PL/ SQL. Version: Demo

Oracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL]

Oracle Database: Program with PL/SQL

Reconciling APEX and the Thick Database Paradigm

Oracle Developer Track Course Contents. Mr. Sandeep M Shinde. Oracle Application Techno-Functional Consultant

Introduction to SQL/PLSQL Accelerated Ed 2

Oracle Database 11g: Program with PL/SQL Release 2

Get Oracle Schema Ddl Syntax With Dbms_metadata

Contents I Introduction 1 Introduction to PL/SQL iii

Greens Technology s Contact :

When a database trigger routine does not have to take place before the triggering event, which timing should you assign to the trigger?

using PL/SQL and APEX

Oracle Database Administration

ORACLE TRAINING. ORACLE Training Course syllabus ORACLE SQL ORACLE PLSQL. Oracle SQL Training Syllabus

Oracle Database 11g: Advanced PL/SQL

CHAPTER. Oracle Database 11g Architecture Options

IZ0-144Oracle 11g PL/SQL Certification (OCA) training

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time

Advanced Oracle Troubleshooting Live Session. Randolf Geist

Sql Server Check If Global Temporary Table Exists

Oracle PLSQL. Course Summary. Duration. Objectives

Business Analytics in the Oracle 12.2 Database: Analytic Views. Event: BIWA 2017 Presenter: Dan Vlamis and Cathye Pendley Date: January 31, 2017

Table of Contents. PDF created with FinePrint pdffactory Pro trial version

Table of Contents. Oracle SQL PL/SQL Training Courses

Proje D2K. CMM (Capability Maturity Model) level Project Standard:- Corporate Trainer s Profile

Oracle12c Release 1 PL/SQL (3 Days)

ADVANTAGES. Via PL/SQL, all sorts of calculations can be done quickly and efficiently without use of Oracle engine.

Now, we can refer to a sequence without having to use any SELECT command as follows:

CO Oracle Database 12c: Advanced PL/SQL

Oracle Database 11g: SQL Tuning Workshop

Oracle and Toad Course Descriptions Instructor: Dan Hotka

Pl Sql Copy Table From One Schema To Another

Oracle 11G: SQL By Joan Casteel

SQL+PL/SQL. Introduction to SQL

Alter Change Default Schema Oracle Sql Developer

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle 1z z0-146 Oracle Database 11g: Advanced PL/SQL. Practice Test. Version QQ:

Oracle 1z Oracle 1z0-101 Develop pl/ sql program units. Practice Test. Version

Oracle Sql Describe Schema Query To Find Table

Oracle 1Z Oracle9i: Program with PL/SQL. Download Full Version :

PART I Core Ideas and Elements of PL/SQL Performance Tuning

ORACLE PL/SQL DATABASE COURSE

Exam Name: Develop pl/sql program units

Gather Schema Statistics Oracle 10g Examples

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://

Projects. Corporate Trainer s Profile. CMM (Capability Maturity Model) level Project Standard:- TECHNOLOGIES

Vendor: Oracle. Exam Code: 1Z Exam Name: Oracle database 11g:advanced pl/sql. Version: Demo

Oracle SQL & PL SQL Course

PHP for PL/SQL Developers. Lewis Cunningham JP Morgan Chase

Data Tracking: On the Hunt for Information About Your System

Thank you for joining us for today s webinar:

Oracle Database 10g: Advanced PL/SQL

Ryan Stephens. Ron Plew Arie D. Jones. Sams Teach Yourself FIFTH EDITION. 800 East 96th Street, Indianapolis, Indiana, 46240

Three Simple Steps to Improving PL/SQL Code Quality

Oracle PL/SQL. DUMmIES. by Michael Rosenblum and Dr. Paul Dorsey FOR

CS Exam 1 Review Suggestions - Spring 2017

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)

Entity Services in Action with NISO STS

SEF DATABASE FOUNDATION ON ORACLE COURSE CURRICULUM

Users Schemas Size Oracle Difference Between

Do-It-Yourself Data Migration

Sql Server Compare Two Tables To Find Differences

<Insert Picture Here> Oracle SQL Developer: PL/SQL Support and Unit Testing

Sunil G. Singh Bill Caulkins. DBMS Consulting October 2009 Life Sciences HUB Focus Group Session 24

Oracle 9i Application Development and Tuning

Troubleshooting Oracle PL/SQL with DBMS_PROFILER and DBMS_UTILITY. John Mullins

Course Details Duration: 3 days Starting time: 9.00 am Finishing time: 4.30 pm Lunch and refreshments are provided.

Update Table Schema Sql Server 2008 Add Column After

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting

Oracle Database 11g : Performance Tuning DBA Release2

Oracle Database: Program with PL/SQL Ed 2 Erlernen Sie diese leistungsstarken Programmiersprache

Introduction to Computer Science and Business

Business Analytics. SQL PL SQL [Oracle 10 g] P r i n c e S e t h i w w w. x l m a c r o. w e b s. c o m

Independent consultant. Oracle ACE Director. Member of OakTable Network. Available for consulting In-house workshops. Performance Troubleshooting

Oracle EXAM - 1Z Oracle Database 11g: Program with PL/SQL. Buy Full Product.

Transcription:

Use PL/SQL to automate standards compliance Lewis Cunningham Data Architect and ACE Director

Introduction Oracle ACE Director Author Consultant Data Architect Blogger, An Expert's Guide to Oracle Technology 2

My books

Authors John Beresniewicz, Adrian Billington, Martin Buchi, Melanie Caffery, Ron Crisco, Lewis Cunningham, Dominic Delmolino, Sue Harper, Torben Holm, Connor McDonald, Arup Nanda, Stephan Petit, Michael Rosenblum, Robyn Sands, Riyaj Shamsudeen

Standards and Compliance Standards Coding Standards Naming Standards Performance Standards Testing Standards Compliance Code Reviews Test Scripts and Results

Source Code Analysis Static Analysis What you know at compile time Dynamic Analysis What you learn from running the code Instrumentation What you should make your code tell you

When to analyze 2 AM on the day before vacation? After implementation? After testing? After coding? During Coding? I vote for during coding.

Know Your Code Data Dictionary - Static PL/Scope - Static Profilers - Dynamic Source Code Static Logging - Instrumentation

The Data Dictionary USER_SOURCE ALL_SOURCE DBA_SOURCE Viewable source code Manual Code Reviews

The Data Dictionary USER_DEPENDENCIES ALL_DEPENDENCIES DBA_DEPENDENCIES View dependencies between code and database objects (including other code units) Who calls who

The Data Dictionary USER_PROCEDURES ALL_PROCEDURES DBA_PROCEDURES View information about code (aggregate, deterministic) Identify program units in packages and type bodies

The Data Dictionary USER_ARGUMENTS ALL_ARGUMENTS DBA_ARGUMENTS View argument names and data types Used with user_procedures it is a starting point for automated code reviews Naming Data Types

The Data Dictionary USER_TYPES and USER_TYPE_METHODS ALL_TYPES and ALL_TYPE_METHODS DBA_TYPES and DBA_TYPE_METHODS Combine with USER_PROCEDURES and USER_ARGUMENTS for information about types For reviewing code related to types

The Data Dictionary PL/Scope USER_IDENTIFIERS ALL_IDENTIFIERS DBA_IDENTIFIERS Everything discussed and more Great for Automating Code Reviews

PL/Scope Introduced in 11g Need to turn it on for it to work SQL Developer turns it on for you SQL*Plus: ALTER SESSION SET PLSCOPE_SETTINGS = 'IDENTIFIERS:ALL'; Compile the code

PL/Scope Works with identifiers Almost everything is an identifier Data types and subtypes used (including collections) Cursors and ref cursors Procedures Functions Packages and package bodies Triggers Object types and type bodies Parameters Function return values Variables, iterators, constants Exceptions Synonyms

PL/Scope Data Gathered on every Declaration procedures, variables, etc Definition the implementation of an identifier (such as a procedure within a package) Assignment Reference Calls

PL/Scope Can validate naming standards of variables as well as parameters Identifies scoping issues Change impact analysis Find unused identifiers Validate data types

Dynamic Analysis DBMS_PROFILER Code Profiling Timing between calls DBMS_TRACE Code Call Context Who called who DBMS_HPROF Code profiling and context

Dynamic Analysis Run a baseline profile Save timings Run a new profile after changes are made Can be mostly automated Validate the original timings and only worry if later times go beyond defined criteria

Code Coverage Make sure all executable lines are executed during testing Doesn't validate the logic, just makes sure the line was run Proves that for a certain scenario, the code will execute successfully Does not prove that the code is correct Does not prove that the code will execute correctly for a different data set

Code Coverage Combines Static Analysis with Dynamic Analysis Static analysis (PL/Scope) knows what lines are executable Dynamic Analysis shows what actually is executed Subtract dynamic from static and what s left are those lines of code not executed

Code Coverage Code Coverage is not 100% Doesn't account for all lines of SQL (because PL/Scope doesn't track SQL) I'm hoping for additional information from PL/Scope in the future

Summary Create standards Follow standards Test for standards compliance Automate when possible Be creative with the data dictionary

Buy the book

Use PL/SQL to automate standards compliance Lewis Cunningham Data Architect and ACE Director