This document provides an overview of SQL tuning and optimization techniques. It discusses various indexing options in Oracle like bitmap indexes and reverse key indexes. It also covers execution plan analysis using tools like EXPLAIN PLAN and tuning techniques like hints. The goal of SQL tuning is to identify resource-intensive queries and optimize them using better indexing, rewriting queries, and other optimization strategies.
Ground Breakers Romania: Explain the explain_planMaria Colgan
This session was delivered as part of the EMEA Ground Breakers tour in Romania, Oct. 2019. The execution plan for a SQL statement can often seem complicated and hard to understand. Determining if the execution plan you are looking at is the best plan you could get or attempting to improve a poorly performing execution plan can be a daunting task even for the most experienced DBA or developer. This session examines the different aspects of an execution plan, from selectivity to parallel execution and explains what information you should be gleaming from the plan and how it affects the execution. It offers insight into what caused the Optimizer to make the decision it did as well as a set of corrective measures that can be used to improve each aspect of the plan.
This chapter discusses lookup and reference functions in Microsoft Excel for retrieving data from tables. It covers basic functions like VLOOKUP and HLOOKUP. It also covers more complex functions and techniques like nested formulas, INDEX, MATCH and CHOOSE for retrieving data from multiple worksheets and multidimensional tables. The chapter provides examples and step-by-step instructions for using these functions to perform calculations on an order form.
The document discusses functions and joins in SQL. It describes using string, date, and mathematical functions to manipulate data. It also explains different types of joins like inner joins, outer joins, cross joins, and equi joins that are used to retrieve data from multiple tables. Examples are provided to demonstrate how to use functions and joins in SQL queries.
The document discusses implementing indexes in SQL Server. It describes the objectives of creating clustered and nonclustered indexes, and understanding index enhancements. It provides details on the advantages and disadvantages of indexes, and explains clustered vs nonclustered indexes. The document also discusses using the Index Tuning Wizard to analyze indexes and recommend optimizations.
Part 3 of the SQL Tuning workshop examines the different aspects of an execution plan, from cardinality estimates to parallel execution and explains what information you should be gleaming from the plan and how it affects the execution. It offers insight into what caused the Optimizer to make the decision it did as well as a set of corrective measures that can be used to improve each aspect of the plan.
This document compares the NOT EXISTS and NOT IN operators in SQL queries. It notes that NOT EXISTS is more efficient because it can stop evaluating the subquery after finding a single match, while NOT IN must scan the entire subquery. The document also shows that NOT IN performs a full table scan of the subquery for each row in the main query, while NOT EXISTS only scans tables twice total. It demonstrates these differences through examples run on two tables, comparing the session statistics and trace files. New features in Oracle 11g are also discussed that help optimize NOT IN queries.
This document discusses how to query SAP tables from Java applications using the R3Table class. The R3Table class provides a wrapper for the RFC_READ_TABLE function module to make it easier to load table data into Java objects and models. The document describes using R3Table to get data from SAP tables, load it into list models, and display it in HTML controls. It also discusses enhancing security and functionality by creating a custom version of RFC_READ_TABLE called ZRFC_READ_TABLE.
1. Mr. A entered employee categories into a database table, but 5 rows were missing categories. He incorrectly entered "0" as the category for those rows.
2. The exercise tested different scenarios querying the category column with and without statistics, histograms, and NULL values instead of the "0" placeholder.
3. With statistics but no histogram, the cardinality calculation was worst, estimating over 9,000 matches instead of the actual 5. Histograms improved the calculation by breaking the column into buckets. Replacing the "0" with NULL also helped avoid a skewed distribution.
The document provides an overview of database concepts and features in Oracle, including fundamentals like data grouping and relationships, as well as operations on tables like insert, update, delete. It also covers queries with filters, joins, and aggregations, as well as other objects like views, sequences, indexes, triggers, and stored procedures. The document is intended as training material for the Oracle database.
SQL Server 2008 Performance Enhancementsinfusiondev
This document summarizes several performance improvements introduced in SQL Server 2008 including partitioning enhancements, sparse columns, filtered indexes, plan freezing, and the MERGE statement. It provides information on how each feature works and example use cases.
This document discusses execution plans in Oracle databases. It begins by defining an execution plan as the detailed steps the optimizer uses to execute a SQL statement, expressed as database operators. It then covers how to generate plans using EXPLAIN PLAN or V$SQL_PLAN, what constitutes a good plan for the optimizer in terms of cost and performance, and key aspects of plans including cardinality, access paths, join types, and join order. Examples are provided to illustrate each concept.
This document provides an overview of using formulas and functions in Excel 2007, including mathematical operators, cell references, common functions like SUM and IF, finding the right function, fixing errors, naming cells, and other tips. Key topics covered are basic formulas, relative and absolute cell references, using functions, the IF function, displaying formulas, the function library, and identifying common errors. Users will learn the basics of working with formulas and functions in Excel.
The document provides an overview of formulas and functions in Excel. It discusses creating formulas with cell references and named ranges, using built-in functions like SUM and AVERAGE, and more advanced formulas like 3-D references between worksheets and external references between workbooks. The document also covers how to insert functions, edit existing links between workbooks, and the syntax required for different Excel functions.
Explore the IF (with AND and OR) function, the VLOOKUP function, selected Date, Statistical, Financial, and Mathematical functions, frequently overlooked Text functions, and more from real-life worksheets examples.
More Excel tips, tutorials and training: http://www.lynda.com/Excel-training-tutorials/192-0.html
This document discusses how to manage data in tables using SQL. It covers creating rules and defaults to enforce constraints without changing the table structure. It also covers using INSERT, UPDATE and DELETE statements to maintain data in tables. Specifically, it provides examples of creating a rule to enforce a zip code format, creating a default value for a country code, and inserting a new record into the RecruitmentAgencies table.
This document provides an overview of using the MERGE statement in SQL Server to efficiently update or insert rows of data. It describes how the MERGE statement can match source and target rows, and use clauses like WHEN MATCHED, WHEN NOT MATCHED BY TARGET, and WHEN NOT MATCHED BY SOURCE to specify actions like updates, inserts, or deletes. It also discusses using the OUTPUT clause to return rows after data modifications from the MERGE statement. The goal is to process sets of data rather than individual rows to minimize network roundtrips between the client and server.
This document outlines an agenda and presentation for an MS Excel 2007 training session for business managers and professionals. The agenda covers topics such as Excel introduction and history, techniques like named ranges and lookups, tips and tricks, templates, pivot tables, formulas, sorting and filtering, connecting Excel to databases and the web, macros, and VBA. It also provides overviews of some key Excel concepts like the ribbon interface and absolute vs. relative references. Hands-on exercises are included to reinforce topics like creating invoices from templates and using formulas with different reference types.
The document is a chapter about getting started with Excel 2010. It introduces basic Excel concepts like workbooks, worksheets, rows, columns and cells. It then covers skills for entering and formatting data, including text, numbers, dates and formulas. Specific skills covered include wrapping text, inserting data using AutoFill, inserting and deleting cells, applying formatting like fonts and cell styles, and using number and date formats. The chapter provides instructions and screenshots to demonstrate these basic Excel functions.
Oracle allocates logical space (tablespaces) to store database objects and data. Tablespaces contain segments which are made up of extents and data blocks. The document discusses different types of tablespace partitioning including range, list and hash partitioning. It provides examples of creating partitions based on numeric, alphabetic and date ranges and manipulating partitions using ALTER TABLE operations like ADD, DROP, RENAME and MERGE.
Migrate 10TB to Exadata -- Tips and TricksAmin Adatia
This document provides tips and tricks for migrating 10TB of data from an AIX database to an Exadata database within a limited 6 hour downtime window. It discusses approaches taken for different object types including non-partitioned tables, partitioned tables with and without LOB columns, tables with Oracle Text indexes, and tables using Oracle Label Security. Key steps taken included rebuilding Oracle Text indexes in parallel rather than using transportable tablespaces, and replacing source label tags with target tags during data migration rather than updating tags post-migration. The migration was completed on time with all objectives met.
This document describes how to use VMware and EMC Isilon to quickly deploy a Hadoop cluster running PivotalHD. It provides step-by-step instructions to automate the deployment of a Hadoop cluster using VMware Big Data Extensions and an existing EMC Isilon storage array for shared storage. The deployment can be done in a couple hours at low cost by leveraging existing VMware and EMC infrastructure.
Cloud Consolidation with Oracle (RAC) - How much is too much?Markus Michalewicz
This document discusses database consolidation on Oracle RAC systems in cloud environments. It covers general considerations for database consolidation including memory management, CPU management, and database resource management. The document also discusses Oracle RAC-specific considerations for consolidation limits per server and cluster limits. It provides an overview of common database cloud architectures and guidelines for evaluating workload characteristics during capacity planning for database consolidation.
Building a distributed search system with Hadoop and LuceneMirko Calvaresi
This work analyses the problem coming from the so called Big Data scenario, which can be defined as the technological challenge to manage and administer quantity of information with global dimension in the order of Terabyte (〖10〗^12 bytes) or Petabyte (〖10〗^15 bytes) and with an exponential growth rate.
We’ll explore a technological and algorithmic approach to handle and calculate theses amounts of data that exceed the limit of computation of a traditional architecture based on real-time request processing: in particular we’ll analyze a singular open source technology, called Apache Hadoop, which implements the approach described as Map and Reduce.
We’ll describe also how to distribute a cluster of common server to create a Virtual File System and use this environment to populate a centralized search index (realized using another open source technology, called Apache Lucene).
The practical implementation will be a web based application which offers to the user a unified searching interface against a collection of technical papers.
The scope is to demonstrate that a performant search system can be obtained pre-processing the data using the Map and Reduce paradigm, in order to obtain a real time response, which is independent to the underlying amount of data.
Finally we’ll compare this solutions to different approaches based on clusterization or No SQL solutions, with the scope to describe the characteristics of concrete scenarios, which suggest the adoption of those technologies.
This document provides an introduction to Hadoop, including:
- Hadoop challenges such as deployment, change management, and complexity in tuning its many parameters
- The main node types in Hadoop including NameNode, DataNode, and EdgeNode
- Common uses of Hadoop including distributed computing, storage, and presenting data in a SQL-like format for analysis
Today, many businesses around the world are using an Oracle product and in many of these at the core there is an Oracle Database. Many of us who started as a Database administrator where put in this position because we were good PL/SQL programmers or good Sysadmins, but knew very little of what it took to be a DBA. In this session you will learn the core architecture of an Oracle Database in 12c as well as what it takes to administer and apply this new knowledge the day you go back to your office.
RMAN has evolved since Oracle 8i and includes new features in Oracle 12c that help reduce downtime. In 12c, a container database can include pluggable databases. RMAN supports backup and recovery of container databases and individual pluggable databases. New features in 12c include the SYSBACKUP privilege which allows backups without granting full SYSDBA privileges, and support for multitenant container databases and pluggable databases.
The biggest headine at the 2009 Oracle OpenWorld was when Larry Ellison announced that Oracle was entering the hardware business with a pre-built database machine, engineered by Oracle. Since then businesses around the world have started to use these engineered systems. This beginner/intermediate-level session will take you through my first 100 days of starting to administer an Exadata machine and all the roadblocks and all the success I had along this new path.
This is a point of view document showing the various possible techniques to integrate SAP HANA and Hadoop and their pros & cons and the scenarios where each of them is recommended.
Hadoop Interview Questions and Answers by rohit kapakapa rohit
Hadoop Interview Questions and Answers - More than 130 real time questions and answers covering hadoop hdfs,mapreduce and administrative concepts by rohit kapa
Hadoop installation and Running KMeans Clustering with MapReduce Program on H...Titus Damaiyanti
1. The document discusses installing Hadoop in single node cluster mode on Ubuntu, including installing Java, configuring SSH, extracting and configuring Hadoop files. Key configuration files like core-site.xml and hdfs-site.xml are edited.
2. Formatting the HDFS namenode clears all data. Hadoop is started using start-all.sh and the jps command checks if daemons are running.
3. The document then moves to discussing running a KMeans clustering MapReduce program on the installed Hadoop framework.
This presentation is an INTRODUCTION to intermediate MySQL query optimization for the Audience of PHP World 2017. It covers some of the more intricate features in a cursory overview.
This document discusses why SQL has endured as the dominant language for data analysis for over 40 years. SQL provides a powerful yet simple framework for querying data through its use of relational algebra concepts like projection, filtering, joining, and aggregation. It also allows for transparent optimization by the database as SQL is declarative rather than procedural. Additionally, SQL has continuously evolved through standards while providing access to a wide variety of data sources.
Getting to know oracle database objects iot, mviews, clusters and more…Aaron Shilo
This document provides an overview of various Oracle database objects and storage structures including:
- Index-organized tables store data within the index based on key values for faster access times and reduced storage.
- Materialized views store the results of a query for faster access instead of re-executing joins and aggregations.
- Virtual indexes allow testing whether a potential new index would be used by the optimizer before implementing.
The presenter discusses how different segment types like index-organized tables, materialized views, and clusters can reduce I/O and improve query performance by organizing data to reduce physical reads and consistent gets. Experienced Oracle DBAs use these features to minimize disk I/O, the greatest factor in
Brad McGehee's presentation on "How to Interpret Query Execution Plans in SQL Server 2005/2008".
Presented to the San Francisco SQL Server User Group on March 11, 2009.
Design and develop with performance in mind
Establish a tuning environment
Index wisely
Reduce parsing
Take advantage of Cost Based Optimizer
Avoid accidental table scans
Optimize necessary table scans
Optimize joins
Use array processing
Consider PL/SQL for “tricky” SQL
The document discusses various techniques for optimizing database performance in Oracle, including:
- Using the cost-based optimizer (CBO) to choose the most efficient execution plan based on statistics and hints.
- Creating appropriate indexes on columns used in predicates and queries to reduce I/O and sorting.
- Applying constraints and coding practices like limiting returned rows to improve query performance.
- Tuning SQL statements through techniques like predicate selectivity, removing unnecessary objects, and leveraging indexes.
Db performance optimization with indexingRajeev Kumar
This article discusses common issues developers face when using indexes in Oracle databases and provides recommendations to address them. It covers situations where the query engine may not pick up an index, such as when table statistics are out of date or the query is returning most of the table data. The article also discusses how functions, null values, and operators can prevent the use of indexes. Recommendations include using function-based indexes, updating statistics, and rewriting queries. In general, the article advises using EXPLAIN PLAN to check execution plans and understand that full table scans are not always inefficient.
This document contains 27 SQL interview questions and answers. It begins by defining SQL and some key SQL concepts like DBMS, RDBMS, constraints, joins, normalization, indexes, and aggregate functions. It then covers more advanced topics like SQL injection, data modeling with one-to-one, one-to-many and many-to-many relationships, handling duplicates and outliers, and window functions. The document also includes questions on triggers, stored procedures, database testing and more. It aims to prepare candidates for SQL-related questions that may come up during technical interviews.
Constraints are the rules enforced on the data columns of a table. These are used to limit the type of data that can go into a table. This ensures the accuracy and reliability of the data in the database.
Constraints can be divided into following two types:
Column level constraints : limits only column data
Table level constraints : limits whole table data
Aggregate Functions
The document provides an overview of various techniques for optimizing database and application performance. It discusses fundamentals like minimizing logical I/O, balancing workload, and serial processing. It also covers the cost-based optimizer, column constraints and indexes, SQL tuning tips, subqueries vs joins, and non-SQL issues like undo storage and data migrations. Key recommendations include using column constraints, focusing on serial processing per table, and not over-relying on statistics to solve all performance problems.
This document provides an overview of SQLite, including:
- SQLite is a C library that implements a SQL database engine that can be embedded into an application rather than running as a separate process.
- It is widely used as the database engine in browsers, operating systems, and other embedded systems due to its small size and simplicity.
- The document discusses SQLite's design, syntax, built-in functions like COUNT, MAX, MIN, and SUM, and SQL statements like CREATE TABLE, INSERT, SELECT, UPDATE, DELETE, and VACUUM.
The document discusses various aspects of Oracle databases including how Oracle software was developed, different types of triggers and their uses, tablespaces and how they divide a database, partitioning which divides large tables into smaller pieces, and concurrency control which allows for simultaneous read and write access through multiversioning and locking. It also briefly outlines tools that can be used for database administration.
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...Dave Stokes
Slow query? Add an index or two! But things are suddenly even slower! Indexes are great tools to speed data lookup but have overhead issues. Histograms don’t have that overhead but may not be suited. And how you lock rows also effects performance. So what do you do to speed up queries smartly?
This document discusses various techniques for optimizing SQL queries in SQL Server, including:
1) Using parameterized queries instead of ad-hoc queries to avoid compilation overhead and improve plan caching.
2) Ensuring optimal ordering of predicates in the WHERE clause and creating appropriate indexes to enable index seeks.
3) Understanding how the query optimizer works by estimating cardinality based on statistics and choosing low-cost execution plans.
4) Avoiding parameter sniffing issues and non-deterministic expressions that prevent accurate cardinality estimation.
5) Using features like the Database Tuning Advisor and query profiling tools to identify optimization opportunities.
This document provides an introduction and tutorial to SQL and the Oracle relational database system. It covers the basics of SQL, including defining and querying tables, modifying data, and more advanced query techniques. It also discusses additional Oracle topics like PL/SQL, integrity constraints, triggers, and the overall Oracle system architecture. The tutorial is intended to provide a detailed overview of SQL and how to work with Oracle databases.
This document provides an introduction and tutorial to SQL and the Oracle relational database system. It covers the basics of SQL, including defining and querying tables, modifying data, and more advanced queries using views, joins, and subqueries. It also introduces PL/SQL for database programming and covers other Oracle-specific topics like integrity constraints, triggers, and system architecture. The tutorial is intended to provide a detailed overview of the Oracle database and SQL.
This document provides guidance on optimizing database performance through techniques like indexing, query tuning, avoiding unnecessary operations, and following best practices for objects like stored procedures, triggers, views and transactions. It emphasizes strategies like indexing frequently accessed columns, avoiding correlated subqueries and unnecessary joins, tuning queries to select only required columns, and keeping transactions and locks as short as possible.
This document discusses indexing in Oracle8i. It begins by introducing indexes and their importance. The objectives are to introduce the various index types and access paths available in Oracle8i and provide examples of index usage. The document then discusses the major index types including B-tree indexes and bitmap indexes. It also covers index sub-types and access paths. The remainder of the document focuses on providing details on B-tree indexes, including how they are structured and how inserts, deletes, and updates are handled.
ECET 450: Laboratory 2
Part B:
Purpose:
This laboratory provides practice in the creation of realistic tables and their relationships using Oracle SQL*Plus and introduces writing SQL*Plus script files. This laboratory exercise creates a relatively simple invoice system using SQL statements. This DB schema is used throughout the next several weeks of laboratory exercises. The final product is an SQL script that makes it possible to initially create and re-create, if need be, the DB schema in order to do to the later laboratory exercises.
Procedure:
Using your assigned user name, password, and host string, log in to Oracle SQL*Plus. Record your dialog with a spool file.
Following the four requirements below, create the 5 tables shown later in this laboratory exercise, and enter all data as shown. Be sure to record your interactions with SQL*Plus using the spool command.
1. Use table names, attribute names, and data exactly as shown. The one exception is that you will omit the dollar sign and comma separators in the money amounts. Accurately enter the data as you will need these tables in future laboratory assignments.
2. Save all of your commands in a single script file for printing and submission. This file should each contain a minimum of your name and the date in comments at the beginning of the file, and any other comments you feel add to the understanding of the script file. Copy and edit your spool file to create the load_tablesXXX.sql file where XXX are your initials. The only items that should be in this load_tablesXXX.sql file are your comments and the SQL statements that drop tables, create tables, insert data values, and display table. Be sure to remove all incorrect commands and the Oracle responses to the correct commands from the file. Save this file for the future in case you have to rebuild these tables. Be sure to include a printout of this file in your report.
3. The second submission requirement is a printout of each of the 5 tables completely loaded with the specified data. Use the SET LINESIZE command to avoid line wrap around of your table data. Print your list file in landscape mode.
4. All primary key and foreign key constraints should be named according to the method presented in the classroom. If you have any questions about which attributes are primary and/or foreign keys, please ask about them.
5. The ultimate test is the execution of this SQL script file in the following form: @ <path_name>/load_tablesXXX.sql
<First Page of tables>
REP Table
REP_ID
REP_LNAME
REP_FNAME
REP_STREET
REP_CITY
REP_STATE
REP_ZIP
REP_COMM
REP_RATE
223
Roma
Theresa
735 First
Leonard
GA
25742
$21,756.50
0.06
237
Miller
Fred
643 High
Sheldon
GA
25753
$38,612.00
0.08
268
Rodriguez
Miguel
2737 Tyler
Springfield
GA
25758
$19,774.00
0.06
CUSTOMER Table
CUST_ID
CUST_NAME
CUST_STREET
CUST_CITY
CUST_STATE
CUST_ZIP
CUST_BALANCE
CUST_LIMIT
REP_ID
1159
Charles Appliance and Sport
3948 Brown
Leonard
GA
257 ...
This document discusses health care in India and provides a vision for 2020. It summarizes key issues and prospects. In 3 sentences:
India has made progress in key health indicators like life expectancy and infant mortality over the past 50 years, but still faces major challenges in reducing disparities between states/regions and social classes. The public health infrastructure has expanded greatly but gaps remain in funding, staffing, and service delivery. Looking ahead, priorities include strengthening rural health services, integrating public and private systems, and ensuring universal access to adequate and affordable care.
The National Health Policy 2017 aims to achieve the highest level of health and well-being for all Indians through preventive and promotive healthcare. Key goals include attaining universal health coverage, improving quality of care, reducing costs, and lowering rates of maternal and child mortality. The policy focuses on increasing investment in health, strengthening primary care services, addressing non-communicable and infectious diseases, expanding health infrastructure and the healthcare workforce, and aligning the private sector with public health objectives. It outlines specific targets to be achieved by 2025 related to life expectancy, mortality rates, disease burdens, health system coverage and performance, and health system strengthening.
This document contains practice worksheets for computer lessons about formatting text and the drawing program Tux Paint. The formatting worksheet covers topics like font, text style (bold, italic), font size, and alignment. The Tux Paint worksheet covers the toolbar, tools, colors, and how to open, draw and save pictures in Tux Paint.
Class 3-social-pt3-rev-ws-for-uploadingAnil Pandey
This document contains practice worksheets covering topics related to Indian national symbols, festivals, dances, and means of communication. The worksheets include questions requiring short and long answers, filling in blanks, matching, writing true/false, and providing meanings. The questions cover information about the Indian national flag, anthem, and emblem as well as festivals, dances, and various modes of transportation and communication like air travel, ships, internet, email and fax.
Class 3-science-pt3-rev-ws-for-uploadingAnil Pandey
This document contains a practice worksheet for a science lesson about birds. It includes questions to test understanding of different types of bird feathers, beaks, nests, and other features. Students are asked to fill in blanks, match terms to descriptions, identify true/false statements, and answer short and long answer questions about birds' feathers, nests, beaks and how they help birds survive.
This document contains 3 practice worksheets on mathematics for Class III students. The first worksheet contains questions on fractions such as identifying the fractional part of a figure, writing fractions given the numerator and denominator, and solving word problems involving fractions. The second worksheet involves pattern identification and continuation including numeric, shape and color patterns. It also contains a spot the error question. The third worksheet covers measurement conversion between grams/kilograms, centimeters/meters/kilometers, and liters/milliliters and solving word problems involving measurement conversions.
Class 3-english-pt3-rev-ws-for-uploadingAnil Pandey
This document contains a series of practice worksheets covering multiple lessons for English class. It includes questions about short passages on various topics, synonym and grammar exercises, fill-in-the-blank activities, and questions related to images. The worksheets cover a range of skills for students to practice their English comprehension, vocabulary, and grammar.
The document summarizes new security features in Oracle Advanced Security for Oracle8i Release 8.1.6, including enhancements to encryption, authentication, authorization, and single sign-on. It provides stronger encryption algorithms, secures additional protocols like IIOP and JDBC, and adds support for SSL-based single sign-on and integration with directory services and PKI solutions like Entrust for centralized user management across databases.
This document discusses how Oracle's session wait virtual tables can be used to directly identify contention issues, reducing problem identification time. It provides details on the session wait views (v$system_event, v$session_event, v$session_wait) that show where sessions are waiting and why. This allows shifting from a traditional ratio-based analysis approach to directly seeing blocking issues. Examples are given of scripts using the views along with a case study analyzing the identified wait events.
Oracle8i Appliance offers a preconfigured, ready-to-run Oracle8i platform, a low total cost of ownership, remote administration capabilities from an integrated management console, and reliable, secure operations. It provides an easily deployable, centrally manageable, and low-cost Oracle8i database solution for businesses with limited database or operating system administration expertise.
This document provides information about Oracle's certification program for Application Developers using Oracle Developer Release 2. It outlines the benefits of Oracle certification for both technical professionals and employers. It describes the three paths to become an Oracle Certified Application Developer for Release 2 - the core path, mixed release path, and upgrade path from Release 1. It provides details on preparing for the certification exams through Oracle University training courses, self-study, and practice exams. It also explains the process for registering for exams with Prometric and receiving exam results.
This document is the administrator's guide for Oracle Enterprise Manager Release 2.2 from September 2000. It contains instructions for using the Enterprise Manager console to manage administrators, set preferences, configure notification methods like email and paging, and set up the paging service. The guide has several parts that cover the Enterprise Manager framework and tools for database and service management.
Oracle Advanced Security addresses the challenges of strong security, single sign-on, and centralized user management through integrated security and directory services. It stores user information in a centralized LDAP-compliant directory to determine user access privileges across multiple Oracle applications. Key features include single sign-on, centralized user administration, separation of users from schemas to reduce accounts, and robust directory services through Oracle Internet Directory.
The document discusses reactive performance tuning in Oracle databases. It describes how to identify "resource hogs" - SQL statements that are consuming more system resources than necessary - by querying the V$SQLAREA view to find statements with the highest values for a "load factor" formula combining disk reads and buffer gets. The top 10-20 statements identified in this way should be prioritized for tuning, with the goal of eliminating resource intensive processes rather than just increasing system capacity. Patterns in the results can help determine appropriate tuning strategies.
The document describes Oracle9i Application Server as a comprehensive, integrated application server that can build and deploy dynamic websites, portals and applications faster than any other application server on the market. It allows deployment from both traditional browsers and mobile devices, and provides integrated business intelligence and comprehensive management of web infrastructure. Key capabilities include building and deploying dynamic content, aggregating content into portals, enabling wireless access, accelerating performance with caching, and managing the web infrastructure.
This document provides release notes for Oracle9i Release 1 (9.0.1) for Linux Intel from June 2001. It outlines system requirements, kernel parameters, installation issues, and other product-related issues. Key topics covered include requirements for memory, swap space, disk space, processors, and software. It also provides minimum recommended kernel parameter settings for shared memory and semaphores.
This document provides requirements and kernel parameter settings for installing Oracle9i Release 1 (9.0.1) on HP-UX 11.0 (64-bit). It outlines the minimum memory, disk space, operating system patches, and other software needed. The kernel parameter settings specified are the minimum required to run Oracle9i with a single database instance. The document also provides links to Oracle documentation and contains sections on documentation, installation issues, product issues, and post-installation issues related to Oracle9i.
This document discusses database security features in Oracle8i. It addresses the need for fine-grained access control over data when systems are opened to partners and customers on the internet. Oracle8i provides strong user authentication, flexible privilege models, and encryption of data in transit. It also offers centralized user management and the ability to implement security policies in the database rather than in individual applications.
Oracle8i Release 3 provides enhancements in several key areas including Java, XML support, Oracle Internet File System (iFS), integration server, and security. It introduces new features such as the Oracle8i JVM Accelerator, improved servlet engine, and full support for Enterprise JavaBeans 1.1. The release aims to provide a more stable, secure and scalable platform for enterprise applications.
Empowering Businesses with Intelligent Software Solutions - GrawlixAarisha Shaikh
Explore Grawlix's comprehensive suite of intelligent software solutions designed to drive transformative growth and scalability for businesses. This presentation covers our expertise in bespoke software development, digital marketing, web design, cloud solutions, cybersecurity, AI/ML, and IT consulting. Discover how Grawlix's customized solutions enhance productivity, streamline processes, and enable data-driven decision-making. Learn about our key projects, technologies, and the dedicated team who ensures exceptional client satisfaction through innovation and excellence.
Unlocking value with event-driven architecture by Confluentconfluent
Sfrutta il potere dello streaming di dati in tempo reale e dei microservizi basati su eventi per il futuro di Sky con Confluent e Kafka®.
In questo tech talk esploreremo le potenzialità di Confluent e Apache Kafka® per rivoluzionare l'architettura aziendale e sbloccare nuove opportunità di business. Ne approfondiremo i concetti chiave, guidandoti nella creazione di applicazioni scalabili, resilienti e fruibili in tempo reale per lo streaming di dati.
Scoprirai come costruire microservizi basati su eventi con Confluent, sfruttando i vantaggi di un'architettura moderna e reattiva.
Il talk presenterà inoltre casi d'uso reali di Confluent e Kafka®, dimostrando come queste tecnologie possano ottimizzare i processi aziendali e generare valore concreto.
Tube Magic Software | Youtube Software | Best AI Tool For Growing Youtube Cha...David D. Scott
Tube Magic Software is your ultimate tool for creating stunning video content with ease. Designed with both beginners and professionals in mind, it offers a user-friendly interface packed with powerful features. From seamless editing to eye-catching effects, Tube Magic helps you bring your creative vision to life. Elevate your videos and captivate your audience effortlessly. Join our community of content creators and experience the magic today!
The SQDC (Safety, Quality, Delivery, Cost) process enhances manufacturing performance through daily safety meetings, defect tracking, and waste reduction. Orcalean’s FactoryKPI digital dashboard streamlines this process, providing real-time data and AI-powered analytics for continuous improvement.
Literals - A Machine Independent Feature21h16charis
Introduction to Literals, A machine independent feature. The presentation is based on the prescribed textbook for System Software and Compiler Design, Computer Science and Engineering - System Software by Leland. L. Beck,
D Manjula.
How Generative AI is Shaping the Future of Software Application DevelopmentMohammedIrfan308637
Generative AI is revolutionizing software development. Find out how it enhances innovation and productivity. https://www.qisacademy.com/blog-detail/the-power-of-generative-ai-in-software-application-development
AI is revolutionizing DevOps by advancing algorithmic optimizations in pipelines, elevating efficiency levels, and introducing predictive functionalities. This article examines how AI is reshaping continuous integration, deployment strategies, monitoring practices, and incident management within DevOps ecosystems, ultimately amplifying efficiency and dependability.
iBirds Services - Comprehensive Salesforce CRM and Software Development Solut...vijayatibirds
Unlock the full potential of your business with iBirds Services. As a trusted Salesforce Consulting Partner, iBirds Software Pvt. Ltd. offers a wide range of customer-centric consulting services to help you seamlessly integrate, customize, and optimize your Salesforce CRM. Our team of experts specializes in delivering innovative software development solutions tailored to meet your unique business needs.
In this document, you will discover:
An overview of iBirds Services and our expertise in Salesforce CRM implementation.
Detailed insights into our software development services, including custom applications, integrations, and automation.
Case studies highlighting our successful projects and satisfied clients.
Key benefits of partnering with iBirds Services for your CRM and software development needs.
Whether you are a small business or a large enterprise, our proven strategies and cutting-edge technologies ensure your business stays ahead of the competition. Explore our services and learn how iBirds can transform your business operations with scalable and efficient solutions.
Waze vs. Google Maps vs. Apple Maps, Who Else.pdfBen Ramedani
Let’s face it, getting lost isn’t really part of the adventure anymore (unless you’re into that sort of thing!). Nowadays, a good navigation app is like your trusty compass, guiding you through busy city streets and winding country roads. But with so many options out there—from big names like Waze, Google Maps, and Apple Maps to some lesser-known contenders—choosing the right one can feel a bit overwhelming.
Think about it: you're about to head out on a road trip, and the last thing you want is to end up in the middle of nowhere because you took a wrong turn. Or maybe you're just trying to navigate your daily commute without hitting every single red light. That's where a solid navigation app comes in handy.
Google Maps is like the old reliable friend who knows every shortcut and scenic route. It's packed with features, from real-time traffic updates to detailed directions, making it a top choice for many. But then there's Waze, the social butterfly of navigation apps. It's all about community, with drivers sharing real-time updates on traffic, accidents, and even speed traps. It’s perfect if you want to feel like you’re part of a huge driving club, all working together to get everyone to their destination faster.
And let’s not forget Apple Maps, which has come a long way since its rocky start. If you're deep into the Apple ecosystem, it's a seamless choice, integrating smoothly with all your devices and offering some pretty neat features like Flyover for 3D city views.
But wait, there are also some underdog apps worth considering! Have you heard of MapQuest? It's still around and offers some great features, especially for planning long trips with multiple stops. Then there's HERE WeGo, which is fantastic for offline navigation—a real lifesaver if you're heading somewhere with spotty cell service.
So, whether you're planning a cross-country adventure or just trying to find the quickest route to work, we’ll help you sift through these options. We’ll dive into what makes each app unique, their pros and cons, and ultimately, guide you to the perfect navigation app for your needs. Buckle up and get ready for a smooth ride!
Old Tools, New Tricks: Unleashing the Power of Time-Tested Testing ToolsBenjamin Bischoff
In the rapidly evolving landscape of software development and testing, it is tempting to chase the latest tools and technologies. However, some of the most effective solutions have been in existence for decades. In this talk, we’ll delve into the enduring value of these timeless testing tools.
We’ll explore how established tools like Selenium, GNU Make, Maven, and Bash remain vital in today’s software development and testing toolkit even though they have been around for a long time (some were even invented before I was born). I’ll share examples of how these tools have addressed our testing and automation challenges, showcasing their adaptability, versatility, and reliability in various scenarios. I aim to demonstrate that sometimes, the “old” ways can indeed be the best ways.
BDRSuite - #1 Cost effective Data Backup and Recovery Solutionpraveene26
BDRSuite and BDRCloud by Vembu are comprehensive and cost-effective backup and disaster recovery solutions designed to meet the diverse data protection requirements of Businesses and Service Providers.
With BDRSuite & BDRCloud, you can backup diverse IT workloads from any location, including VMs (VMware, Hyper-V, KVM, Proxmox VE, oVirt), Servers & Endpoints (Windows, Linux, Mac), SaaS Applications (Microsoft 365, Google Workspace), Cloud VMs (AWS, Azure), NAS/File Shares and Databases & Applications (Microsoft Exchange Server, SQL Server, SharePoint Server, PostgreSQL, MySQL).
You can store backup anywhere like On-Premise/Remote storage, Private/Public Cloud, and BDRCloud.
You can centrally manage the entire backup infrastructure with BDRSuite’s self-hosted centralized management console (or) BDRCloud-hosted centralized management console.
You can quickly recover from data loss or ransomware attacks—all at an affordable price.
To know more visit our website -
https://www.bdrsuite.com/
https://www.bdrcloud.com/
How to Secure Your Kubernetes Software Supply Chain at ScaleAnchore
Achieving comprehensive security visibility in Kubernetes environments is essential for maintaining robust and compliant cloud-native applications. In this exclusive webinar, Anchore and Spectro Cloud team up to showcase how to enhance your Kubernetes security posture with SBOM (Software Bill of Materials) management and vulnerability scanning.
Join Cornelia Davis, VP of Product, Spectro Cloud and Alan Pope, Director of Developer Relations, Anchore to learn how to elevate your Kubernetes security visibility and protect your cloud-native applications effectively.
—Discover how Anchore can be integrated with Spectro Cloud Palette to take SBOM scanning to the next level, delivering fully automated software compliance
—Gain valuable insights into best practices for securing your Kubernetes workloads, ensuring compliance, and improving your DevSecOps processes.
Crowd Strike\Windows Update Issue: Overview and Current Statusramaganesan0504
Crowd Strike\Windows Update Issue: Overview and Current Status
Discover the latest on the CrowdStrike Windows update issue, including an overview, current status, and support steps for affected customers. Learn about the identified defect, its impact on Windows hosts, and CrowdStrike's committed actions to ensure ongoing security and stability.
What is CrowdStrike?
CrowdStrike is a prominent cybersecurity technology company that specializes in providing advanced threat intelligence and endpoint protection solutions. Founded in 2011 by George Kurtz, Dmitri Alperovitch, and Gregg Marston, CrowdStrike has quickly established itself as a leader in the cybersecurity industry. Here are some key aspects of
The code is written and the tests pass. I just have to commit this last round of changes to my branch. Wait, why does that say committed to main? Did I commit all those changes to main? Arghh! I can’t redo all of this!
Committing changes to the wrong branch, forgetting files, misspelling the commit message, and needing to undo commits are some of the “advanced” features of Git that we normal people run into way too often and need help with. The fixes are often easy – once you know what they are. But in the heat of the moment, with the deadline (or Friday afternoon) approaching, it isn’t always easy to figure out what magic spell to cast to get Git to do what you need.
We’ll spend some time looking at typical Git situations people get themselves into, and then we’ll demonstrate how to get out of them. This isn’t about Git internals or a Git master’s class – this real-world Git when things aren’t going right. And there will be plenty of time for questions, so bring your “best” Git nightmare scenarios so we can figure out how to recover.
1. Application SQL Issues and Tuning
Dan Hotka
Director of Database Field Operations
Quest Software, Inc
This paper and presentation are based SQL, the various tools available for gathering information
and understanding various parts of the SQL Explain Plan, or the path that Oracle8/8i will use to
find the data.
Dan Hotka is a Director of Database Field Operations for Quest Software.
He has over 21 years in the computer industry, including over 15 years experience
with Oracle products. He is an acknowledged Oracle expert where his Oracle experience
dates back to the Oracle V4.0 days. He has co-authored the popular books
Oracle Unleashed, Oracle8 Server Unleashed, Oracle Developer Unleashed, and Special Edition
Using Oracle8/8i from SAMS Publishing and frequently speaks at Oracle conferences and user
groups around the world.
BIBLIOGRAPHY: Chapter 24, Oracle8 Server Unleashed, SAMS Publishing
isbn:0-672-31207-7
July 1999 Oracle Professional, Pinnacle Publications. Reproduced with permission from
Pinnacle Publishing. All rights reserved.
SQL Level Tuning should be the final phase of tuning. All too often, the other parts discussed in
the previous parts of this series are overlooked. People sometimes view SQL tuning as the only
area that requires tuning. The 80/20 rule applies to SQL level tuning as well. Twenty percent of
the SQL statements will utilize over 80 percent of the resources. It is this 20 percent where we
need to concentrate our efforts.
There are a variety of explain-plan tools available from Oracle Corporation and various 3rd party
vendors. Oracle Enterprise Manager has a SQL-monitor tool available. Oracle has always
provided a variety of ways of capturing performance information in the form of TRACE files.
These trace files are interpreted by TKPROF, a tool not for the novice. This final tuning
installment will discuss various features of tuning at the SQL level, the Oracle optimizer choices,
existing and new indexing features, and the SQL statements themselves. Resource-intensive and
long running SQL queries will have the biggest impact on application performance. These SQL
statements need to be identified and tuned first.
There are many features previously discussed in this series aid in the performance of applications,
namely procedures, functions, and triggers; the use of unrecoverable transactions (understanding
the application needs); and pinning application code in the shared pool. This article will discuss
the need to use better SQL coding techniques.
Oracle has supported the compilation of functions, procedures, and triggers (procedural objects)
since Oracle7. The resulting intermediate code does not need to be parsed or prepared for
2. execution, saving considerable time at run-time. The compiler is automatically invoked when the
procedural object is created or altered. Changes to the table structures can invalidate procedural
objects, requiring them to be compiled again at run-time. The procedural objects can be
manually re-compiled when they become invalidated. Listings 1 and 2 show the SQL syntax for
manually invoking the compiler.
alter procedure <PROCEDURE NAME> compile
alter function <FUNCTION NAME> compile
alter trigger <TRIGGER NAME> compile
Procedure, Function, and Trigger Compile SQL
Listing 1
If the procedure or function is part of a package, the whole package can be compiled or just the
body.
alter package <PACKAGE NAME> compile package
alter package <PACKAGE NAME> compile body
Package Compile Options
Listing 2
SQL statements with nested subqueries can create an enormous amount of i/o traffic. Listing 3 is
a correlated subquery where the outer query is executed one time for each row returned by the
inner query. Listing 4 produces the same result but at a fraction of the i/o as it queries the look up
table (the subquery of Listing 3) once, not once per each row.
update EMP
set sal = sal * 10
where exists
(select ‘x’ from DEPT
where DEPT.deptno = EMP.deptno)
Correlated SQL statement
Listing 3
DECLARE
cursor c1 is select deptno from dept;
work_deptno number;
BEGIN
open c1;
loop
fetch c1 into work_deptno;
3. EXIT when c1%NOTFOUND
update emp
set sal = sal * 10
where deptno = work_deptno;
end loop;
END;
PL/SQL Loop Example
Listing 4
Using indexes greatly enhances the response time of most SQL statements. The rule of thumb
here is if more than 20% of the rows of a table are going to be returned from the database then
consideration on to use an index or not should be given. This is very dependent on the size of the
table object. It is important to understand the various available indexing options so that the
optimal indexing method is being utilized for a given SQL statement.
Oracle7 introduced several new indexing options that improve on the traditional B*tree indexes.
Oracle7 introduced bitmap indexes, star queries, histograms, and hash joins. Oracle8 introduced
index-organized tables and reverse key indexes. Each of these new indexing options is only
available to the cost-based optimizer.
The first new indexing option available in Oracle7 is bitmap indexes. This indexing option is
intended for columns with low cardinality of data such as color, sex, etc. A bitmap index stores
all the values of a particular column in a series of bits. Each bit is related to a rowid in the table
object. Oracle can quickly find rows in the index by simply searching for nonzero values. Figure
1 illustrates how the EMP table object might look in a bitmap index.
Rows
10
20
30
40
1 2 3 4 5 6 7 8 9 . .
1
0
0
0
0
0
1
0
0 1 0 1 0 0 0 1 1 0 0 0
1 0 0 0 1 0 0 0 0 0 1 0
0 0 1 0 0 1 0 0 0 0 0 1
0 0 0 0 0 0 1 0 0 1 0 0
EMP Bitmap Index
Figure 1
4. Listing 5 is a SQL query that will help identify table columns for possible bitmap index
consideration.
select owner "Owner", index_name "Index Name", distinct_keys "Distinct Keys"
from DBA_INDEXES
where distinct_keys < 15
Bitmap Index Candidates
Listing 5
A star query involves a single table object being joined with several smaller table objects, where
the driving table object has a concatenated index key and each of the smaller table objects is
referenced by part of that concatenated key. The Oracle cost-based optimizer recognizes this
arrangement and builds a memory-based cluster of the smaller tables.
A histogram might be useful when there is not an even distribution of data throughout a table
object. Prior to histograms, the Oracle optimizer assumed even distribution of values throughout
the object.
Figure 2 illustrates a histogram as a series of buckets. There are two kinds of histograms, width-balanced
and height-balanced. Width-balance is where the values are divided up into an even
number of buckets and the optimizer can easily determine as to which buckets have a higher
count. In height-balanced histograms, each bucket has the same number of column values, but a
column value may span more than one bucket. Figure 2 illustrates what the EMP table might
look like in either of the types of histograms.
Width-balanced Height-balanced
10 20 30 40 10 10 20 30
EMP Histogram
Figure 2
5. Histograms are implemented via the analyze command by specifying ‘column’ parameter.
Histograms defaults to 75 buckets with a maximum of 255 defined buckets. Histograms can be
created for indexes, tables, or clusters.
Hash joins can dramatically increate performance of two joined tables, where one table is
significantly larger than the other. This index option replaces the existing ‘sort-merge’ join
algorithm. The hash join works by splitting two tables into partitions and creating a memory
based hash table. This hash table is then used to map join columns from the other table,
eliminating the need for a sort-merge. In the hash join method, both tables are scanned only once.
In sort-merge, the smaller table can actually be read many times. Hash joins are implemented by
the init.ora parameters HASH_JOIN_ENABLED, HASH_MULTIBLOCK_IO_COUNT, and
HASH_AREA_SIZE.
The reverse-key index introduced in Oracle8 reverses the order of the bytes of a numeric key.
Reverse-key indexes are really useful in keeping the index balanced with sequence-number or
incrementing type keys. The syntax in Listing 6 shows how easy it is to make regular indexes
reversed and/or change the reverse key back to a regular key.
create index <INDEX NAME> on <TABLE NAME> (<COLUMN NAME(S)>) reverse
alter index <INDEX NAME> rebuild noreverse/reverse
Reverse Key Index Syntax
Listing 6
As far back as Oracle5, if Oracle could resolve a query from information in the index, it would
not retrieve any rows from the actual table. This trick was utilized widely for group by functions
or additions on an amount field. A DBA would simply add the common data to the end of the
concatenated index key. Index-organized tables gives this same end result as there is no
associated table object. Index-organized tables have an overflow option is where the nonindexed
part of the row will be stored if the row size is over the percentage given. This will create a
similar effect to that of row chaining. Index-organized tables may not be replicated or have
additional index columns. Partitioning will be available in Oracle8.1. Listing 7 illustrates the
syntax to create an index-organized table. The smaller tables of a star query are an excellent use
for this index option. To help prevent fragmentation of the index, it is best to avoid tables with
lots of update activity.
create table <TABLE NAME>
(field descriptions
.
.
<FIELD NAME>
primary key (<KEY FIELDS>))
organization index tablespace <TABLESPACE NAME>
pctthreshold 20
overflow tablespace <TABLESPACE NAME>
6. Index-organized Table Syntax
Listing 7
When a SQL statement is presented to the Oracle kernel, it is parsed for proper syntax and an
execution plan is developed. Think of this execution plan as a road map to the actual data. This
execution plan can be visualized with the explain-plan query discussed later in this article.
Oracle8 supports both the rule-based optimizer and the cost-based optimizer. The optimizers tell
Oracle the best execution path for a particular SQL statement.
The rule-based optimizer, the original optimizer, uses a series of nineteen rules to decide this
path, see Listing 8. The optimizer gives the more preference the lower the rank. The rule-based
optimizer is controlled by the order of the tables in the FROM clause, how the WHERE clause is
coded, and what indexes are available. In a join table situation, the driving table will be the last
table named in the FROM clause.
Rank Where clause predicates
1 ROWID = constant
2 unique indexed column = constant
3 entire unique concatenated index = constant
4 entire cluster key = cluster key of object in same cluster
5 entire cluster key = constant
6 entire nonunique concatenated index = constant
7 nonunique index = constant
8 entire noncompressed concatenated index >= constant
9 entire compressed concatenated index >= constant
10 partial but leading columns of noncompressed concatenated index
11 partial but leading columns of compressed concatenated index
12 unique indexed column using the SQL statement BETWEEN or LIKE options
13 nonunique indexed column using the SQL statement BETWEEN or LIKE options
14 unique indexed column < or > constant
15 nonunique indexed column < or > constant
16 sort/merge
17 MAX or MIN SQL statement functions on indexed column
18 ORDER BY entire index
19 full table scans
Rules for Rule-Based Optimizer
7. Listing 8
The cost-based optimizer, introduced first in Oracle6, makes its explain-plan decisions based on
statistics gathered by the ANALYZE command and stored in the data dictionary. Oracle will use
the cost based optimizer if there are statistics collected. The init.ora parameter,
OPTIMZER_MODE must be set to CHOOSE or COST to utilize the cost-based optimizer.
It is important to keep these statistics current when inserting and updating table objects.
Analyzing large table objects can take a considerable amount of CPU and sort resources. Oracle
does offer an ‘ESTIMATE’ clause, however, the percentage given with this estimate option only
applies from the beginning of the table object, not a random selection from the entire object.
Listing 9 illustrates the analyze syntax.
analyze table <TABLE NAME> estimate
Analyze Command
Listing 9
Hints are used to make recommendations to the cost-based optimizer. Please note that Oracle can
decide to ignore hints. Hints can be used to control the optimizer’s goal, access methods, join
conditions, parallel, and partitioning options. Hints are specified as part of the SQL statement
syntax. Listing 10 shows an ALL_ROWS hint in the EMP table object.
select /*+ ALL_ROWS */ ename, sal from EMP where SAL > 1000
Hint in EMP SQL statement
Listing 10
The optimizer goal hint controls one of three cost-based optimizer modes: RULE will force the
rule-based optimizer, FIRST_ROWS (best response) and ALL_ROWS (best throughput) will use
the cost-based optimizer and force the optimizer to the desired goal. Most of the access-method-controlling
hints are listed in Listing 11.
Hint Description
AND_EQUAL Use the AND_EQUAL hint when more than one equality criterion exists on a
single table.
CACHE Use the CACHE hint to place the entire table in the buffer cache. The table is
placed at the most recently used end of the buffer cache. This hint is good for
small tables that are accessed often.
CLUSTER Use the CLUSTER hint to access a table in a cluster without the use of an index.
FULL Use the FULL hint to perform a full table scan on a table.
8. HASH Use the HASH hint to access a table in a hashed cluster without the use of an
index.
INDEX Use an INDEX hint to instruct ORACLE to use one of the indexes specified as a
parameter.
INDEX_COMBINE The INDEX_COMBINE forces the use of bitmap indexes.
NOCACHE Use the NOCACHE hint to place the blocks of the table at the beginning of the
buffer cache so as not to age any blocks out.
NOPARALLEL Use the NOPARALLEL hint to not use multiple-server processes to
service the operations on the specified table.
ORDERED Use the ORDERED hint to access the tables in the FROM clause in the order
they appear.
PARALLEL Use the PARALLEL hint to request multiple server processes to simultaneously
service the operations on the specified table.
PUSH_SUBQ The PUSH_SUBQ evaluates subqueries earlier, rather than as a filter operation.
ROWID Use the ROWID hint to access the table by ROWID.
STAR STAR hint invokes the STAR query feature.
USE_CONCAT USE_CONCAT is used when a SQL statement has multiple criteria ORed
together.
USE_HASH Use the USE_HASH hint to perform a hash join rather than a merge join or a
nested loop join.
USE_MERE Use the USE_MERGE hint to perform a merge join rather than a nested loop join
or a hash join.
Access Method Hints
Listing 11
SQL statement tuning requires an understanding of explan plans. Listing 12 displays the contents
from a collection in the Oracle supplied plan_table. Oracle tools include Oracle Enterprise
Manager Top Session, TKPROF (examines TRACE files), and the EXPLAIN command
combined with a SQL statement to display the results. There are many third party tools such as
Quest Software’s SQLab that assists the DBA with SQL explain plan tuning, among other
features.
The explain plan is a necessity for tuning SQL statements for both the rule-based and cost-based
optimizers. Listing 12 shows how to load the plan table and query the results. This plan table
can be set up for any user by running the $ORACLE_HOME/rdbms/admin/utlxplan.sql script
from SQL*Plus.
EXPLAIN PLAN INTO PLAN _TABLE FOR
select * from emp;
select COST, OPERATION, OPTIONS, OBJECT_NAME
from PLAN_TABLE;
COST OPERATION OPTIONS OBJECT_NAME
9. ------- ----------------------------- ------------- ------------0 SELECT
STATEMENT
3 TABLE ACCESS FULL EMP
joined over the join columns and then merging the results via the join columns. Explain Plan
Table and Results
Listing 12
Explain plans can be difficult to interpret. Listing 13 describes the more common explain plan
steps.
Access Rule Description
AND-EQUAL Index values will be used to join rows.
CONCATENATION SQL statement UNION command.
FILTER FILTERs apply ‘other criteria’ in the query to further qualify the matching rows.
The ‘other criteria’ include correlated subqueries, and HAVING clause.
FIRST ROW SQL statement will be processed via a cursor.
FOR UPDATE SQL statement clause ‘for update of’ placed row level locks on affected rows.
INDEX (UNIQUE) SQL statement utilized a unique index to search for a specific value.
INDEX (RANGE SCAN) SQL statement contains a nonequality or BETWEEN condition.
HASH JOIN SQL statement initiated a hash-join operation.
MERGE JOIN SQL statement references two or more tables, sorting the two result sets being
NESTED LOOPS This operation is one form of joining tables, as opposed to a merge join. One
row is retrieved from the row source identified by the first child operation, and
then joined to all matching rows in the other table, identified in the second child
operation.
NONUNIQUE INDEX (RANGE SCAN) The RANGE SCAN option indicates that ORACLE
expects to return multiple matches (ROWIDs) from the index search
10. PARTITION (CONCATTENATED) SQL statement will access a partitioned object and merge
the retrieved rows from the accessed partitions.
PARTITION (SINGLE) SQL statement will access a single partition.
PARTITION (EMPTY) The SQL statement makes reference to an empty partition.
SORT (ORDER BY) SQL statement contains an ORDER BY SQL command.
SORT (AGREGATE) SQL statement initiated a sort to resolve a MIN or MAX type function.
SORT (GROUP BY) SQL statement contains a GROUP BY SQL command.
TABLE ACCESS (FULL) All rows are retrieved from the table without using an index.
TABLE ACCESS (BY ROWID) A row was retrieved from a table based on the ROWID of the
row.
TABLE ACCESS (CLUSTER) A row is retrieved from a table that is part of an indexed cluster.
UNION SQL statement contains a DISTINCT SQL command.
Explain Plan Steps
Listing 13
Oracle8 has introduced three new columns: partition_start, partition_stop, and partition_id. These
three new fields will aid in the tuning of SQL statements that access partitioned objects. The
partition_start and partition_stop show the range of partitions that is affected by this explain step.
The partition_id is identification number for that particular explain step.
Finally, there are both good and poor ways to code SQL statements. Here are some guidelines for
SQL statement coding that will help both the rule-based and the cost-based optimizers.
DON’T use calculations in the where clause on indexed columns. Unless the intended behavior is
to disable the index use, any function on indexed columns will ignore the index.
DO use the IN operator instead of NOT. Try to avoid using the NOT command by using >=, <=,
etc.
DON’T use an index if more than 20 percent of the rows will be returned by the query.
DO use array processing whenever possible (Export, and Pro*C applications).
DON’T use subqueries if other solutions exist (PL/SQL loop for example).
DO use hints to insure the desired execution-plan results.
DON’T write applications that use SQL execution-plan defaults. Oracle Corp makes no
guarantees that default behavior will be maintained in future releases, or even between different
hardware platforms