万本电子书0元读

万本电子书0元读

顶部广告

Advanced Oracle PL/SQL Developer's Guide - Second Edition电子书

售       价:¥

7人正在读 | 0人评论 9.8

作       者:Saurabh K. Gupta

出  版  社:Packt Publishing

出版时间:2016-02-15

字       数:356.0万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Master the advanced concepts of PL/SQL for professional-level certification and learn the new capabilities of Oracle Database 12cAbout This BookLearn advanced application development features of Oracle Database 12c and prepare for the 1Z0-146 examinationBuild robust and secure applications in Oracle PL/SQL using the best practicesPacked with feature demonstrations and illustrations that will help you learn and understand the enhanced capabilities of Oracle Database 12cWho This Book Is ForThis book is for Oracle developers responsible for database management. Readers are expected to have basic knowledge of Oracle Database and the fundamentals of PL/SQL programming. Certification aspirants can use this book to prepare for 1Z0-146 examination in order to be an Oracle Certified Professional in Advanced PL/SQL.What You Will LearnLearn and understand the key SQL and PL/SQL features of Oracle Database 12cUnderstand the new Multitenant architecture and Database In-Memory option of Oracle Database 12cKnow more about the advanced concepts of the Oracle PL/SQL language such as external procedures, securing data using Virtual Private Database (VPD), SecureFiles, and PL/SQL code tracing and profilingImplement Virtual Private Databases to prevent unauthorized data accessTrace, analyze, profile, and debug PL/SQL code while developing database applicationsIntegrate the new application development features of Oracle Database 12c with the current conceptsDiscover techniques to analyze and maintain PL/SQL codeGet acquainted with the best practices of writing PL/SQL code and develop secure applicationsIn DetailOracle Database is one of the most popular databases and allows users to make efficient use of their resources and to enhance service levels while reducing the IT costs incurred. Oracle Database is sometimes compared with Microsoft SQL Server, however, Oracle Database clearly supersedes SQL server in terms of high availability and addressing planned and unplanned downtime. Oracle PL/SQL provides a rich platform for application developers to code and build scalable database applications and introduces multiple new features and enhancements to improve development experience.Advanced Oracle PL/SQL Developer's Guide, Second Edition is a handy technical reference for seasoned professionals in the database development space. This book starts with a refresher of fundamental concepts of PL/SQL, such as anonymous block, subprograms, and exceptions, and prepares you for the upcoming advanced concepts. The next chapter introduces you to the new features of Oracle Database 12c, not limited to PL/SQL. In this chapter, you will understand some of the most talked about features such as Multitenant and Database In-Memory. Moving forward, each chapter introduces advanced concepts with the help of demonstrations, and provides you with the latest update from Oracle Database 12c context. This helps you to visualize the pre- and post-applications of a feature over the database releases. By the end of this book, you will have become an expert in PL/SQL programming and will be able to implement advanced concepts of PL/SQL for efficient management of Oracle Database.Style and approach The book follows the structure of the Oracle Certification examination but doesn't restrict itself to the exam objectives. Advanced concepts have been explained in an easy-to-understand style, supported with feature demonstrations and case illustrations.
目录展开

Advanced Oracle PL/SQL Developer's Guide Second Edition

Table of Contents

Advanced Oracle PL/SQL Developer's Guide Second Edition

Credits

About the Author

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Instant updates on new Packt books

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. Overview of PL/SQL Programming Concepts

Introduction to PL/SQL

PL/SQL program fundamentals

Cursors – an overview

The cursor execution cycle

Cursor attributes

Cursor FOR loop

Exception handling in PL/SQL

System-defined exceptions

User-defined exceptions

The RAISE_APPLICATION_ERROR procedure

Exception propagation

Creating stored procedures

Executing a procedure

Functions

Functions – execution methods

Restrictions on calling functions from SQL expressions

A PL/SQL package

Oracle Database 12c enhancements to PL/SQL subprograms

Managing database dependencies

Displaying the direct and indirect dependencies

Dependency metadata

Dependency issues and enhancements

Reviewing Oracle-supplied packages

Oracle SQL Developer

Oracle SQL Developer for DBA, Developers, and Application Architects

SQL Developer 4.0

Summary

Practice exercise

2. Oracle 12c SQL and PL/SQL New Features

Database consolidation and the new Multitenant architecture

The Oracle Database 12c Multitenant architecture – features

Multitenant for Consolidation

Plug/unplug

Manage Many as One

Rapid provisioning

CDB Resource Management

Common users and local users

