This document provides an introduction and overview of the Oracle Database SQL Tuning Guide. It was authored by Lance Ashdown and Maria Colgan, and is dedicated to Mark Townsend. The guide contains information about SQL processing, the query optimizer, query transformations, access paths, join methods, generating and reading execution plans, and more. It is intended to help database administrators and developers tune SQL statements for optimal performance.
This document provides an overview of Oracle Data Guard Broker 12c Release 1 (12.1), including its components, user interfaces, benefits, and how it manages Oracle Data Guard configurations. It describes how the Oracle Data Guard Broker installs and works with Control File and Oracle Automatic Storage Management (ASM). The document outlines the management cycle of a broker configuration, state transitions, properties, and redo transport services.
High availability overview: Oracle Database 12cFemi Adeyemi
This document provides an overview of Oracle Database high availability features. It discusses key high availability concepts like recovery time objective and recovery point objective. It also describes several Oracle high availability solutions like Oracle Data Guard, Oracle GoldenGate, Oracle Real Application Clusters, and Oracle Automatic Storage Management. The document is intended to help readers understand how to maximize availability and protect against planned and unplanned downtime.
Oracle database 12c 2 day + performance tuning guidebupbechanhgmail
This document provides a 2 day performance tuning guide for Oracle Database 12c. It describes how to use the Automatic Database Diagnostic Monitor (ADDM) and Automatic Workload Repository (AWR) to proactively and reactively tune database performance. Tools covered include the ADDM reports, AWR reports, Active Session History (ASH) reports and real-time monitoring pages in Oracle Enterprise Manager. The guide also discusses identifying and tuning high-load SQL statements.
Oracle database 12c 2 day developer's guide 123bupbechanhgmail
This document provides an introduction and overview of Oracle Database and development tools. It discusses connecting to Oracle Database using SQL*Plus and SQL Developer. It also covers exploring database objects, querying data, manipulating data using DML statements, managing schema objects using DDL statements, developing stored subprograms and packages using PL/SQL, using triggers, and working in a global environment.
Oracle Database Client Installation Guide provides instructions for installing Oracle Database Client on Microsoft Windows. It discusses installation overview, preinstallation tasks, installing Oracle Database Client, postinstallation tasks, removing Oracle Database Client software, and troubleshooting. The guide includes appendices on installing Java Access Bridge and using response files for silent or unattended installations.
The document provides an overview and instructions for implementing and using Oracle Performance Management. Key features include setting up performance management plans, objectives, appraisals, questionnaires, and workforce performance management. The guide assists various user roles including managers, HR professionals, and employees.
This document provides an overview of Oracle Data Guard Broker 12c Release 1 (12.1), including its components, user interfaces, benefits, and how it manages Oracle Data Guard configurations. It describes how the Oracle Data Guard Broker installs and works with Control File and Oracle Automatic Storage Management (ASM). The document outlines the management cycle of a broker configuration, state transitions, properties, and redo transport services.
High availability overview: Oracle Database 12cFemi Adeyemi
This document provides an overview of Oracle Database high availability features. It discusses key high availability concepts like recovery time objective and recovery point objective. It also describes several Oracle high availability solutions like Oracle Data Guard, Oracle GoldenGate, Oracle Real Application Clusters, and Oracle Automatic Storage Management. The document is intended to help readers understand how to maximize availability and protect against planned and unplanned downtime.
Oracle database 12c 2 day + performance tuning guidebupbechanhgmail
This document provides a 2 day performance tuning guide for Oracle Database 12c. It describes how to use the Automatic Database Diagnostic Monitor (ADDM) and Automatic Workload Repository (AWR) to proactively and reactively tune database performance. Tools covered include the ADDM reports, AWR reports, Active Session History (ASH) reports and real-time monitoring pages in Oracle Enterprise Manager. The guide also discusses identifying and tuning high-load SQL statements.
Oracle database 12c 2 day developer's guide 123bupbechanhgmail
This document provides an introduction and overview of Oracle Database and development tools. It discusses connecting to Oracle Database using SQL*Plus and SQL Developer. It also covers exploring database objects, querying data, manipulating data using DML statements, managing schema objects using DDL statements, developing stored subprograms and packages using PL/SQL, using triggers, and working in a global environment.
Oracle Database Client Installation Guide provides instructions for installing Oracle Database Client on Microsoft Windows. It discusses installation overview, preinstallation tasks, installing Oracle Database Client, postinstallation tasks, removing Oracle Database Client software, and troubleshooting. The guide includes appendices on installing Java Access Bridge and using response files for silent or unattended installations.
The document provides an overview and instructions for implementing and using Oracle Performance Management. Key features include setting up performance management plans, objectives, appraisals, questionnaires, and workforce performance management. The guide assists various user roles including managers, HR professionals, and employees.
The document provides an overview of installing Oracle Database Client, including planning the installation, considering hardware and software requirements, using different installation methods like interactive or response file installations, installing different client types, and ensuring interoperability between the client and database. It discusses installation types, methods, requirements and compatibility to help plan a successful Oracle Database Client deployment.
This document provides an overview and introduction to new features in Oracle Database 12c Release 1 (12.1). It is intended for readers familiar with previous releases who want to learn about new features, options, and enhancements in this release. The document contains information on various areas including application development, data warehousing, compression, and more. It provides high-level descriptions of new features without detailed technical specifications.
This document provides instructions for installing Oracle Database Client on Windows systems. It discusses installation overview, types of installations, preinstallation tasks, the installation process, and postinstallation tasks. It also covers uninstalling Oracle Database Client and troubleshooting the installation process.
This document discusses Oracle Fusion Procurement and Spend Analytics. It provides an overview of the features and capabilities, including pre-built analytics content to provide insights into purchasing, sourcing, and supplier performance. Examples of reports and dashboards are demonstrated. The value of Oracle's prebuilt analytics for Fusion Applications is discussed.
This document provides an overview and instructions for implementing and using Oracle Performance Management. It covers topics such as setting up performance management plans, objectives, appraisals, templates, and questionnaires. It also describes tasks for various roles including managers, HR professionals, and workers. The document contains sample scoring formulas and a glossary of HRMS terms.
Oracle database 12c 2 day + real application clusters guidebupbechanhgmail
This document provides a guide for deploying an Oracle Real Application Clusters environment. It covers preparing the cluster, installing Oracle Grid Infrastructure and Oracle RAC, administering database instances and cluster databases, managing Oracle Clusterware components, and backup and recovery of Oracle RAC databases. The guide is intended for database administrators deploying Oracle RAC and includes instructions for installing and configuring Oracle RAC using tools like Oracle Universal Installer and SRVCTL.
With Oracle Enterprise Scheduler, you can define, schedule and run jobs.
A job is a unit of work done on an application's behalf. For example, you might define a job that runs a particular PL/SQL function or command-line process. You can define a job that
executes Java code. Those job types are included with Oracle Enterprise Scheduler:
• Java job type for executing Java code.
• Web Service job type.
• EJB job type.
• Process job type for executing a command-line command.
• PL/SQL job type for executing functions in Oracle's extension language for SQL.
This document provides an overview of how to set up Oracle SCM Cloud Backlog Management including enabling the work area, configuring planning options, collecting demand and supply data, defining demand priority and backlog planning rules, and ensuring sourcing and supply network models are configured to allow for backlog planning of sales orders from Oracle Fusion applications. It describes the key planning and analysis processes in Backlog Management for simulating fulfillment of at-risk orders and releasing planned results.
This document is the user guide for Oracle Assets Release 12. It describes how to setup and maintain assets in the Oracle Assets application. Key sections include adding assets individually or in bulk via the mass additions process, defining asset details and depreciation rules, performing adjustments, and adding assets in short tax years. The guide provides instructions for common asset management tasks in Oracle Assets.
Oracle® database 2 days security guide e10575imranshahid7861
An Oracle guide for securing Oracle Database covering common security tasks such as securing user accounts, managing privileges, securing the network, encrypting data, and auditing database activity. It includes tutorials and guidelines for tasks such as creating secure application roles, enforcing row-level security with Oracle Label Security, and controlling administrator access with Oracle Database Vault. The document is intended for database administrators who want to perform common day-to-day security tasks.
This document provides an overview and instructions for using Oracle Incentive Compensation to define compensation plans, collect sales transactions, calculate compensation payouts, and generate reports. It describes the responsibilities of different user roles and how to set up rules, plans, resources, transactions, and payments. The guide also includes examples of common compensation scenarios and integrations with other Oracle applications.
This document provides an overview of Oracle Data Integrator (ODI) 11g Release 1 (11.1.1) and its developer's guide. It includes information about new features, documentation accessibility, related documents, and table of contents. The document is copyrighted by Oracle and describes restrictions on the use of ODI software and documentation. It also contains Oracle trademark information.
This document provides installation instructions for Oracle9i Database on Windows. It includes information on planning the installation, reviewing system requirements, installing Oracle components like the database, client, and management tools, and post-installation configuration tasks. The document has several chapters that cover pre-installation planning, installing Oracle components, reviewing the contents of a starter database, and post-installation configuration. It also includes appendices that describe individual Oracle components and provide additional installation guidance for features like Oracle Real Application Clusters and transparent gateways to other databases.
This document provides a guide to backing up and recovering Oracle databases using Recovery Manager (RMAN) and user-managed techniques. It covers RMAN backup and recovery concepts, starting and configuring RMAN, making RMAN backups of datafiles, control files, archived redo logs and incremental backups. It also covers restoring and recovering databases using RMAN as well as features like Flashback Database and restore points.
This document is the user guide for Oracle Manufacturing Scheduling Release 12. It contains information on setting up manufacturing scheduling, using the scheduler workbench, creating and importing jobs, reviewing exception messages, rescheduling discrete jobs, and shop floor modeling. The guide includes chapters on setup, the scheduler workbench, jobs, exceptions, rescheduling, and shop floor modeling. It provides instructions and reference information to help users schedule manufacturing jobs and resources effectively.
This document introduces Oracle WebCenter Suite, which provides tools and services to help developers build applications that simplify transactions for users. Key components of WebCenter Suite include the WebCenter Framework, which enhances the Java Server Faces environment and allows portlets and content to be integrated into applications. WebCenter Services provide capabilities for communication, content management, customization, and search that can be utilized by applications to provide additional context and functionality for users. The tutorial will teach how to use the WebCenter Framework to build applications that leverage these services.
This document provides guidance on using Oracle Services Procurement to process the procurement of complex work and contingent workers. It discusses the licenses, profile options, and concurrent programs used in Oracle Services Procurement. It also provides overviews and steps for setting up Oracle Purchasing, Approvals Management, E-Business Tax, Procurement Contracts, iProcurement, Human Resources, Time and Labor, Internet Expenses, and Projects to process the procurement of complex work and contingent workers. Finally, it describes the key features and steps for processing complex work procurement and contingent worker procurement within Oracle Services Procurement.
This document provides instructions for installing Oracle Application Express release 4.2 for Oracle Database 12c. Key aspects covered include:
- Understanding the multitenant architecture in Oracle Database 12c and how it impacts Application Express installation.
- Choosing between installing Application Express from the database and configuring either Oracle REST Data Services, the embedded PL/SQL Gateway, or Oracle HTTP Server.
- Required pre-installation tasks like checking database requirements and choosing a web listener.
- Post-installation tasks like creating a workspace, adding users, and converting between runtime and development environments.
Oracle Asset Tracking integrates with various Oracle applications to track inventory items and assets throughout their lifecycle, from purchase to deployment and retirement, facilitating financial transactions. It utilizes Oracle Installed Base as its data repository to record all transactions and associated records. Oracle Asset Tracking provides a centralized view of assets and their activity across different systems for improved tracking and management.
Flashback Database allows rewinding a database to undo data corruptions or errors. It works by using redo logs and block images to restore the database to a previous state. Configuring Flashback Database requires enabling it, setting a retention target, and having the database in ARCHIVELOG mode. Operations include flashing back to a time, SCN, or restore point. Monitoring involves checking the flashback window and log sizes.
This document discusses user-managed database backup and recovery, including:
- The difference between user-managed and server-managed backup which uses OS commands versus RMAN.
- How to perform a complete database recovery by restoring files and archive logs and applying redo logs.
- How to perform incomplete recovery to recover to a past time or SCN by restoring files and applying redo logs until a specified point.
The document provides an overview of installing Oracle Database Client, including planning the installation, considering hardware and software requirements, using different installation methods like interactive or response file installations, installing different client types, and ensuring interoperability between the client and database. It discusses installation types, methods, requirements and compatibility to help plan a successful Oracle Database Client deployment.
This document provides an overview and introduction to new features in Oracle Database 12c Release 1 (12.1). It is intended for readers familiar with previous releases who want to learn about new features, options, and enhancements in this release. The document contains information on various areas including application development, data warehousing, compression, and more. It provides high-level descriptions of new features without detailed technical specifications.
This document provides instructions for installing Oracle Database Client on Windows systems. It discusses installation overview, types of installations, preinstallation tasks, the installation process, and postinstallation tasks. It also covers uninstalling Oracle Database Client and troubleshooting the installation process.
This document discusses Oracle Fusion Procurement and Spend Analytics. It provides an overview of the features and capabilities, including pre-built analytics content to provide insights into purchasing, sourcing, and supplier performance. Examples of reports and dashboards are demonstrated. The value of Oracle's prebuilt analytics for Fusion Applications is discussed.
This document provides an overview and instructions for implementing and using Oracle Performance Management. It covers topics such as setting up performance management plans, objectives, appraisals, templates, and questionnaires. It also describes tasks for various roles including managers, HR professionals, and workers. The document contains sample scoring formulas and a glossary of HRMS terms.
Oracle database 12c 2 day + real application clusters guidebupbechanhgmail
This document provides a guide for deploying an Oracle Real Application Clusters environment. It covers preparing the cluster, installing Oracle Grid Infrastructure and Oracle RAC, administering database instances and cluster databases, managing Oracle Clusterware components, and backup and recovery of Oracle RAC databases. The guide is intended for database administrators deploying Oracle RAC and includes instructions for installing and configuring Oracle RAC using tools like Oracle Universal Installer and SRVCTL.
With Oracle Enterprise Scheduler, you can define, schedule and run jobs.
A job is a unit of work done on an application's behalf. For example, you might define a job that runs a particular PL/SQL function or command-line process. You can define a job that
executes Java code. Those job types are included with Oracle Enterprise Scheduler:
• Java job type for executing Java code.
• Web Service job type.
• EJB job type.
• Process job type for executing a command-line command.
• PL/SQL job type for executing functions in Oracle's extension language for SQL.
This document provides an overview of how to set up Oracle SCM Cloud Backlog Management including enabling the work area, configuring planning options, collecting demand and supply data, defining demand priority and backlog planning rules, and ensuring sourcing and supply network models are configured to allow for backlog planning of sales orders from Oracle Fusion applications. It describes the key planning and analysis processes in Backlog Management for simulating fulfillment of at-risk orders and releasing planned results.
This document is the user guide for Oracle Assets Release 12. It describes how to setup and maintain assets in the Oracle Assets application. Key sections include adding assets individually or in bulk via the mass additions process, defining asset details and depreciation rules, performing adjustments, and adding assets in short tax years. The guide provides instructions for common asset management tasks in Oracle Assets.
Oracle® database 2 days security guide e10575imranshahid7861
An Oracle guide for securing Oracle Database covering common security tasks such as securing user accounts, managing privileges, securing the network, encrypting data, and auditing database activity. It includes tutorials and guidelines for tasks such as creating secure application roles, enforcing row-level security with Oracle Label Security, and controlling administrator access with Oracle Database Vault. The document is intended for database administrators who want to perform common day-to-day security tasks.
This document provides an overview and instructions for using Oracle Incentive Compensation to define compensation plans, collect sales transactions, calculate compensation payouts, and generate reports. It describes the responsibilities of different user roles and how to set up rules, plans, resources, transactions, and payments. The guide also includes examples of common compensation scenarios and integrations with other Oracle applications.
This document provides an overview of Oracle Data Integrator (ODI) 11g Release 1 (11.1.1) and its developer's guide. It includes information about new features, documentation accessibility, related documents, and table of contents. The document is copyrighted by Oracle and describes restrictions on the use of ODI software and documentation. It also contains Oracle trademark information.
This document provides installation instructions for Oracle9i Database on Windows. It includes information on planning the installation, reviewing system requirements, installing Oracle components like the database, client, and management tools, and post-installation configuration tasks. The document has several chapters that cover pre-installation planning, installing Oracle components, reviewing the contents of a starter database, and post-installation configuration. It also includes appendices that describe individual Oracle components and provide additional installation guidance for features like Oracle Real Application Clusters and transparent gateways to other databases.
This document provides a guide to backing up and recovering Oracle databases using Recovery Manager (RMAN) and user-managed techniques. It covers RMAN backup and recovery concepts, starting and configuring RMAN, making RMAN backups of datafiles, control files, archived redo logs and incremental backups. It also covers restoring and recovering databases using RMAN as well as features like Flashback Database and restore points.
This document is the user guide for Oracle Manufacturing Scheduling Release 12. It contains information on setting up manufacturing scheduling, using the scheduler workbench, creating and importing jobs, reviewing exception messages, rescheduling discrete jobs, and shop floor modeling. The guide includes chapters on setup, the scheduler workbench, jobs, exceptions, rescheduling, and shop floor modeling. It provides instructions and reference information to help users schedule manufacturing jobs and resources effectively.
This document introduces Oracle WebCenter Suite, which provides tools and services to help developers build applications that simplify transactions for users. Key components of WebCenter Suite include the WebCenter Framework, which enhances the Java Server Faces environment and allows portlets and content to be integrated into applications. WebCenter Services provide capabilities for communication, content management, customization, and search that can be utilized by applications to provide additional context and functionality for users. The tutorial will teach how to use the WebCenter Framework to build applications that leverage these services.
This document provides guidance on using Oracle Services Procurement to process the procurement of complex work and contingent workers. It discusses the licenses, profile options, and concurrent programs used in Oracle Services Procurement. It also provides overviews and steps for setting up Oracle Purchasing, Approvals Management, E-Business Tax, Procurement Contracts, iProcurement, Human Resources, Time and Labor, Internet Expenses, and Projects to process the procurement of complex work and contingent workers. Finally, it describes the key features and steps for processing complex work procurement and contingent worker procurement within Oracle Services Procurement.
This document provides instructions for installing Oracle Application Express release 4.2 for Oracle Database 12c. Key aspects covered include:
- Understanding the multitenant architecture in Oracle Database 12c and how it impacts Application Express installation.
- Choosing between installing Application Express from the database and configuring either Oracle REST Data Services, the embedded PL/SQL Gateway, or Oracle HTTP Server.
- Required pre-installation tasks like checking database requirements and choosing a web listener.
- Post-installation tasks like creating a workspace, adding users, and converting between runtime and development environments.
Oracle Asset Tracking integrates with various Oracle applications to track inventory items and assets throughout their lifecycle, from purchase to deployment and retirement, facilitating financial transactions. It utilizes Oracle Installed Base as its data repository to record all transactions and associated records. Oracle Asset Tracking provides a centralized view of assets and their activity across different systems for improved tracking and management.
Flashback Database allows rewinding a database to undo data corruptions or errors. It works by using redo logs and block images to restore the database to a previous state. Configuring Flashback Database requires enabling it, setting a retention target, and having the database in ARCHIVELOG mode. Operations include flashing back to a time, SCN, or restore point. Monitoring involves checking the flashback window and log sizes.
This document discusses user-managed database backup and recovery, including:
- The difference between user-managed and server-managed backup which uses OS commands versus RMAN.
- How to perform a complete database recovery by restoring files and archive logs and applying redo logs.
- How to perform incomplete recovery to recover to a past time or SCN by restoring files and applying redo logs until a specified point.
This document provides a complete reference for the Server Control Utility (SRVCTL) in Oracle Database. It includes topics on using SRVCTL to manage configuration information for databases, instances, listeners, and other clusterware resources. The document outlines the SRVCTL command syntax and privileges required to perform administrative tasks. It also lists deprecated SRVCTL commands and options in Oracle Database 11g Release 2.
This document discusses how to configure Oracle database backup settings using Recovery Manager (RMAN). It covers setting persistent RMAN configuration settings, enabling automatic control file backups, configuring backup destinations and channels, optimizing backups, and creating compressed or encrypted backups. Key topics include using the CONFIGURE command to set backup retention policies, backup copy settings, and backup optimization parameters, as well as allocating channels and specifying backup device types and locations.
Tablespace point-in-time recovery (TSPITR) allows recovery of one or more tablespaces to an earlier point in time without affecting other tablespaces. It performs restore and recovery of data files for the recovery set and auxiliary set to the target time, then exports and imports metadata to make the recovered tablespaces available. TSPITR is useful for undoing DML changes or recovering from logical corruption in a subset of the database, and can be fully automated using RMAN or performed with a custom auxiliary instance.
Duplicating a database creates an identical copy of a database that can be used for testing or recovery purposes. There are multiple techniques for duplicating a database using RMAN, including duplicating from an active database, from RMAN backups, with or without connections to the target instance, recovery catalog, or using backups alone. The key steps are preparing the auxiliary instance, ensuring backups and redo logs are available, allocating auxiliary channels, and using the RMAN DUPLICATE command to restore files and recover the database.
This document provides a summary of vi editor commands organized into sections on general startup, counts, cursor movement, screen movement, inserting, deleting, copying code, find commands, miscellaneous commands, line editor mode, ex commands, substitutions, reading files, write file, moving, and shell escape. It explains how to start and exit vi, move the cursor, search for text, edit text, and use ex commands.
This document discusses managing memory in Oracle Database. It describes the different components of memory including the SGA and PGA. It emphasizes using Automatic Memory Management (AMM) and Automatic Shared Memory Management (ASMM) to automatically configure memory, rather than manual configuration. It provides guidelines for monitoring and optimizing memory usage.
This document provides an overview of how to create backups with RMAN (Recovery Manager) in Oracle. It discusses creating image file backups, whole database backups, full database backups, enabling fast incremental backups, duplex backup sets, backing up backup sets, multisection backups, archival backups, and reporting on and maintaining backups. The objectives are to learn how to perform various backup tasks with RMAN and manage those backups.
This document discusses how Oracle databases automatically manage space and techniques for optimizing space usage. It covers deferred segment creation, compression, monitoring tablespace usage, using the segment advisor to identify space savings opportunities, and shrinking segments to reclaim space. Resumable space allocation is also described to allow DML statements to resume if suspended due to space issues.
This document discusses database restore and recovery tasks. It describes causes of file loss like user errors, application errors, and media failures. It also discusses different recovery operations like restoring from backups, recovering redo logs, and recovering the control file. Critical vs non-critical file losses are defined. Automatic recovery of temporary files is also covered.
This document discusses diagnosing database issues and corruption. It covers the Data Recovery Advisor, which can detect, analyze, and repair failures. It also covers handling block corruption, setting up the Automatic Diagnostic Repository (ADR) to store diagnostic data, and using the Health Monitor to perform proactive database checks. Key topics include listing and advising on failures using RMAN, performing block media recovery, viewing ADR data with ADRCI, and running manual and automatic Health Monitor checks.
This document discusses using Oracle's Recovery Manager (RMAN) to perform various database recovery tasks, including recovering from the loss of data files, using incremental backups to reduce recovery time, switching to image copies for fast recovery, restoring a database to a new host, and performing disaster recovery. It provides examples of using RMAN commands like RESTORE, RECOVER, SWITCH, and SET NEWNAME to restore and recover database files from backups.
The document discusses how to configure and use the Oracle Database Resource Manager. It describes how to create resource plans and consumer groups, specify directives to allocate resources, map consumer groups to plans, activate a resource plan, and monitor resource usage. The Resource Manager allows managing resources like CPU, parallelism, sessions, and timeouts across different workload groups.
This document discusses configuring a database for recoverability. It covers placing a database in ARCHIVELOG mode, configuring multiple archive log destinations, configuring the Fast Recovery Area (FRA), and specifying retention policies. The key benefits of using the FRA are that it simplifies backup management and automatically manages disk space for recovery files.
This document discusses managing space for databases, including:
- Using 4KB sector disks and specifying disk sector sizes when creating databases, data files, and redo log files.
- Transporting tablespaces and databases between platforms using RMAN and Data Pump utilities.
- The process involves making tablespaces read-only, converting data files to the target platform format, importing metadata, and making tablespaces read/write on the target system.
This document discusses Oracle's flashback technologies including Total Recall and the recycle bin. Total Recall allows tracking of historical database changes at the table level and querying past data. The recycle bin stores dropped objects and allows restoring them. The document covers setting up Total Recall, accessing historical data, managing space usage in the recycle bin, and querying the recycle bin.
The document discusses how to automate tasks using the Oracle Database Scheduler. It describes the core components of the Scheduler including jobs, programs, schedules, and arguments. It provides examples of how to create time-based and event-based schedules. It also covers more advanced Scheduler concepts such as job chains, windows, job classes, and prioritization of jobs.
Flashback technology allows users to view and recover data to previous points in time. The document discusses several Flashback features: Flashback Query lets users view data as of a past time; Flashback Version Query shows row versions between times; Flashback Table recovers an entire table; and Flashback Transaction backs out changes from a problematic transaction. The document provides examples and considerations for using each Flashback feature.
This document provides an overview of Oracle Database architecture on Windows and describes how to perform postinstallation configuration and administration tasks. It covers topics such as choosing database tools, creating and managing services, monitoring performance, and optimizing Windows settings. The document also provides guidance on backing up and recovering databases using Volume Shadow Copy Service (VSS).
Oracle Database Advanced Replication documentation describes features for replicating data across multiple database servers. It allows for both multimaster replication where multiple sites can update data, and materialized view replication where data is replicated from a master to read-only sites. The documentation covers concepts, architecture, planning, troubleshooting and other aspects of setting up and managing an advanced replication environment.
This document provides an overview and instructions for using Oracle Receivables to manage accounts receivable transactions. It covers topics such as entering transactions, applying receipts, recognizing revenue, electronic payment processing, and accounting. The document is the user guide for Oracle Receivables Release 12.1.
This document provides an implementation and user guide for Oracle Global Order Promising. It describes how to set up and use ATP functionality based on both collected data and planning output. Key topics covered include basic, multi-level, and configuration ATP, product families, allocated ATP, end item substitution, lot-based components, continual ATP, multiple plans, and improving ATP performance. It also describes ATP inquiry, order scheduling, diagnostic ATP, and the order backlog workbench.
Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...Berry Clemens
The document discusses design patterns for Oracle Applications Cloud Service. It describes common page types like view pages, action pages, and landing pages. It also covers common UI components like headers, footers, page tabs, and tables. Pattern sets are provided to standardize how users can add or view data in tables. The goal is to simplify the user experience through consistent and intuitive page and interface designs.
This document provides an overview and instructions for administering Oracle Trading Community Architecture. It covers general implementation tasks like assigning user responsibilities and setting up business events. It also covers feature-specific implementation for various Oracle Trading Community Architecture modules like batch address validation, customer merge, and relationship management. The document is intended to help administrators implement and configure the system.
This document is the Oracle Database PL/SQL Language Reference for version 12c Release 1 (12.1). It describes the main features of PL/SQL including blocks, variables, subprograms, packages, triggers, input/output capabilities, and control statements. The document provides documentation and syntax descriptions to help developers write PL/SQL code. It notes changes in this release such as new capabilities for result caching, data types, triggers, libraries, views and privileges.
The document provides an overview of Oracle Database Client installation, including:
- Planning considerations such as hardware sizing and supported platforms
- Different installation methods like interactive and non-interactive using response files
- Installation types including default and customized client installations
- Interoperability between Oracle Database Client and Oracle Database
Oracle@cloud adapter(SFDC integration with SOA Suites12c)TUSHAR VARSHNEY
This document provides an overview and instructions for using the Oracle Cloud Adapter for Salesforce.com. It describes the adapter's architecture and lifecycle. It also covers how to set up and configure the connection parameters for Salesforce.com, import the necessary certificates, enable the adapter in design-time and run-time, and supported Salesforce API operations.
This document provides an implementation guide for Oracle Financials Release 12. It outlines considerations for designing accounting setups, including whether to use one or multiple legal entities. It describes how to create accounting setups using the Accounting Setup Manager, including defining legal entities, ledgers, reporting currencies, and journal conversion rules. It also provides examples of different accounting setup structures and comparisons of feature support across different setup options.
Oracle database 12c application express end user's guidebupbechanhgmail
This document provides an overview of new features and changes in Oracle Application Express Release 4.2 from an end user perspective. Key updates include modernized interactive reports with improved date filtering, the ability to link directly to data grids from websheets, column aliases and improved lookups for data loading, and concurrency checking for uploaded data. Documentation content and screenshots were revised to cover the latest release functionality.
This document provides instructions for installing Oracle Database Client 12c Release 1 (12.1) on Oracle Solaris. It discusses planning the installation, reviewing prerequisites and requirements, running the installation, and performing postinstallation tasks. The document contains information about installing Oracle Database Client using response files, configuring globalization support, troubleshooting, and frequently asked questions.
This document provides a summary of the Oracle Database 2 Day + Security Guide, which introduces common day-to-day security tasks in Oracle Database. The guide is intended for database administrators who want to learn database security skills or who have some security knowledge but are new to Oracle Database. It covers topics such as securing the database installation, managing user privileges, encrypting data, controlling access with Oracle Database Vault, restricting access with Oracle Virtual Private Database, limiting access to sensitive data using Oracle Data Redaction, enforcing row-level security with Oracle Label Security, and auditing database activity. The guide includes tutorials for each of these security features to help the reader learn how to implement them. It also references related Oracle security documentation for more
This document provides a business user guide for Oracle Utilities Meter Data Management/Smart Grid Gateway release 2.2.0.2. It includes an overview of the software's functionalities and interfaces, a glossary of terms, and descriptions of standard interface features such as page components, buttons, fields and menus.
The document provides an overview of the key functionality in Oracle Utilities Meter Data Management, which includes processes for defining meters and installations, processing initial and final meter readings, calculating usage, managing communications, and reporting. It also describes the standard user interface features and components used across the application.
Here are the key steps to set up Oracle Engineering:
1. Set profile options - Required
2. Enter employee information - Required
3. Define ECO types (optional but recommended)
4. Define ECO departments (optional)
5. Define ECO autonumbering sequences (optional)
6. Define ECO approval lists (optional but recommended)
7. Define material dispositions (optional)
8. Define ECO reasons (optional)
9. Define ECO priorities (optional)
10. Start the AutoImplement Manager (optional)
You'll also need to complete some prerequisite setup in Oracle Inventory and Bills of Material. Let me know if you need any clarification or have
Oracle Fusion Cloud Advanced Controls regulates activity in business applications through two components: Oracle Advanced Access Controls and Oracle Advanced Financial Controls. It includes models that establish risk logic and controls that adopt a model's logic to generate permanent incidents. Models return temporary results while controls return permanent incidents. Notifications and worklists inform users of tasks requiring attention, such as new incidents for controls where they are investigators. Records are secured by authorizing eligible users as owners, editors, or viewers.
The document is the Oracle Database Client Installation Guide for Linux which provides instructions on installing Oracle Database Client 12c Release 1 (12.1) on Linux systems. It covers topics such as planning the installation, system requirements, preinstallation tasks, installing Oracle Database Client, and postinstallation tasks. The guide has several appendixes that discuss installing using response files, configuring globalization support, and troubleshooting. It is intended for anyone responsible for installing Oracle Database Client 12cR1.
This document provides an overview and summary of Oracle's Transparent Data Encryption (TDE) and Data Redaction capabilities. TDE allows encryption of entire tablespaces or specific columns in the database for data at rest, without requiring changes to applications. Data Redaction allows masking of sensitive data for test or development environments using full, partial or random redaction. The document covers how to configure TDE with software or hardware keystores, encrypt columns and tablespaces, and manage encryption keys. It also covers Oracle Data Redaction policies, capabilities for different data types, and integration with other Oracle features like Data Guard.
This document provides an overview and introduction to the Oracle Customer Data Librarian User Guide. It contains information about the primary author and contributors to the guide. It also includes standard legal information and notes about intended use and government use. The document contains a table of contents that lists the chapters included in the guide.
This document discusses using Oracle tools to manage database performance through SQL tuning. It covers using the SQL Tuning Advisor to identify and tune SQL statements that use the most resources. It also discusses using the SQL Access Advisor to tune a workload and the SQL Performance Analyzer to compare SQL performance before and after changes. The objectives are to learn to use these tools to optimize SQL performance and tune applications and workloads.
This document discusses database performance monitoring and tuning. It covers monitoring sessions and services, database replay for testing, and collecting optimizer statistics. The key activities for performance management are planning, instance tuning, and SQL tuning. Performance is monitored using views for sessions, services, wait events, and statistics. Tuning involves identifying and addressing the greatest resource bottlenecks. Database replay captures production workloads to test systems with realistic data.
This document discusses monitoring and tuning RMAN backup and restore performance. It describes how to configure RMAN for asynchronous I/O and multiplexing, monitor job progress, identify bottlenecks, and balance backup speed versus recovery speed. Specific parameters like MAXPIECESIZE, FILESPERSET, and MAXOPENFILES are examined for their effect on performance.
This document discusses using a recovery catalog with RMAN for database backups and recovery. It covers:
1. The benefits of using a recovery catalog over just the control file, such as storing more historical data.
2. Creating a recovery catalog which involves configuring a catalog database, creating an owner, and generating the catalog.
3. Registering target databases with the catalog and maintaining the catalog's synchronization with database changes.
This document provides an overview of Oracle database concepts and tools. It describes the core components of an Oracle database including the database, server processes, memory structures, and client/server architecture. It also outlines the tools used to configure an Oracle database such as the Oracle Universal Installer, Database Configuration Assistant, and command line utilities. Automatic Storage Management (ASM) is discussed as the preferred storage management solution.
This document provides an introduction and schedule for an Oracle Database 11g administration course. The course objectives include configuring the database for recovery, performing backups and recovery with RMAN, using flashback technology, monitoring and tuning performance, automating tasks with the scheduler, managing space, and duplicating databases. The course will cover these topics over 5 days with lessons on backup and recovery, memory management, performance tuning, resource management, and space management. Examples will use the HR sample schema which includes tables for regions, countries, locations, departments, jobs, employees, and job history.
This document discusses how to harden the Solaris operating system to prevent attacks. It provides guidance on configuring the kernel, filesystem permissions, user accounts, services, and network settings to improve security. A variety of tools are also summarized that can help automate and guide the hardening process, such as Fix-modes, Titan, Jass, and Yassp. Regular patching is emphasized as a key part of maintaining a hardened Solaris system.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
3. iii
Contents
Preface............................................................................................................................................................... xix
Changes in This Release for Oracle Database SQL Tuning............................................. xxi
Part I SQL Performance Fundamentals
1 Introduction to SQL Tuning
About SQL Tuning................................................................................................................................... 1-1
Purpose of SQL Tuning .......................................................................................................................... 1-1
Prerequisites for SQL Tuning................................................................................................................ 1-2
Tasks and Tools for SQL Tuning.......................................................................................................... 1-2
SQL Tuning Tasks.............................................................................................................................. 1-2
SQL Tuning Tools .............................................................................................................................. 1-4
Automated SQL Tuning Tools.................................................................................................. 1-4
Manual SQL Tuning Tools......................................................................................................... 1-6
User Interfaces to SQL Tuning Tools .............................................................................................. 1-8
2 SQL Performance Methodology
Designing Your Application .................................................................................................................. 2-1
Data Modeling.................................................................................................................................... 2-1
Writing Efficient Applications ......................................................................................................... 2-1
Deploying Your Application.................................................................................................................. 2-2
Deploying in a Test Environment.................................................................................................... 2-3
Rollout Strategies ............................................................................................................................... 2-4
Part II The Query Optimizer
3 SQL Processing
About SQL Processing............................................................................................................................. 3-1
SQL Parsing......................................................................................................................................... 3-2
Syntax Check ............................................................................................................................... 3-3
Semantic Check ........................................................................................................................... 3-3
Shared Pool Check...................................................................................................................... 3-3
SQL Optimization .............................................................................................................................. 3-5
4. iv
SQL Row Source Generation............................................................................................................ 3-5
SQL Execution .................................................................................................................................... 3-6
How Oracle Database Processes DML................................................................................................. 3-8
Read Consistency ............................................................................................................................... 3-8
Data Changes...................................................................................................................................... 3-9
How Oracle Database Processes DDL.................................................................................................. 3-9
4 Query Optimizer Concepts
Introduction to the Query Optimizer................................................................................................... 4-1
Purpose of the Query Optimizer...................................................................................................... 4-1
Cost-Based Optimization .................................................................................................................. 4-2
Execution Plans .................................................................................................................................. 4-2
Query Blocks................................................................................................................................ 4-3
Query Subplans........................................................................................................................... 4-3
Analogy for the Optimizer ........................................................................................................ 4-3
About Optimizer Components .............................................................................................................. 4-4
Query Transformer ............................................................................................................................ 4-4
Estimator ............................................................................................................................................. 4-5
Selectivity ..................................................................................................................................... 4-6
Cardinality .................................................................................................................................. 4-7
Cost .............................................................................................................................................. 4-7
Plan Generator.................................................................................................................................... 4-8
About Automatic Tuning Optimizer................................................................................................. 4-10
About Adaptive Query Optimization ............................................................................................... 4-10
Adaptive Plans ................................................................................................................................ 4-11
How Adaptive Plans Work .................................................................................................... 4-11
Adaptive Plans: Join Method Example................................................................................. 4-12
Adaptive Plans: Parallel Distribution Methods................................................................... 4-14
Adaptive Statistics........................................................................................................................... 4-16
Dynamic Statistics.................................................................................................................... 4-16
Automatic Reoptimization ..................................................................................................... 4-16
SQL Plan Directives................................................................................................................. 4-19
About Optimizer Management of SQL Plan Baselines................................................................. 4-19
5 Query Transformations
OR Expansion............................................................................................................................................ 5-1
View Merging ........................................................................................................................................... 5-2
Query Blocks in View Merging........................................................................................................ 5-3
Simple View Merging........................................................................................................................ 5-3
Complex View Merging.................................................................................................................... 5-5
Predicate Pushing..................................................................................................................................... 5-8
Subquery Unnesting................................................................................................................................ 5-9
Query Rewrite with Materialized Views ............................................................................................ 5-9
Star Transformation.............................................................................................................................. 5-10
About Star Schemas ........................................................................................................................ 5-10
Purpose of Star Transformations .................................................................................................. 5-11
How Star Transformation Works ................................................................................................. 5-11
5. v
Controls for Star Transformation.................................................................................................. 5-11
Star Transformation: Scenario....................................................................................................... 5-12
Temporary Table Transformation: Scenario ............................................................................... 5-14
Table Expansion .................................................................................................................................... 5-16
Purpose of Table Expansion .......................................................................................................... 5-16
How Table Expansion Works........................................................................................................ 5-16
Table Expansion: Scenario ............................................................................................................. 5-17
Table Expansion and Star Transformation: Scenario................................................................. 5-20
Join Factorization................................................................................................................................... 5-21
Purpose of Join Factorization ........................................................................................................ 5-21
How Join Factorization Works...................................................................................................... 5-22
Factorization and Join Orders: Scenario ...................................................................................... 5-22
Factorization of Outer Joins: Scenario.......................................................................................... 5-23
6 Optimizer Access Paths
Introduction to Access Paths.................................................................................................................. 6-1
Table Access Paths ................................................................................................................................... 6-2
About Heap-Organized Table Access............................................................................................. 6-2
Row Storage in Data Blocks and Segments: A Primer .......................................................... 6-2
Importance of Rowids for Row Access.................................................................................... 6-3
Direct Path Reads........................................................................................................................ 6-3
Full Table Scans.................................................................................................................................. 6-4
When the Optimizer Considers a Full Table Scan ................................................................. 6-4
How a Full Table Scan Works................................................................................................... 6-5
Full Table Scan: Example........................................................................................................... 6-7
Table Access by Rowid...................................................................................................................... 6-7
When the Optimizer Chooses Table Access by Rowid ......................................................... 6-7
How Table Access by Rowid Works........................................................................................ 6-8
Table Access by Rowid: Example............................................................................................. 6-8
Sample Table Scans............................................................................................................................ 6-8
When the Optimizer Chooses a Sample Table Scan .............................................................. 6-8
Sample Table Scans: Example ................................................................................................... 6-9
B-Tree Index Access Paths...................................................................................................................... 6-9
About B-Tree Index Access............................................................................................................ 6-10
How Index Storage Affects Index Scans............................................................................... 6-10
Unique and Nonunique Indexes............................................................................................ 6-11
B-Tree Indexes and Nulls........................................................................................................ 6-11
Index Unique Scans ........................................................................................................................ 6-13
When the Optimizer Considers Index Unique Scans ......................................................... 6-13
How Index Unique Scans Work ............................................................................................ 6-14
Index Unique Scans: Example................................................................................................ 6-14
Index Range Scans........................................................................................................................... 6-15
When the Optimizer Considers Index Range Scans ........................................................... 6-15
How Index Range Scans Work .............................................................................................. 6-16
Index Range Scan: Example ................................................................................................... 6-17
Index Range Scan Descending: Example.............................................................................. 6-18
Index Full Scans............................................................................................................................... 6-18
6. vi
When the Optimizer Considers Index Full Scans ............................................................... 6-18
How Index Full Scans Work................................................................................................... 6-19
Index Full Scans: Example...................................................................................................... 6-19
Index Fast Full Scans ...................................................................................................................... 6-20
When the Optimizer Considers Index Fast Full Scans ....................................................... 6-20
How Index Fast Full Scans Work .......................................................................................... 6-20
Index Fast Full Scans: Example.............................................................................................. 6-20
Index Skip Scans.............................................................................................................................. 6-21
When the Optimizer Considers Index Skips Scans............................................................. 6-21
How Index Skip Scans Work.................................................................................................. 6-21
Index Skip Scans: Example..................................................................................................... 6-21
Index Join Scans............................................................................................................................... 6-22
When the Optimizer Considers Index Join Scans ............................................................... 6-23
How Index Join Scans Work................................................................................................... 6-23
Index Join Scans: Example...................................................................................................... 6-23
Bitmap Index Access Paths.................................................................................................................. 6-24
About Bitmap Index Access........................................................................................................... 6-24
Purpose of Bitmap Indexes..................................................................................................... 6-25
Bitmaps and Rowids................................................................................................................ 6-26
Bitmap Join Indexes................................................................................................................. 6-26
Bitmap Storage ......................................................................................................................... 6-27
Bitmap Conversion to Rowid........................................................................................................ 6-28
When the Optimizer Chooses Bitmap Conversion to Rowid............................................ 6-28
How Bitmap Conversion to Rowid Works .......................................................................... 6-28
Bitmap Conversion to Rowid: Example ............................................................................... 6-28
Bitmap Index Single Value ............................................................................................................ 6-28
When the Optimizer Considers Bitmap Index Single Value............................................. 6-29
How Bitmap Index Single Value Works............................................................................... 6-29
Bitmap Index Single Value: Example.................................................................................... 6-29
Bitmap Index Range Scans............................................................................................................. 6-29
When the Optimizer Considers Bitmap Index Range Scans ............................................. 6-29
How Bitmap Index Range Scans Work................................................................................. 6-29
Bitmap Index Range Scans: Example.................................................................................... 6-29
Bitmap Merge .................................................................................................................................. 6-30
When the Optimizer Considers Bitmap Merge................................................................... 6-30
How Bitmap Merge Works..................................................................................................... 6-30
Bitmap Index Single Value: Example.................................................................................... 6-30
Table Cluster Access Paths.................................................................................................................. 6-31
Cluster Scans.................................................................................................................................... 6-31
When the Optimizer Considers Cluster Scans .................................................................... 6-31
How Cluster Scans Work........................................................................................................ 6-31
Cluster Scans: Example ........................................................................................................... 6-32
Hash Scans ....................................................................................................................................... 6-32
When the Optimizer Considers a Hash Scan....................................................................... 6-33
How a Cluster Scan Works..................................................................................................... 6-33
Cluster Scan: Example............................................................................................................. 6-33
7. vii
7 Join Methods
About Join Methods................................................................................................................................. 7-1
How the Query Optimizer Executes Join Statements .................................................................. 7-1
How the Query Optimizer Chooses Execution Plans for Joins................................................... 7-1
Nested Loops Joins................................................................................................................................... 7-3
Original and New Implementation for Nested Loops Joins........................................................ 7-3
Original Implementation for Nested Loops Joins.................................................................. 7-3
New Implementation for Nested Loops Joins ........................................................................ 7-4
When the Optimizer Considers Nested Loops Joins .................................................................... 7-5
Nested Loops Join Hints ................................................................................................................... 7-5
Nesting Nested Loops ....................................................................................................................... 7-6
Hash Joins.................................................................................................................................................. 7-6
When the Optimizer Considers Hash Joins ................................................................................... 7-6
Hash Join Hints .................................................................................................................................. 7-7
Sort Merge Joins ....................................................................................................................................... 7-7
When the Optimizer Considers Sort Merge Joins ......................................................................... 7-7
Sort Merge Join Hints ........................................................................................................................ 7-7
Cartesian Joins .......................................................................................................................................... 7-8
When the Optimizer Considers Cartesian Joins............................................................................ 7-8
Cartesian Join Hints........................................................................................................................... 7-8
Outer Joins................................................................................................................................................. 7-8
Nested Loop Outer Joins................................................................................................................... 7-8
Hash Join Outer Joins ........................................................................................................................ 7-9
Sort Merge Outer Joins................................................................................................................... 7-11
Full Outer Joins................................................................................................................................ 7-11
Multiple Tables on the Left of an Outer Join............................................................................... 7-12
Part III Query Execution Plans
8 Generating and Displaying Execution Plans
Introduction to Execution Plans ............................................................................................................ 8-1
About Plan Generation and Display .................................................................................................... 8-1
About the Plan Explanation.............................................................................................................. 8-1
Why Execution Plans Change .......................................................................................................... 8-2
Different Schemas ...................................................................................................................... 8-2
Different Costs ............................................................................................................................ 8-2
Minimizing Throw-Away................................................................................................................. 8-3
Looking Beyond Execution Plans .................................................................................................... 8-3
Using V$SQL_PLAN Views...................................................................................................... 8-3
EXPLAIN PLAN Restrictions........................................................................................................... 8-4
The PLAN_TABLE Output Table.................................................................................................... 8-4
Generating Execution Plans ................................................................................................................... 8-5
Identifying Statements for EXPLAIN PLAN ................................................................................. 8-5
Specifying Different Tables for EXPLAIN PLAN ......................................................................... 8-6
Displaying PLAN_TABLE Output ....................................................................................................... 8-6
Displaying an Execution Plan: Example......................................................................................... 8-6
8. viii
Customizing PLAN_TABLE Output............................................................................................... 8-7
9 Reading Execution Plans
Reading Execution Plans: Basic............................................................................................................. 9-1
Reading Execution Plans: Advanced.................................................................................................... 9-2
Reading Adaptive Plans.................................................................................................................... 9-2
Viewing Parallel Execution with EXPLAIN PLAN ...................................................................... 9-6
Viewing Parallel Queries with EXPLAIN PLAN................................................................... 9-7
Viewing Bitmap Indexes with EXPLAIN PLAN........................................................................... 9-8
Viewing Result Cache with EXPLAIN PLAN ............................................................................... 9-9
Viewing Partitioned Objects with EXPLAIN PLAN..................................................................... 9-9
Examples of Displaying Range and Hash Partitioning with EXPLAIN PLAN................. 9-9
Examples of Pruning Information with Composite Partitioned Objects......................... 9-11
Examples of Partial Partition-Wise Joins.............................................................................. 9-12
Examples of Full Partition-wise Joins ................................................................................... 9-14
Examples of INLIST ITERATOR and EXPLAIN PLAN..................................................... 9-14
Example of Domain Indexes and EXPLAIN PLAN............................................................ 9-15
PLAN_TABLE Columns ................................................................................................................ 9-16
Execution Plan Reference .................................................................................................................... 9-24
Execution Plan Views ..................................................................................................................... 9-24
PLAN_TABLE Columns ................................................................................................................ 9-25
DBMS_XPLAN Program Units ..................................................................................................... 9-33
Part IV Optimizer Statistics
10 Optimizer Statistics Concepts
Introduction to Optimizer Statistics.................................................................................................. 10-1
About Optimizer Statistics Types...................................................................................................... 10-2
Table Statistics ................................................................................................................................. 10-3
Column Statistics............................................................................................................................. 10-3
Index Statistics................................................................................................................................. 10-4
Index Clustering Factor........................................................................................................... 10-5
Session-Specific Statistics for Global Temporary Tables........................................................... 10-8
System Statistics ............................................................................................................................ 10-10
User-Defined Optimizer Statistics .............................................................................................. 10-10
How the Database Gathers Optimizer Statistics........................................................................... 10-10
DBMS_STATS Package ................................................................................................................ 10-11
Dynamic Statistics......................................................................................................................... 10-11
Online Statistics Gathering for Bulk Loads ............................................................................... 10-12
When the Database Gathers Optimizer Statistics......................................................................... 10-13
SQL Plan Directives ...................................................................................................................... 10-14
About SQL Plan Directives................................................................................................... 10-14
How the Optimizer Uses SQL Plan Directives: Example ................................................ 10-15
How the Optimizer Uses Extensions and SQL Plan Directives: Example..................... 10-19
When the Database Samples Data .............................................................................................. 10-22
How the Database Samples Data................................................................................................ 10-24
9. ix
11 Histograms
Purpose of Histograms ......................................................................................................................... 11-1
Cardinality Algorithms When Using Histograms .......................................................................... 11-1
Endpoint Numbers and Values..................................................................................................... 11-2
Popular and Unpopular Values.................................................................................................... 11-2
Bucket Compression....................................................................................................................... 11-2
Frequency Histograms.......................................................................................................................... 11-3
Criteria For Frequency Histograms.............................................................................................. 11-3
Generating a Frequency Histogram ............................................................................................. 11-4
Generating a Top Frequency Histogram ..................................................................................... 11-7
Height-Balanced Histograms (Legacy)............................................................................................ 11-10
Criteria for Height-Balanced Histograms.................................................................................. 11-10
Generating a Height-Balanced Histogram ................................................................................ 11-10
Hybrid Histograms ............................................................................................................................. 11-13
How Endpoint Repeat Counts Work ......................................................................................... 11-13
Criteria for Hybrid Histograms .................................................................................................. 11-15
Generating a Hybrid Histogram................................................................................................. 11-15
12 Managing Optimizer Statistics: Basic Topics
About Optimizer Statistics Collection .............................................................................................. 12-1
Purpose of Optimizer Statistics Collection.................................................................................. 12-1
User Interfaces for Optimizer Statistics Management............................................................... 12-1
Graphical Interface for Optimizer Statistics Management ................................................ 12-1
Command-Line Interface for Optimizer Statistics Management...................................... 12-2
Controlling Automatic Optimizer Statistics Collection ................................................................ 12-3
Controlling Automatic Optimizer Statistics Collection Using Cloud Control....................... 12-3
Controlling Automatic Optimizer Statistics Collection from the Command Line................ 12-5
Setting Optimizer Statistics Preferences .......................................................................................... 12-7
About Optimizer Statistics Preferences ....................................................................................... 12-7
Procedures for Setting Statistics Gathering Preferences .................................................... 12-7
Setting Statistics Preferences: Example................................................................................. 12-8
Setting Global Optimizer Statistics Preferences Using Cloud Control ................................... 12-9
Setting Object-Level Optimizer Statistics Preferences Using Cloud Control......................... 12-9
Setting Optimizer Statistics Preferences from the Command Line ....................................... 12-10
Gathering Optimizer Statistics Manually ...................................................................................... 12-11
About Manual Statistics Collection with DBMS_STATS ........................................................ 12-11
Guidelines for Gathering Optimizer Statistics Manually........................................................ 12-12
Guideline for Accurate Statistics ......................................................................................... 12-13
Guideline for Gathering Statistics in Parallel .................................................................... 12-13
Guideline for Partitioned Objects........................................................................................ 12-13
Guideline for Frequently Changing Objects...................................................................... 12-14
Guideline for External Tables............................................................................................... 12-14
Determining When Optimizer Statistics Are Stale................................................................... 12-14
Gathering Schema and Table Statistics ...................................................................................... 12-15
Gathering Statistics for Fixed Objects ........................................................................................ 12-16
Gathering Statistics for Volatile Tables Using Dynamic Statistics......................................... 12-17
10. x
Gathering Optimizer Statistics Concurrently ........................................................................... 12-18
About Concurrent Statistics Gathering............................................................................... 12-18
Enabling Concurrent Statistics Gathering.......................................................................... 12-20
Configuring the System for Parallel Execution and Concurrent Statistics Gathering. 12-22
Monitoring Statistics Gathering Operations...................................................................... 12-23
Gathering Incremental Statistics on Partitioned Objects......................................................... 12-24
Purpose of Incremental Statistics......................................................................................... 12-25
How Incremental Statistics Maintenance Derives Global Statistics ............................... 12-25
How to Enable Incremental Statistics Maintenance.......................................................... 12-26
Maintaining Incremental Statistics for Partition Maintenance Operations................... 12-27
Maintaining Incremental Statistics for Tables with Stale or Locked Partition Statistics ..........
12-29
Gathering System Statistics Manually............................................................................................ 12-31
About Gathering System Statistics with DBMS_STATS.......................................................... 12-31
Guidelines for Gathering System Statistics ............................................................................... 12-32
Gathering Workload Statistics .................................................................................................... 12-33
About Workload Statistics.................................................................................................... 12-33
Using GATHER_SYSTEM_STATS with START and STOP ............................................ 12-34
Using GATHER_SYSTEM_STATS with INTERVAL ....................................................... 12-35
Gathering Noworkload Statistics................................................................................................ 12-36
Deleting System Statistics ............................................................................................................ 12-37
13 Managing Optimizer Statistics: Advanced Topics
Controlling Dynamic Statistics .......................................................................................................... 13-1
About Dynamic Statistics Levels .................................................................................................. 13-1
Setting Dynamic Statistics Levels Manually ............................................................................... 13-2
Disabling Dynamic Statistics......................................................................................................... 13-4
Publishing Pending Optimizer Statistics......................................................................................... 13-5
User Interfaces for Publishing Optimizer Statistics ................................................................... 13-6
Managing Published and Pending Statistics............................................................................... 13-8
Managing Extended Statistics........................................................................................................... 13-10
Managing Column Group Statistics........................................................................................... 13-11
About Statistics on Column Groups ................................................................................... 13-11
Detecting Useful Column Groups for a Specific Workload............................................. 13-14
Creating Column Groups Detected During Workload Monitoring............................... 13-17
Creating and Gathering Statistics on Column Groups Manually................................... 13-18
Displaying Column Group Information............................................................................. 13-19
Dropping a Column Group.................................................................................................. 13-20
Managing Expression Statistics................................................................................................... 13-20
About Expression Statistics .................................................................................................. 13-21
Creating Expression Statistics .............................................................................................. 13-22
Displaying Expression Statistics.......................................................................................... 13-23
Dropping Expression Statistics ............................................................................................ 13-24
Locking and Unlocking Optimizer Statistics ................................................................................ 13-24
Locking Statistics........................................................................................................................... 13-24
Unlocking Statistics....................................................................................................................... 13-25
Restoring Optimizer Statistics.......................................................................................................... 13-26
11. xi
Guidelines for Restoring Optimizer Statistics........................................................................... 13-26
Restrictions for Restoring Optimizer Statistics......................................................................... 13-26
Restoring Optimizer Statistics..................................................................................................... 13-27
Managing Optimizer Statistics Retention...................................................................................... 13-28
Obtaining Optimizer Statistics History...................................................................................... 13-28
Changing the Optimizer Statistics Retention Period ............................................................... 13-29
Purging Optimizer Statistics........................................................................................................ 13-30
Importing and Exporting Optimizer Statistics.............................................................................. 13-30
About Transporting Optimizer Statistics .................................................................................. 13-30
Transporting Optimizer Statistics to a Test Database.............................................................. 13-31
Running Statistics Gathering Functions in Reporting Mode..................................................... 13-33
Reporting on Past Statistics Gathering Operations...................................................................... 13-35
Managing SQL Plan Directives........................................................................................................ 13-37
Part V Optimizer Controls
14 Influencing the Optimizer
About Influencing the Optimizer ...................................................................................................... 14-1
Influencing the Optimizer with Initialization Parameters........................................................... 14-2
About Optimizer Initialization Parameters................................................................................. 14-3
Enabling Optimizer Features......................................................................................................... 14-4
Choosing an Optimizer Goal......................................................................................................... 14-5
Controlling Adaptive Optimization............................................................................................. 14-6
Influencing the Optimizer with Hints.............................................................................................. 14-7
About Optimizer Hints .................................................................................................................. 14-8
Types of Hints .......................................................................................................................... 14-8
Scope of Hints........................................................................................................................... 14-9
Considerations for Hints....................................................................................................... 14-10
Guidelines for Join Order Hints.................................................................................................. 14-10
15 Controlling Cursor Sharing
About Bind Variables and Cursors.................................................................................................... 15-1
SQL Sharing Criteria....................................................................................................................... 15-2
Adaptive Cursor Sharing............................................................................................................... 15-3
Bind-Sensitive Cursors............................................................................................................ 15-4
Bind-Aware Cursors................................................................................................................ 15-5
Cursor Merging........................................................................................................................ 15-6
Bind-Related Performance Views................................................................................................. 15-6
Designing Applications for Cursor Sharing ................................................................................... 15-7
Sharing Cursors for Existing Applications ...................................................................................... 15-8
How Similar Statements Can Share SQL Areas.......................................................................... 15-8
When to Set CURSOR_SHARING to FORCE............................................................................. 15-8
Part VI Monitoring and Tracing SQL
12. xii
16 Monitoring Database Operations
About Monitoring Database Operations.......................................................................................... 16-1
Purpose of Monitoring Database Operations ............................................................................. 16-1
Simple Database Operation Use Cases................................................................................. 16-3
Composite Database Operation Use Cases .......................................................................... 16-3
Database Operation Monitoring Concepts.................................................................................. 16-3
About the Architecture of Database Operations................................................................. 16-3
Composite Database Operations ........................................................................................... 16-5
Attributes of Database Operations........................................................................................ 16-5
User Interfaces for Database Operations Monitoring................................................................ 16-5
Monitored SQL Executions Page in Cloud Control............................................................ 16-6
DBMS_SQL_MONITOR Package.......................................................................................... 16-6
Views for Database Operations Monitoring ........................................................................ 16-6
Basic Tasks in Database Operations Monitoring........................................................................ 16-7
Enabling and Disabling Monitoring of Database Operations..................................................... 16-8
Enabling Monitoring of Database Operations at the System Level......................................... 16-8
Enabling and Disabling Monitoring of Database Operations at the Statement Level.......... 16-9
Creating a Database Operation........................................................................................................... 16-9
Reporting on Database Operations ................................................................................................. 16-10
17 Gathering Diagnostic Data with SQL Test Case Builder
Purpose of SQL Test Case Builder..................................................................................................... 17-1
Concepts for SQL Test Case Builder ................................................................................................. 17-1
SQL Incidents................................................................................................................................... 17-1
What SQL Test Case Builder Captures ........................................................................................ 17-2
Output of SQL Test Case Builder.................................................................................................. 17-3
User Interfaces for SQL Test Case Builder....................................................................................... 17-3
Graphical Interface for SQL Test Case Builder........................................................................... 17-3
Accessing the Incident Manager............................................................................................ 17-4
Accessing the Support Workbench ....................................................................................... 17-4
Command-Line Interface for SQL Test Case Builder ................................................................ 17-5
Running SQL Test Case Builder ........................................................................................................ 17-5
18 Performing Application Tracing
End-to-End Application Tracing ........................................................................................................ 18-1
About End-to-End Application Tracing ...................................................................................... 18-2
Purpose of End-to-End Application Tracing ....................................................................... 18-2
User Interfaces for End-to-End Application Tracing.......................................................... 18-2
Enabling and Disabling Statistic Gathering for End-to-End Tracing...................................... 18-2
Enabling and Disabling Statistics Gathering for a Client ID ............................................. 18-3
Enabling and Disabling Statistics Gathering for a Service, Module, and Action........... 18-3
Viewing Gathered Statistics for End-to-End Application Tracing .......................................... 18-4
Enabling and Disabling for End-to-End Tracing........................................................................ 18-4
Enabling and Disabling Tracing for a Client Identifier...................................................... 18-4
Enabling and Disabling Tracing for a Service, Module, and Action................................ 18-5
Tracing for Session................................................................................................................... 18-6
13. xiii
Tracing for Entire Instance or Database ............................................................................... 18-6
Viewing Enabled Traces for End to End Tracing ....................................................................... 18-7
Using the trcsess Utility ....................................................................................................................... 18-7
Syntax for trcsess............................................................................................................................. 18-7
Sample Output of trcsess ............................................................................................................... 18-8
Understanding SQL Trace and TKPROF.......................................................................................... 18-9
Understanding the SQL Trace Facility......................................................................................... 18-9
Understanding TKPROF................................................................................................................ 18-9
Using the SQL Trace Facility and TKPROF................................................................................... 18-10
Step 1: Setting Initialization Parameters for Trace File Management ................................... 18-10
Step 2: Enabling the SQL Trace Facility ..................................................................................... 18-11
Step 3: Formatting Trace Files with TKPROF ........................................................................... 18-12
Sample TKPROF Output....................................................................................................... 18-13
Syntax of TKPROF ................................................................................................................. 18-13
Examples of TKPROF Statement ......................................................................................... 18-15
Step 4: Interpreting TKPROF Output......................................................................................... 18-16
Tabular Statistics in TKPROF............................................................................................... 18-16
Row Source Operations......................................................................................................... 18-18
Wait Event Information ........................................................................................................ 18-18
Guideline for Interpreting the Resolution of Statistics..................................................... 18-18
Recursive SQL Statements.................................................................................................... 18-18
Library Cache Misses in TKPROF ....................................................................................... 18-19
Statement Truncation in SQL Trace .................................................................................... 18-19
Identification of User Issuing the SQL Statement in TKPROF........................................ 18-19
Execution Plan in TKPROF................................................................................................... 18-19
Deciding Which Statements to Tune................................................................................... 18-20
Step 5: Storing SQL Trace Facility Statistics .............................................................................. 18-20
Generating the TKPROF Output SQL Script .................................................................... 18-21
Editing the TKPROF Output SQL Script............................................................................ 18-21
Querying the Output Table .................................................................................................. 18-21
Guidelines for Avoiding Traps in TKPROF Interpretation ....................................................... 18-22
Guideline for Avoiding the Argument Trap............................................................................. 18-23
Guideline for Avoiding the Read Consistency Trap................................................................ 18-23
Guideline for Avoiding the Schema Trap ................................................................................. 18-23
Guideline for Avoiding the Time Trap ...................................................................................... 18-24
Sample TKPROF Output................................................................................................................... 18-25
Sample TKPROF Header.............................................................................................................. 18-25
Sample TKPROF Body ................................................................................................................. 18-25
Sample TKPROF Summary ......................................................................................................... 18-27
Part VII Automatic SQL Tuning
19 Managing SQL Tuning Sets
About SQL Tuning Sets....................................................................................................................... 19-1
Purpose of SQL Tuning Sets.......................................................................................................... 19-2
Concepts for SQL Tuning Sets....................................................................................................... 19-2
14. xiv
User Interfaces for SQL Tuning Sets ............................................................................................ 19-3
Graphical User Interface to SQL Tuning Sets ...................................................................... 19-4
Command-Line Interface to SQL Tuning Sets..................................................................... 19-4
Basic Tasks for SQL Tuning Sets................................................................................................... 19-4
Creating a SQL Tuning Set.................................................................................................................. 19-5
Loading a SQL Tuning Set .................................................................................................................. 19-6
Displaying the Contents of a SQL Tuning Set................................................................................ 19-8
Modifying a SQL Tuning Set.............................................................................................................. 19-9
Transporting a SQL Tuning Set ....................................................................................................... 19-11
About Transporting SQL Tuning Sets........................................................................................ 19-11
Basic Steps for Transporting SQL Tuning Sets.................................................................. 19-11
Basic Steps for Transporting SQL Tuning Sets from a Non-CDB to a CDB.................. 19-11
Transporting SQL Tuning Sets with DBMS_SQLTUNE ......................................................... 19-12
Dropping a SQL Tuning Set ............................................................................................................. 19-13
20 Analyzing SQL with SQL Tuning Advisor
About SQL Tuning Advisor................................................................................................................ 20-1
Purpose of SQL Tuning Advisor................................................................................................... 20-1
SQL Tuning Advisor Architecture ............................................................................................... 20-2
Invocation of SQL Tuning Advisor....................................................................................... 20-3
Input to SQL Tuning Advisor ................................................................................................ 20-3
Output of SQL Tuning Advisor............................................................................................. 20-4
Automatic Tuning Optimizer Concepts ...................................................................................... 20-5
Statistical Analysis ................................................................................................................... 20-5
SQL Profiling ............................................................................................................................ 20-6
Access Path Analysis............................................................................................................... 20-9
SQL Structural Analysis........................................................................................................ 20-10
Alternative Plan Analysis ..................................................................................................... 20-11
Managing the Automatic SQL Tuning Task.................................................................................. 20-14
About the Automatic SQL Tuning Task .................................................................................... 20-14
Purpose of Automatic SQL Tuning..................................................................................... 20-14
Automatic SQL Tuning Concepts........................................................................................ 20-15
Command-Line Interface to SQL Tuning Advisor ........................................................... 20-15
Basic Tasks for Automatic SQL Tuning.............................................................................. 20-15
Enabling and Disabling the Automatic SQL Tuning Task...................................................... 20-16
Enabling and Disabling the Automatic SQL Tuning Task Using Cloud Control ........ 20-16
Enabling and Disabling the Automatic SQL Tuning Task from the Command Line.. 20-17
Configuring the Automatic SQL Tuning Task.......................................................................... 20-19
Configuring the Automatic SQL Tuning Task Using Cloud Control ............................ 20-19
Configuring the Automatic SQL Tuning Task Using the Command Line.................... 20-19
Viewing Automatic SQL Tuning Reports.................................................................................. 20-21
Viewing Automatic SQL Tuning Reports Using the Command Line............................ 20-21
Running SQL Tuning Advisor On Demand.................................................................................. 20-23
About On-Demand SQL Tuning................................................................................................. 20-24
Purpose of On-Demand SQL Tuning.................................................................................. 20-24
User Interfaces for On-Demand SQL Tuning .................................................................... 20-24
Basic Tasks in On-Demand SQL Tuning ............................................................................ 20-25
15. xv
Creating a SQL Tuning Task ....................................................................................................... 20-27
Configuring a SQL Tuning Task................................................................................................. 20-28
Executing a SQL Tuning Task..................................................................................................... 20-29
Monitoring a SQL Tuning Task .................................................................................................. 20-30
Displaying the Results of a SQL Tuning Task .......................................................................... 20-31
21 Optimizing Access Paths with SQL Access Advisor
About SQL Access Advisor ................................................................................................................. 21-1
Purpose of SQL Access Advisor ................................................................................................... 21-1
SQL Access Advisor Architecture ................................................................................................ 21-2
Input to SQL Access Advisor................................................................................................. 21-2
Filter Options for SQL Access Advisor................................................................................. 21-3
SQL Access Advisor Recommendations .............................................................................. 21-3
SQL Access Advisor Actions.................................................................................................. 21-4
SQL Access Advisor Repository............................................................................................ 21-6
User Interfaces for SQL Access Advisor...................................................................................... 21-6
Graphical Interface to SQL Access Advisor......................................................................... 21-6
Command-Line Interface to SQL Tuning Sets..................................................................... 21-7
Using SQL Access Advisor: Basic Tasks........................................................................................... 21-7
Creating a SQL Tuning Set as Input for SQL Access Advisor.................................................. 21-8
Populating a SQL Tuning Set with a User-Defined Workload ................................................ 21-9
Creating and Configuring a SQL Access Advisor Task .......................................................... 21-11
Executing a SQL Access Advisor Task....................................................................................... 21-12
Viewing SQL Access Advisor Task Results .............................................................................. 21-13
Generating and Executing a Task Script.................................................................................... 21-17
Performing a SQL Access Advisor Quick Tune............................................................................ 21-18
Using SQL Access Advisor: Advanced Tasks................................................................................ 21-19
Evaluating Existing Access Structures....................................................................................... 21-19
Updating SQL Access Advisor Task Attributes ....................................................................... 21-19
Creating and Using SQL Access Advisor Task Templates ..................................................... 21-20
Terminating SQL Access Advisor Task Execution................................................................... 21-22
Interrupting SQL Access Advisor Tasks ............................................................................ 21-22
Canceling SQL Access Advisor Tasks................................................................................. 21-23
Deleting SQL Access Advisor Tasks .......................................................................................... 21-24
Marking SQL Access Advisor Recommendations ................................................................... 21-25
Modifying SQL Access Advisor Recommendations................................................................ 21-25
SQL Access Advisor Examples ......................................................................................................... 21-26
SQL Access Advisor Reference......................................................................................................... 21-26
Action Attributes in the DBA_ADVISOR_ACTIONS View ................................................... 21-27
Categories for SQL Access Advisor Task Parameters ............................................................. 21-28
SQL Access Advisor Constants................................................................................................... 21-28
Part VIII SQL Controls
22 Managing SQL Profiles
About SQL Profiles............................................................................................................................... 22-1
16. xvi
Purpose of SQL Profiles ................................................................................................................. 22-1
Concepts for SQL Profiles.............................................................................................................. 22-2
SQL Profile Recommendations.............................................................................................. 22-3
SQL Profiles and SQL Plan Baselines.................................................................................... 22-5
User Interfaces for SQL Profiles.................................................................................................... 22-5
Basic Tasks for SQL Profiles .......................................................................................................... 22-5
Implementing a SQL Profile............................................................................................................... 22-6
About SQL Profile Implementation.............................................................................................. 22-6
Implementing a SQL Profile.......................................................................................................... 22-7
Listing SQL Profiles.............................................................................................................................. 22-8
Altering a SQL Profile.......................................................................................................................... 22-8
Dropping a SQL Profile ....................................................................................................................... 22-9
Transporting a SQL Profile ............................................................................................................... 22-10
23 Managing SQL Plan Baselines
About SQL Plan Management............................................................................................................ 23-1
Purpose of SQL Plan Management............................................................................................... 23-2
Benefits of SQL Plan Management........................................................................................ 23-2
Differences Between SQL Plan Baselines and SQL Profiles .............................................. 23-3
Plan Capture .................................................................................................................................... 23-4
Automatic Initial Plan Capture.............................................................................................. 23-4
Manual Plan Capture .............................................................................................................. 23-5
Plan Selection................................................................................................................................... 23-6
Plan Evolution ................................................................................................................................. 23-7
Purpose of Plan Evolution...................................................................................................... 23-7
PL/SQL Procedures for Plan Evolution ............................................................................... 23-8
Storage Architecture for SQL Plan Management ....................................................................... 23-8
SQL Management Base ........................................................................................................... 23-8
SQL Statement Log .................................................................................................................. 23-9
SQL Plan History ................................................................................................................... 23-10
User Interfaces for SQL Plan Management ............................................................................... 23-13
SQL Plan Baseline Page in Cloud Control.......................................................................... 23-13
DBMS_SPM Package ............................................................................................................. 23-14
Basic Tasks in SQL Plan Management ....................................................................................... 23-15
Configuring SQL Plan Management............................................................................................... 23-15
Configuring the Capture and Use of SQL Plan Baselines....................................................... 23-16
Enabling Automatic Initial Plan Capture for SQL Plan Management........................... 23-16
Disabling All SQL Plan Baselines........................................................................................ 23-17
Managing the SPM Evolve Advisor Task.................................................................................. 23-17
Enabling and Disabling the SPM Evolve Advisor Task................................................... 23-17
Configuring the Automatic SPM Evolve Advisor Task................................................... 23-18
Displaying Plans in a SQL Plan Baseline....................................................................................... 23-19
Loading SQL Plan Baselines............................................................................................................. 23-20
Loading Plans from a SQL Tuning Set ...................................................................................... 23-21
Loading Plans from the Shared SQL Area ............................................................................... 23-23
Loading Plans from a Staging Table........................................................................................... 23-24
Evolving SQL Plan Baselines Manually......................................................................................... 23-26
17. xvii
About the DBMS_SPM Evolve Functions.................................................................................. 23-26
Managing an Evolve Task............................................................................................................ 23-28
Dropping SQL Plan Baselines .......................................................................................................... 23-35
Managing the SQL Management Base............................................................................................ 23-36
Changing the Disk Space Limit for the SMB............................................................................. 23-37
Changing the Plan Retention Policy in the SMB ...................................................................... 23-38
24 Migrating Stored Outlines to SQL Plan Baselines
About Stored Outline Migration........................................................................................................ 24-1
Purpose of Stored Outline Migration........................................................................................... 24-1
How Stored Outline Migration Works ........................................................................................ 24-2
Stages of Stored Outline Migration....................................................................................... 24-2
Outline Categories and Baseline Modules ........................................................................... 24-3
User Interface for Stored Outline Migration............................................................................... 24-4
Basic Steps in Stored Outline Migration...................................................................................... 24-6
Preparing for Stored Outline Migration........................................................................................... 24-6
Migrating Outlines to Utilize SQL Plan Management Features.................................................. 24-7
Migrating Outlines to Preserve Stored Outline Behavior............................................................. 24-8
Performing Follow-Up Tasks After Stored Outline Migration.................................................... 24-9
Understanding Index Performance...................................................................................................... A-1
Tuning the Logical Structure........................................................................................................... A-1
Index Tuning using the SQL Access Advisor ............................................................................... A-2
Choosing Columns and Expressions to Index.............................................................................. A-2
Choosing Composite Indexes.......................................................................................................... A-3
Choosing Keys for Composite Indexes................................................................................... A-4
Ordering Keys for Composite Indexes ................................................................................... A-4
Writing Statements That Use Indexes............................................................................................ A-4
Writing Statements That Avoid Using Indexes............................................................................ A-4
Re-Creating Indexes.......................................................................................................................... A-5
Compacting Indexes ......................................................................................................................... A-5
Using Nonunique Indexes to Enforce Uniqueness ...................................................................... A-6
Using Enabled Novalidated Constraints....................................................................................... A-6
Using Function-Based Indexes for Performance............................................................................... A-7
Using Partitioned Indexes for Performance....................................................................................... A-8
Using Index-Organized Tables for Performance .............................................................................. A-8
Using Bitmap Indexes for Performance.............................................................................................. A-9
Using Bitmap Join Indexes for Performance ..................................................................................... A-9
Using Domain Indexes for Performance ............................................................................................ A-9
Guidelines for Using Table Clusters................................................................................................. A-10
Using Hash Clusters for Performance............................................................................................... A-11
Glossary
Index
19. xix
Preface
This manual explains how to tune Oracle SQL.
This preface contains the following topics:
■ Audience
■ Documentation Accessibility
■ Related Documents
■ Conventions
Audience
This document is intended for database administrators and application developers
who perform the following tasks:
■ Generating and interpreting SQL execution plans
■ Managing optimizer statistics
■ Influencing the optimizer through initialization parameters or SQL hints
■ Controlling cursor sharing for SQL statements
■ Monitoring SQL execution
■ Performing application tracing
■ Managing SQL tuning sets
■ Using SQL Tuning Advisor or SQL Access Advisor
■ Managing SQL profiles
■ Managing SQL baselines
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers have access to electronic support through My Oracle Support. For
information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or
visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing
impaired.
20. xx
Related Documents
This manual assumes that you are familiar with the following documents:
■ Oracle Database Concepts
■ Oracle Database SQL Language Reference
■ Oracle Database Performance Tuning Guide
■ Oracle Database Development Guide
To learn how to tune data warehouse environments, see Oracle Database Data
Warehousing Guide.
Many examples in this book use the sample schemas, which are installed by default
when you select the Basic Installation option with an Oracle Database. See Oracle
Database Sample Schemas for information on how these schemas were created and how
you can use them.
To learn about Oracle Database error messages, see Oracle Database Error Messages.
Oracle Database error message documentation is only available in HTML. If you are
accessing the error message documentation on the Oracle Documentation CD, then
you can browse the error messages by range. After you find the specific range, use
your browser's find feature to locate the specific message. When connected to the
Internet, you can search for a specific error message using the error message search
feature of the Oracle online documentation.
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
21. xxi
Changes in This Release for Oracle
Database SQL Tuning
This preface contains:
■ Changes in Oracle Database 12c Release 1 (12.1)
Changes in Oracle Database 12c Release 1 (12.1)
Oracle Database SQL Tuning for Oracle Database 12c Release 1 (12.1) has the following
changes.
New Features
The following features are new in this release:
■ Adaptive SQL Plan Management (SPM)
The SPM Evolve Advisor is a task infrastructure that enables you to schedule an
evolve task, rerun an evolve task, and generate persistent reports. The new
automatic evolve task, SYS_AUTO_SPM_EVOLVE_TASK, runs in the default
maintenance window. This task ranks all unaccepted plans and runs the evolve
process for them. If the task finds a new plan that performs better than existing
plan, the task automatically accepts the plan. You can also run evolution tasks
manually using the DBMS_SPM package.
See "Managing the SPM Evolve Advisor Task" on page 23-17.
■ Adaptive query optimization
Adaptive query optimization is a set of capabilities that enable the optimizer to
make run-time adjustments to execution plans and discover additional
information that can lead to better statistics. The set of capabilities include:
– Adaptive plans
An adaptive plan has built-in options that enable the final plan for a
statement to differ from the default plan. During the first execution, before a
specific subplan becomes active, the optimizer makes a final decision about
which option to use. The optimizer bases its choice on observations made
during the execution up to this point. The ability of the optimizer to adapt
plans can improve query performance.
See "Adaptive Plans" on page 4-11.
– Automatic reoptimization
22. xxii
When using automatic reoptimization, the optimizer monitors the initial
execution of a query. If the actual execution statistics vary significantly from
the original plan statistics, then the optimizer records the execution statistics
and uses them to choose a better plan the next time the statement executes.
The database uses information obtained during automatic reoptimization to
generate SQL plan directives automatically.
See "Automatic Reoptimization" on page 4-16.
– SQL plan directives
In previous releases, the database stored compilation and execution statistics
in the shared SQL area, which is nonpersistent. Starting in this release, the
database can use a SQL plan directive, which is additional information and
instructions that the optimizer can use to generate a more optimal plan. The
database stores SQL plan directives persistently in the SYSAUX tablespace.
When generating an execution plan, the optimizer can use SQL plan directives
to obtain more information about the objects accessed in the plan.
See "SQL Plan Directives" on page 10-14.
– Dynamic statistics enhancements
In previous releases, dynamic statistics (previously called dynamic sampling)
was only used when one or more of the tables in a query did not have
optimizer statistics. Starting in this release, the optimizer automatically
decides whether dynamic statistics are useful and which dynamic statistics
level to use for all SQL statements. Dynamic statistics gathers are persistent
and usable by other queries.
See "Dynamic Statistics" on page 10-11.
■ New types of histograms
This release introduces top frequency and hybrid histograms. If a column contains
more than 254 distinct values, and if the top 254 most frequent values occupy more
than 99% of the data, then the database creates a top frequency histogram using
the top 254 most frequent values. By ignoring the unpopular values, which are
statistically insignificant, the database can produce a better quality histogram for
highly popular values. A hybrid histogram is an enhanced height-based
histogram that stores the exact frequency of each endpoint in the sample, and
ensures that a value is never stored in multiple buckets.
Also, regular frequency histograms have been enhanced. The optimizer computes
frequency histograms during NDV computation based on a full scan of the data
rather than a small sample (when AUTO_SAMPLING is used). The enhanced
frequency histograms ensure that even highly infrequent values are properly
represented with accurate bucket counts within a histogram.
See Chapter 11, "Histograms."
■ Monitoring database operations
Real-Time Database Operations Monitoring enables you to monitor long running
database tasks such as batch jobs, scheduler jobs, and Extraction, Transformation,
and Loading (ETL) jobs as a composite business operation. This feature tracks the
progress of SQL and PL/SQL queries associated with the business operation being
monitored. As a DBA or developer, you can define business operations for
monitoring by explicitly specifying the start and end of the operation or implicitly
with tags that identify the operation.
See "Monitoring Database Operations" on page 16-1.
23. xxiii
■ Concurrent statistics gathering
You can concurrently gather optimizer statistics on multiple tables, table
partitions, or table subpartitions. By fully utilizing multiprocessor environments,
the database can reduce the overall time required to gather statistics. Oracle
Scheduler and Advanced Queuing create and manage jobs to gather statistics
concurrently. The scheduler decides how many jobs to execute concurrently, and
how many to queue based on available system resources and the value of the
JOB_QUEUE_PROCESSES initialization parameter.
See "Gathering Optimizer Statistics Concurrently" on page 12-18.
■ Reporting mode for DBMS_STATS statistics gathering functions
You can run the DBMS_STATS functions in reporting mode. In this mode, the
optimizer does not actually gather statistics, but reports objects that would be
processed if you were to use a specified statistics gathering function.
See "Running Statistics Gathering Functions in Reporting Mode" on page 13-33.
■ Reports on past statistics gathering operations
You can use DBMS_STATS functions to report on a specific statistics gathering
operation or on operations that occurred during a specified time.
See "Reporting on Past Statistics Gathering Operations" on page 13-35.
■ Automatic column group creation
With column group statistics, the database gathers optimizer statistics on a group
of columns treated as a unit. Starting in this release, Oracle Database automatically
determines which column groups are required in a specified workload or SQL
tuning set, and then creates the column groups. Thus, for any specified workload,
you no longer need to know which columns from each table must be grouped.
See "Detecting Useful Column Groups for a Specific Workload" on page 13-14.
■ Session-private statistics for global temporary tables
Starting in this release, global temporary tables have a different set of optimizer
statistics for each session. Session-specific statistics improve performance and
manageability of temporary tables because users no longer need to set statistics for
a global temporary table in each session or rely on dynamic statistics. The
possibility of errors in cardinality estimates for global temporary tables is lower,
ensuring that the optimizer has the necessary information to determine an optimal
execution plan.
See "Session-Specific Statistics for Global Temporary Tables" on page 10-8.
■ SQL Test Case Builder enhancements
SQL Test Case Builder can capture and replay actions and events that enable you
to diagnose incidents that depend on certain dynamic and volatile factors. This
capability is especially useful for parallel query and automatic memory
management.
See Chapter 17, "Gathering Diagnostic Data with SQL Test Case Builder."
■ Online statistics gathering for bulk loads
A bulk load is a CREATE TABLE AS SELECT or INSERT INTO ... SELECT operation.
In previous releases, you needed to manually gather statistics after a bulk load to
avoid the possibility of a suboptimal execution plan caused by stale statistics.
Starting in this release, Oracle Database gathers optimizer statistics automatically,
which improves both performance and manageability.
24. xxiv
See "Online Statistics Gathering for Bulk Loads" on page 10-12.
■ Reuse of synopses after partition maintenance operations
ALTER TABLE EXCHANGE is a common partition maintenance operation. During a
partition exchange, the statistics of the partition and the table are also exchanged.
A synopsis is a set of auxiliary statistics gathered on a partitioned table when the
INCREMENTAL value is set to true. In previous releases, you could not gather
table-level synopses on a table. Thus, you could not gather table-level synopses on
a table, exchange the table with a partition, and end up with synopses on the
partition. You had to explicitly gather optimizer statistics in incremental mode to
create the missing synopses. Starting in this release, you can gather table-level
synopses on a table. When you exchange this table with a partition in an
incremental mode table, the synopses are also exchanged.
See "Maintaining Incremental Statistics for Partition Maintenance Operations" on
page 12-27.
■ Automatic updates of global statistics for tables with stale or locked partition
statistics
Incremental statistics can automatically calculate global statistics for a partitioned
table even if the partition or subpartition statistics are stale and locked.
See "Maintaining Incremental Statistics for Tables with Stale or Locked Partition
Statistics" on page 12-29.
■ Cube query performance enhancements
These enhancements minimize CPU and memory consumption and reduce I/O
for queries against cubes.
See Table 9–7, " OPERATION and OPTIONS Values Produced by EXPLAIN
PLAN" on page 9-28 to learn about the CUBE JOIN operation.
Deprecated Features
The following features are deprecated in this release, and may be desupported in a
future release:
■ Stored outlines
See Chapter 23, "Managing SQL Plan Baselines" for information about alternatives.
■ The SIMILAR value for the CURSOR_SHARING initialization parameter
This value is deprecated. Use FORCE instead.
See "When to Set CURSOR_SHARING to FORCE" on page 15-8.
Desupported Features
Some features previously described in this document are desupported in Oracle
Database 12c. See Oracle Database Upgrade Guide for a list of desupported features.
Other Changes
The following are additional changes in the release:
■ New tuning books
The Oracle Database 11g Oracle Database Performance Tuning Guide has been
divided into two books for Oracle Database 12c:
25. xxv
– Oracle Database Performance Tuning Guide, which contains only topics that
pertain to tuning the database
– Oracle Database SQL Tuning Guide, which contains only topics that pertain to
tuning SQL
27. Part I
Part I SQL Performance Fundamentals
This part contains the following chapters:
■ Chapter 1, "Introduction to SQL Tuning"
■ Chapter 2, "SQL Performance Methodology"
28.
29. 1
Introduction to SQL Tuning 1-1
1Introduction to SQL Tuning
This chapter provides a brief introduction to SQL tuning.
This chapter contains the following topics:
■ About SQL Tuning
■ Purpose of SQL Tuning
■ Prerequisites for SQL Tuning
■ Tasks and Tools for SQL Tuning
About SQL Tuning
SQL tuning is the iterative process of improving SQL statement performance to meet
specific, measurable, and achievable goals. SQL tuning implies fixing problems in
deployed applications. In contrast, application design sets the security and
performance goals before deploying an application.
Purpose of SQL Tuning
A SQL statement becomes a problem when it fails to perform according to a
predetermined and measurable standard. After you have identified the problem, a
typical tuning session has one of the following goals:
■ Reduce user response time, which means decreasing the time between when a
user issues a statement and receives a response
■ Improve throughput, which means using the least amount of resources necessary
to process all rows accessed by a statement
For a response time problem, consider an online book seller application that hangs for
three minutes after a customer updates the shopping cart. Contrast with a
three-minute parallel query in a data warehouse that consumes all of the database
host CPU, preventing other queries from running. In each case, the user response time
is three minutes, but the cause of the problem is different, and so is the tuning goal.
See Also:
■ Chapter 2, "SQL Performance Methodology"
■ "Designing Your Application" on page 2-1 to learn how to design
for SQL performance