oracle application express administration - home - …978-1-4842-1958-4/1.pdf · oracle application...
TRANSCRIPT
Oracle Application Express Administration: For DBAs and Developers
Francis Mignault Luc DemancheInsum Solutions, Montréal, Québec,Montréal, Québec, Canada Canada
ISBN-13 (pbk): 978-1-4842-1957-7 ISBN-13 (electronic): 978-1-4842-1958-4DOI 10.1007/978-1-4842-1958-4
Library of Congress Control Number: 2016955456
Copyright © 2016 by Francis Mignault and Luc Demanche
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
Managing Director: Welmoed Spahr Lead Editor: Jonathan GennickDevelopment Editor: Laura BerendsonTechnical Reviewer: Alex FatkulinEditorial Board: Steve Anglin, Pramila Balan, Laura Berendson, Aaron Black, Louise Corrigan,
Jonathan Gennick, Todd Green, Robert Hutchinson, Celestin Suresh John, Nikhil Karkal, James Markham, Susan McDermott, Matthew Moodie, Natalie Pao, Gwenan Spearing
Coordinating Editor: Jill BalzanoCopy Editor: Brendan FrostCompositor: SPi GlobalIndexer: SPi GlobalArtist: SPi Global
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected] , or visit www.springer.com . Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail [email protected] , or visit www.apress.com .
Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales .
Any source code or other supplementary materials referenced by the author in this text are available to readers at www.apress.com . For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/ . Readers can also access source code at SpringerLink in the Supplementary Material section for each chapter.
Printed on acid-free paper
iii
Contents at a Glance
About the Authors ....................................................................................................xv
About the Technical Reviewer ...............................................................................xvii
Acknowledgments. .................................................................................................xix
Introduction ............................................................................................................xxi
■Part I: APEX Overview ......................................................................... 1
■Chapter 1: About APEX .......................................................................................... 3
■Part II: Architecture .......................................................................... 11
■Chapter 2: APEX in the Database ......................................................................... 13
■Chapter 3: Middle-Tier ......................................................................................... 27
■Chapter 4: Database Advanced Security ............................................................. 37
■Chapter 5: APEX and Oracle E-Business Suite ..................................................... 63
■Chapter 6: High Availability ................................................................................. 71
■Chapter 7: APEX in a Multitenant Database ........................................................ 93
■Part III: Confi guration ..................................................................... 113
■Chapter 8: Installing .......................................................................................... 115
■Chapter 9: Upgrading and Patching ................................................................... 131
■Chapter 10: Confi guring .................................................................................... 143
■Chapter 11: Administering APEX in a Runtime-Only Mode ................................ 175
■Chapter 12: Database and APEX Backups ......................................................... 187
■Chapter 13: Self-Provisioning Workspaces ....................................................... 209
■ CONTENTS AT A GLANCE
iv
■Part IV: Tuning ................................................................................ 237
■Chapter 14: Monitoring...................................................................................... 239
■Chapter 15: Performance and Tuning ................................................................ 265
■Chapter 16: Resource Manager and APEX ......................................................... 277
Index ..................................................................................................................... 303
v
Contents
About the Authors ....................................................................................................xv
About the Technical Reviewer ...............................................................................xvii
Acknowledgments ..................................................................................................xix
Introduction ............................................................................................................xxi
■Part I: APEX Overview ......................................................................... 1
■Chapter 1: About APEX .......................................................................................... 3
What Is APEX? .................................................................................................................. 3
History .................................................................................................................................................... 3
List of Key Features for Applications ...................................................................................................... 4
Builder Features ..................................................................................................................................... 5
Specifi c Characteristics .......................................................................................................................... 7
Development / Deployment Options ....................................................................................................... 7
APEX Administration ............................................................................................................................... 8
Why APEX? ....................................................................................................................... 8
What Is It For? .................................................................................................................. 8
The APEX Community ....................................................................................................... 9
APEX.ORACLE.COM ................................................................................................................................. 9
OTN ......................................................................................................................................................... 9
APEX.WORLD .......................................................................................................................................... 9
Oracle User Groups ............................................................................................................................... 10
LinkedIn ................................................................................................................................................ 10
Meetups ................................................................................................................................................ 10
Twitter ................................................................................................................................................... 10
Summary ........................................................................................................................ 10
■ CONTENTS
vi
■Part II: Architecture .......................................................................... 11
■Chapter 2: APEX in the Database ......................................................................... 13
Database Schemas ......................................................................................................... 13
APEX_PUBLIC_USER ............................................................................................................................. 13
FLOWS_FILES ....................................................................................................................................... 14
APEX_050000 ....................................................................................................................................... 15
APEX Views ........................................................................................................................................... 14
Application Schemas ............................................................................................................................ 18
APEX Database Sessions ................................................................................................ 18
Application Execution ........................................................................................................................... 18
Connection Pool .................................................................................................................................... 19
v$session .............................................................................................................................................. 19
APEX Workspaces ........................................................................................................... 20
APEX Users ........................................................................................................................................... 21
Application Users .................................................................................................................................. 21
Scheduled Jobs .............................................................................................................. 22
Oracle Support ............................................................................................................... 22
How to Get Support .............................................................................................................................. 22
APEX Oracle Lifetime Support .............................................................................................................. 23
APEX in the Cloud ........................................................................................................... 24
Microsoft Azure ..................................................................................................................................... 24
Amazon Web Services .......................................................................................................................... 25
Oracle Cloud ......................................................................................................................................... 25
Summary ........................................................................................................................ 25
■Chapter 3: Middle-Tier ......................................................................................... 27
Web Listeners ................................................................................................................. 27
EPG ....................................................................................................................................................... 28
OHS / mod_plsql (Deprecated) ............................................................................................................. 29
ORDS..................................................................................................................................................... 29
■ CONTENTS
vii
Application Servers ........................................................................................................ 30
GlassFish .............................................................................................................................................. 31
Tomcat .................................................................................................................................................. 32
WebLogic .............................................................................................................................................. 32
Reverse Proxy ................................................................................................................ 32
Architecture .......................................................................................................................................... 32
Example of a Reverse Proxy Apache Confi guration .............................................................................. 33
SSL / HTTPS .......................................................................................................................................... 34
Summary ........................................................................................................................ 35
■Chapter 4: Database Advanced Security ............................................................. 37
Real Application Security ............................................................................................... 37
What Is Real Application Security ......................................................................................................... 37
Architecture of RAS .............................................................................................................................. 38
Real Application Security Administration Application (RASADM) .......................................................... 39
Example of a RAS Deployment ............................................................................................................. 39
Data Redaction ............................................................................................................... 55
Example of a Data Redaction Deployment ............................................................................................ 55
Database Vault ............................................................................................................... 57
Confi gure Database Vault for APEX ....................................................................................................... 58
Summary ........................................................................................................................ 61
■Chapter 5: APEX and Oracle E-Business Suite ..................................................... 63
Architecture .................................................................................................................... 63
APEX Schema vs. APPS Schema .................................................................................... 64
EBS Patching vs. APEX Patching .................................................................................... 67
Security .......................................................................................................................... 67
Authentication ...................................................................................................................................... 68
Authorization ........................................................................................................................................ 68
Summary ........................................................................................................................ 69
■ CONTENTS
viii
■Chapter 6: High Availability ................................................................................. 71
Overview of a High Availability Solution Using RAC ....................................................... 71
High Availability Solution for the Database ........................................................................................... 71
High Availability Solution for the Application Server............................................................................. 72
Usage of a Load Balancer ..................................................................................................................... 72
Deploying a High Availability Solution ............................................................................ 72
Deployment and Confi guration of RAC.................................................................................................. 72
Deployment and Confi guration of ORDS ............................................................................................... 75
Deployment of the Load Balancer......................................................................................................... 78
High Availability Scenarios ............................................................................................. 81
Loss of a Database Node ...................................................................................................................... 81
Loss of an Application Server Node ...................................................................................................... 84
Overview of a Solution Using Data Guard ....................................................................... 89
Data Guard as a Complement to RAC ................................................................................................... 90
Summary ........................................................................................................................ 91
■Chapter 7: APEX in a Multitenant Database ........................................................ 93
Default Installation of APEX in a Multitenant Database .................................................. 93
Different Scenarios of APEX Deinstallation and Installation ........................................... 94
Upgrade APEX in the CDB ..................................................................................................................... 94
Deinstallation of the Common APEX from the CDB ............................................................................... 94
Installation of the Common APEX in the CDB ........................................................................................ 95
Installation of a Dedicated APEX in the PDB ......................................................................................... 96
Different Scenarios of Moving/Cloning a PDB ................................................................ 96
Source PDB Has APEX in the CDB ......................................................................................................... 96
Source PDB Has APEX in the PDB ....................................................................................................... 100
Source PDB Doesn’t Have APEX.......................................................................................................... 104
Move or Copy a PDB with Incompatible Versions of APEX .................................................................. 105
Summary ...................................................................................................................... 111
■ CONTENTS
ix
■Part III: Confi guration ..................................................................... 113
■Chapter 8: Installing .......................................................................................... 115
Preinstallation Steps .................................................................................................... 115
Downloads .................................................................................................................... 116Download APEX .................................................................................................................................. 116
Download ORDS .................................................................................................................................. 118
Installing APEX in the Database ................................................................................... 119Tablespaces for APEX ......................................................................................................................... 119
Installing with DBCA ........................................................................................................................... 120
Installing APEX Using the Downloaded Scripts ................................................................................... 120
Postinstall ........................................................................................................................................... 122
Installing ORDS ............................................................................................................. 125Confi gure ORDS .................................................................................................................................. 126
Deploying the War Files ...................................................................................................................... 128
Uninstall ....................................................................................................................... 129Removing APEX .................................................................................................................................. 129
1. Drop All APEX-Related Schemas ..................................................................................................... 130
2. Drop APEX Tablespaces .................................................................................................................. 130
3. Undeploy ORDS ............................................................................................................................... 130
Summary ...................................................................................................................... 130
■Chapter 9: Upgrading and Patching ................................................................... 131
Upgrading APEX ............................................................................................................ 131Planning an Upgrade .......................................................................................................................... 132
Preupgrade Tasks ............................................................................................................................... 133
Upgrading APEX .................................................................................................................................. 134
Postupgrade ....................................................................................................................................... 136
Patching ....................................................................................................................... 140Planning a Patch ................................................................................................................................. 140
Downloading an APEX Patch ............................................................................................................... 140
Installing an APEX Patch ..................................................................................................................... 141
Summary ...................................................................................................................... 141
■ CONTENTS
x
■Chapter 10: Confi guring .................................................................................... 143
Manage Instance .......................................................................................................... 144
Instance Settings ................................................................................................................................ 144
Manage Metadata ............................................................................................................................... 158
Manage Logs and Files ....................................................................................................................... 159
Manage Shared Components ............................................................................................................. 162
Messages ........................................................................................................................................... 163
Manage Workspaces .................................................................................................... 165
Create a Workspace ............................................................................................................................ 165
Create Multiple Workspaces ............................................................................................................... 167
Removing / Locking a Workspace....................................................................................................... 167
Manage Workspace to Schema Assignments ..................................................................................... 168
Manage Developers and Users ........................................................................................................... 168
Manage Component Availability ......................................................................................................... 168
Export/Import ...................................................................................................................................... 169
Existing Workspaces ........................................................................................................................... 169
Workspace Reports............................................................................................................................. 170
Manage Applications .......................................................................................................................... 171
Monitor Activity ............................................................................................................ 172
Monitoring Reports ............................................................................................................................. 172
Summary ...................................................................................................................... 173
■Chapter 11: Administering APEX in a Runtime-Only Mode ................................ 175
APEX Runtime-Only Setup ............................................................................................ 175
Install APEX in Runtime Only .............................................................................................................. 175
Remove the APEX Builder ................................................................................................................... 176
Install APEX Builder ............................................................................................................................ 176
Managing Applications ................................................................................................. 176
Deploying Applications ....................................................................................................................... 176
Change Application Build Status ......................................................................................................... 183
Manage Translations ........................................................................................................................... 184
Exporting Applications ........................................................................................................................ 184
■ CONTENTS
xi
Managing the Instance ................................................................................................. 185
Manage the Instance with APEX_INSTANCE_ADMIN .......................................................................... 185
Manage Users and Developers ........................................................................................................... 186
APEX Administrator Role ..................................................................................................................... 186
APEX Dictionary Views ........................................................................................................................ 186
Summary ...................................................................................................................... 186
■Chapter 12: Database and APEX Backups ......................................................... 187
Database Backup ......................................................................................................... 187
Physical Backup ................................................................................................................................. 187
Logical Database Backups ................................................................................................................. 189
Flashback Technology ........................................................................................................................ 189
APEX Components Backup ........................................................................................... 190
Using Application Express Developer ................................................................................................. 191
Using APEXExport ............................................................................................................................... 196
APEX Components Restore ........................................................................................... 200
Parsing Schema Restoration .............................................................................................................. 200
Workspace Import .............................................................................................................................. 200
Application Import .............................................................................................................................. 204
Summary ...................................................................................................................... 207
■Chapter 13: Self-Provisioning Workspaces ....................................................... 209
Self-Service Provisioning Setup ................................................................................... 209
Enabling Self-Provisioning.................................................................................................................. 209
Storage Options .................................................................................................................................. 213
Manage New Service Signup Wizard .................................................................................................. 214
New Workspace Request Size ............................................................................................................ 218
Manage Requests ............................................................................................................................... 219
How Self-Provisioning Works ....................................................................................... 219
Request a New Workspace ................................................................................................................. 219
■ CONTENTS
xii
Workspace Change Requests ....................................................................................... 227
Enable Service Requests .................................................................................................................... 227
Workspace Change Request Size ....................................................................................................... 228
Request Schema ................................................................................................................................. 228
Request Storage ................................................................................................................................. 229
Request Termination ........................................................................................................................... 231
Service Requests Monitoring ....................................................................................... 235
New Service Requests ........................................................................................................................ 235
Signup Survey .................................................................................................................................... 235
Summary ...................................................................................................................... 235
■Part IV: Tuning ................................................................................ 237
■Chapter 14: Monitoring...................................................................................... 239
Database Monitoring .................................................................................................... 239
Oracle Enterprise Manager ................................................................................................................. 239
AWR .................................................................................................................................................... 243
Database Monitor ............................................................................................................................... 247
APEX Monitoring ........................................................................................................... 252
Monitoring APEX Applications at the Database Level ......................................................................... 253
Monitoring APEX Applications at the Workspace Level ....................................................................... 256
Monitoring APEX Applications Using APEX and Database Views ........................................................ 259
Summary ...................................................................................................................... 263
■Chapter 15: Performance and Tuning ................................................................ 265
Tuning Application ........................................................................................................ 265
Enabling Oracle Tracing ...................................................................................................................... 265
Using TKPROF ..................................................................................................................................... 266
Execution Plans .................................................................................................................................. 267
■ CONTENTS
xiii
Tuning Reports ............................................................................................................. 270
Using DEBUG mode ...................................................................................................... 271
Enabling Debug Mode ......................................................................................................................... 271
Running the Application in Debug Mode ............................................................................................. 272
Viewing Debug Mode Reports ............................................................................................................ 272
Best Practices .............................................................................................................. 274
Summary ...................................................................................................................... 275
■Chapter 16: Resource Manager and APEX ......................................................... 277
Overview of Resource Manager ................................................................................... 277
Resource Manager with Multitenant Database .................................................................................. 278
Confi guring APEX Workspace to Use Resource Manager ............................................. 294
Resource Manager Demonstrations ............................................................................. 297
CPU Utilization Limits at the CDB Level .............................................................................................. 297
Runaway and Consumer Group Switching at the PDB Level .............................................................. 299
Summary ...................................................................................................................... 302
Index ..................................................................................................................... 303
xv
About the Authors
Francis Mignault has over 30 years of experience in IT and 28 using Oracle databases. In 2004, he started using Oracle Application Express and hasn’t looked back since. In 2002, he cofounded Insum Solutions, where he currently holds the role of Chief Technology Officer (CTO). He has presented at several conferences in the United States, Canada, and Europe, including Oracle OpenWorld, IOUG Collaborate, ODTUG APEXposed!, Kscope, APEX World, and Ora*Gec. Francis is an Oracle ACE and coauthor of Expert Oracle Application Express.
Luc Demanche has specialized in Oracle databases since 1995, and is an Oracle 12c Certified Professional.
He has worked with major consulting companies in Canada, as well as with a major bank in France; he also had the opportunity to design Oracle infrastructures for large projects, including APEX deployment. Luc truly shows great enthusiasm in any activity he engages in, whether it is sharing his Oracle knowledge, playing hockey, or spending time with his family and friends.
xvii
About the Technical Reviewer
Alex Fatkulin is a master of the full range of Oracle technologies. His mastery has been essential in addressing some of the greatest challenges his customers have met.
Alex draws on years of experience working with some of the world’s largest companies, where he has been involved with almost everything related to Oracle databases, from data modeling to architecting high-availability solutions to resolving performance issues of extremely large production sites.
Alex has a bachelor’s of computer science degree from Far Eastern National University in Vladivostok, Russia. He is also an Oracle ACE and a proud OakTable member.
xix
Acknowledgments
Many hours were invested on this project and it would not have been possible without the help of many people. First of all, we would like to thank Jonathan Gennick from Apress for giving us the opportunity of writing this book. A special thanks to Jill Balzano and all the Apress team for their great work, encouragement, and patience.
A big thank-you to Insum, and more specifically to Corina Nunez, Daniel Boudreault, and Sylvain Martel, for their input, technical help, and support.
—Luc Demanche and Francis Mignault.
Personally, I would like to thank Francis Mignault, the initiator of that project, for giving me the opportunity of writing this book with him. It has been a pleasure working with you on this project, and I hope we will have the opportunity to work on other projects like this one together again.
It is very important for me to also mention the support, patience, and understanding of my family, my kids, and my love Marie-Eve.
—Luc Demanche.
Thank you, Luc Demanche, for your hard work and willingness to participate in this project. Thanks to my colleagues Michel St-Amour, Patrick Bonneville, and Roger Leblanc for your understanding and for believing in us. A special thank-you to Viviane Latourelle, my partner in life, for your support, for your patience, and for being there for me. Without your support this would not have been possible.
—Francis Mignault.
xxi
Introd uction
Oracle Application Express (APEX) is a web application development tool that enables developers to rapidly design and develop database-driven web applications by using a browser. One of the advantages of using APEX is that you can focus on the development of the application and not have to worry about availability, authentication, security, and management of the session’s context as it runs as a part of the Oracle Database. Not to mention that APEX is fully supported by Oracle, and it comes with no extra cost and fully integrated with the database.
We think that database administrators (DBAs), APEX administrators, and developers would like to gain understanding of how APEX infrastructure works. Today’s trend is all about DevOps and sharing the knowledge between administrators and developers.
We also noticed there was a lack of documentation covering the integration and use of database features with APEX applications.
Our objective is to show how APEX, as a database-driven application, is pretty well placed to benefit from and efficiently use all the database features. We also wanted to demystify the management of APEX and explain its integration with the database. Many clients have been asking the same questions about the administration of APEX. It is with this mindset that the book was written.
We will discuss and demonstrate how an APEX application can:
– be highly available by using Real Application Cluster (RAC) and Data Guard, – have its data secured by using Real Application Security (RAS) and Data Redaction, – be flexible, as APEX can be deployed using a multitenant database, – have better response times by monitoring and tuning, by using database features
like AWR, ADDM, Oracle Enterprise Manager, and SQLDeveloper, – be controlled for resource consumption by using Oracle Resource Manager, and
much more.
The book is divided into four parts:
Part I:
The first part of the book is an introduction to APEX, starting with its history, a list of its key features, and a presentation of the Application Builder interface. We explain how APEX runs entirely within the Oracle database.
Part II:
The second part of the book describes the APEX architecture, how APEX interacts with the database, and which middle-tiers are supported for either a small or an enterprise-grade deployment.
There is a chapter dedicated to data security where we explain how Real Application Security and Data Redaction can be integrated with APEX.
We will also talk about how APEX can be configured for building extensions in Oracle E-Business Suite. These days, high availability is a very important concept, so we will demonstrate in this book how APEX
applications can benefit from two of the most important features of the Oracle database: Real Application Clusters and Oracle Data Guard.
■ INTRODUCTION
xxii
The last chapter of part II is about the deployment of APEX in an Oracle 12c multitenant database. We describe different scenarios for moving and/or copying a pluggable database, which might or might
not contain an APEX installation, into a container database that might or might not have APEX installed.
Part III:
The third part of the book covers every aspect of the installation, upgrade, patching, and setup of an optimal APEX environment.
It also includes the management of APEX in runtime mode as well as an explanation of how we should configure the backups for a database that runs APEX. It covers how to back up the APEX components, applications, and database.
The last chapter of this part explains how to use and configure the workspaces’ self-provisioning feature.
Part IV:
The last part of the book presents different methods for monitoring and tuning an APEX application and how we can use the database features to help from the application performance point of view.
The first chapter of this part talks about how we can monitor an APEX application to identify queries that are abnormally consuming resources and that could benefit from a tuning process. There is also a dedicated chapter on tuning.
The last chapter of part IV is about Oracle Resource Manager. This is a very powerful database feature that can and should be used with APEX to ensure an application’s optimal usage of resources and avoid database downtime caused by users’ long-running DMLs.