Oracle 12c SQL and PL/SQL new features

IDENTITY columns

Default column value to a sequence in Oracle 12c

The DEFAULT ON NULL clause

Support for 32K VARCHAR2

Row limiting using FETCH FIRST

Invisible columns

Temporal databases

In-Database Archiving

Defining a PL/SQL subprogram in the SELECT query and PRAGMA UDF

Test setup

Comparative analysis

The PL/SQL program unit white listing

Granting roles to PL/SQL program units

Test setup

Miscellaneous PL/SQL enhancements

The Oracle Database 12c (12.1.0.2) In-Memory option

The challenge

The problem statement and Oracle Database 12c In-Memory

Oracle Database 12c In-Memory option features

The Oracle Database 12c In-Memory Architecture

Controlling the In-Memory column store

The INMEMORY clause

Performance optimizations

In-Memory Advisor

Oracle Database In-Memory benefits

Summary

3. Designing PL/SQL Code

Cursor structures

Cursor execution cycle

Cursor attributes

Implicit cursors

Explicit cursors

Cursor variables

Strong and weak ref cursor types

Working with cursor variables

SYS_REFCURSOR

Cursor variables as arguments

Cursor variables – restrictions

Cursor design considerations

Cursor design–guidelines

Implicit statement results in Oracle Database 12c

Subtypes

Subtype classification

Type compatibility with subtypes

Summary

Practice exercise

4. Using Collections

Introduction to collections

Collection types

Associative arrays

Nested tables

Modify and drop a nested table object type

Design considerations of a nested table

Nested table storage

Nested table in an index - organized table

Nested table locators

Nested table as the schema object

Operations on a nested table type column

Create a nested table instance

Querying a nested table column

Nested table collection type in PL/SQL

Collection initialization

Querying the nested table metadata

Nested table comparison functions

Multiset operations on nested tables

Varray

Varray as a schema object

Operations on varray type columns

Inserting varray collection type instance

Querying varray column

Updating the varray instance

Varray in PL/SQL

Comparing the collection types

Selecting the appropriate collection type

Oracle 12c enhancements to collections

PL/SQL collection methods

EXISTS

COUNT

LIMIT

FIRST and LAST

PRIOR and NEXT

EXTEND

TRIM

DELETE

Summary

Practice exercise

5. Using Advanced Interface Methods

Overview of External Procedures

External Procedures

Components of external procedure execution flow

The extproc agent

The Library object

Callout and Callback

Call Specification

How an External Procedure executes

Environment setup

TNSNAMES.ora

EXTPROC.ora

Executing external C programs from PL/SQL

Securing External Procedures with Oracle Database 12c

Executing Java programs from PL/SQL

Loading a Java class into a database

Steps to execute a Java class from an Oracle PL/SQL unit

Summary

Practice exercise

6. Virtual Private Database

Oracle Database Security overview

Fine-Grained Access Control

How FGAC works

Virtual Private Database

How does Virtual Private Database work?

Column-level Virtual Private Database

Virtual Private Database with Oracle Database 12c Multitenant

Virtual Private Database components

Application Context

Virtual Private Database policy function

Policy types

The DBMS_RLS package

Demonstration

Virtual Private Database features and best practices

Virtual Private Database metadata

Policy utilities—refresh and drop

Oracle Database 12c Security enhancements

Oracle Database 12c Data Redaction

Data Redaction exemptions and miscellaneous features

Data Redaction function types

Demonstration

The Data Redaction metadata

Summary

Practice exercise

7. Oracle SecureFiles

Introduction to Large Objects

Classification of Large Object datatypes

Internal LOB

Persistent and Temporary LOB

External LOB

LOB restrictions

LOB data types in Oracle

BLOB and CLOB

BFILE

Some more related stuff

The LOB locator

LOB instance initialization

The DBMS_LOB package

The DBMS_LOB constants

The DBMS_LOB data types

The DBMS_LOB subprograms

LOB usage notes

Oracle SecureFiles

Deduplication and compression

Encryption

File System Logging

Write Gather Cache

Free space management

BasicFiles and SecureFiles

The db_securefile parameter

Working with LOBs

LOB metadata

Enabling the advanced features of a SecureFile

Populating the LOB data

Temporary LOB operations

Managing temporary LOBs

Working with a temporary LOB

Migrating LONG to LOBs

Use the ALTER TABLE command

Using the TO_LOB function

Online Table Redefinition

Migrating BasicFiles to SecureFiles

Oracle Database 12c enhancements to SecureFiles

Summary

Practice exercise

8. Tuning the PL/SQL Code

The PL/SQL Compiler

Subprogram inlining in PL/SQL

PRAGMA INLINE

PLSQL_OPTIMIZE_LEVEL

Case 1: When PLSQL_OPTIMIZE_LEVEL = 0

Case 2: When PLSQL_OPTIMIZE_LEVEL = 1

Case 3: When PLSQL_OPTIMIZE_LEVEL = 2

Case 4: When PLSQL_OPTIMIZE_LEVEL = 3

Native and interpreted compilation techniques

Oracle Database 11g Real Native Compilation

Selecting the appropriate compilation mode

Setting the compilation mode

Querying the compilation settings

Compiling a program unit for native or interpreted compilation

Recompiling a database for a PL/SQL native or interpreted compilation

Tuning PL/SQL code

Build secure applications using bind variables

Call parameters by reference

Avoiding an implicit data type conversion

Understanding the NOT NULL constraint

Selection of an appropriate numeric data type

Bulk processing in PL/SQL

BULK COLLECT

FORALL

FORALL and exception handling

Summary

Practice exercise

9. Result Cache

Oracle Database 11g Result Cache

What is the Server Result Cache?

Configuring the Server Result Cache

Result Cache versus Buffer Cache

Result Cache versus Oracle 12c Database In-Memory

Result Cache versus In-Memory Database Cache

SQL query Result Cache

Monitoring the SQL Result Cache

Invalidation of the SQL Result Cache

Read consistency of the SQL Result Cache

Limitations

PL/SQL Function Result Cache

Does it sound similar to deterministic functions?

Differences between Result Cache and other caching techniques

Illustration

Monitoring the PL/SQL Result Cache

Invalidation of the PL/SQL Result Cache

Limitation

OCI Client results cache

The DBMS_RESULT_CACHE package

Displaying the result cache memory report

Oracle Database 12c enhancements to the PL/SQL function Result Cache

Result cache in Real Application Clusters

Summary

Practice exercise

10. Analyzing, Profiling, and Tracing PL/SQL Code

A sample PL/SQL program

Tracking PL/SQL coding information

USER_ARGUMENTS

USER_OBJECTS

USER_OBJECT_SIZE

USER_SOURCE

USER_PROCEDURES

USER_PLSQL_OBJECT_SETTINGS and USER_STORED_SETTINGS

USER_DEPENDENCIES

The DBMS_DESCRIBE package

Tracking the program execution subprogram call stack

Tracking propagating exceptions in PL/SQL code

Determining identifier types and usages

USER_IDENTIFIERS

The PL/Scope tool

The PLSCOPE_SETTINGS parameter

The DBMS_METADATA package

DBMS_METADATA data types and subprograms

Parameter requirements

The DBMS_METADATA transformation parameters and filters

Demonstration

Tracing PL/SQL programs using DBMS_TRACE

Installing the DBMS_TRACE package

DBMS_TRACE subprograms

Compiling a PL/SQL program for debugging

Viewing the PL/SQL trace information

Steps to trace PL/SQL program execution

Profiling PL/SQL code

The DBMS_HPROF package

Differences between DBMS_PROFILER and DBMS_HPROF

DBMS_HPROF subprograms

Collecting raw profile data

Interpreting the raw profiler data

Analyzing profiler data

Creating the profiler tables

Analyzing the profiler output

Querying the profiler tables

The plshprof utility

What do these reports reveal?

Summary

Practice exercise

11. Safeguarding PL/SQL Code against SQL injection

What is SQL injection?

SQL injection targets

How to exploit the PL/SQL code?

Preventing SQL injection attacks

Sanitizing inputs using DBMS_ASSERT

Choose the right subprogram for the right identifier

Unquoted identifiers

Quoted identifiers

Literals

DBMS_ASSERT – limitations

Use of bind variables to prevent injection attacks

Best practices to avoid SQL injection

Testing the code for SQL injection flaws

Test strategy

An effective code review

Static code analysis

Fuzz tools

Generating test cases

Summary

Practice exercise

12. Working with Oracle SQL Developer

An overview of SQL Developer

Key differentiators

History and background

SQL Developer for Developers

SQL Developer for Database Administrators

SQLcl – The new SQL command line

Getting started with SQL Developer

Creating a database connection

Using the SQL worksheet

Core features of SQL Developer

Object Browser

PL/SQL Editor and Debugger

DBA Panel

Database Utilities

The Data Modeler

SQL Developer reports

Version control

The SQL Translation Framework

SQL Developer 4.0 and 4.1 New Features

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部