Oracle SQL tuning involves optimizing SQL statements for better performance. Key aspects of SQL tuning include identifying SQL statements with high resource consumption or response times using tools like ADDM, AWR, and V$SQL. Statements can then be tuned by gathering accurate optimizer statistics, adjusting the execution plan using hints, rewriting the SQL, or changing indexes and tables. Tuning is done at both the design and execution stages.
The document discusses Oracle database performance tuning. It covers reactive and proactive performance tuning, the top-down tuning methodology, common types of performance issues, and metrics for measuring performance such as response time and throughput. It also compares online transaction processing (OLTP) systems and data warehouses (DW), and describes different architectures for integrating OLTP and DW systems.
This document discusses Oracle database performance tuning. It covers identifying common Oracle performance issues such as CPU bottlenecks, memory issues, and inefficient SQL statements. It also outlines the Oracle performance tuning method and tools like the Automatic Database Diagnostic Monitor (ADDM) and performance page in Oracle Enterprise Manager. These tools help administrators monitor performance, identify bottlenecks, implement ADDM recommendations, and tune SQL statements reactively when issues arise.
Ash masters : advanced ash analytics on Oracle Kyle Hailey
The document discusses database performance tuning. It recommends using Active Session History (ASH) and sampling sessions to identify the root causes of performance issues like buffer busy waits. ASH provides key details on sessions, SQL statements, wait events, and durations to understand top resource consumers. Counting rows in ASH approximates time spent and is important for analysis. Sampling sessions in real-time can provide the SQL, objects, and blocking sessions involved in issues like buffer busy waits.
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
The document provides an overview of Oracle database performance tuning best practices for DBAs and developers. It discusses the connection between SQL tuning and instance tuning, and how tuning both the database and SQL statements is important. It also covers the connection between the database and operating system, how features like data integrity and zero downtime updates are important. The presentation agenda includes topics like identifying bottlenecks, benchmarking, optimization techniques, the cost-based optimizer, indexes, and more.
The document discusses direct access to Oracle's shared memory (SGA) using C code. It describes the main regions of the SGA, how information is used automatically and by queries, and reasons for direct access such as reading hidden information or during database hangs. It outlines examining the SGA contents through externalized X$ tables, with most structures in the SGA not directly visible. The document provides a procedure to summarize waits from the V$SESSION_WAIT view by mapping it to the underlying X$KSUSECST table fields and offsets.
This document provides an in-depth overview of the LMS (Log Mining Server) process in Oracle databases. It discusses how LMS uses pollsys system calls and sockets to listen for incoming messages. It also examines the workload distribution across LMS processes and how LMS applies undo blocks to construct cache recovery (CR) buffers. Session-level statistics and tools like snapper.sql are demonstrated to analyze LMS workload and performance.
This document discusses techniques for optimizing SQL performance in Oracle databases. It covers topics like optimizing the optimizer itself through configuration changes and statistics collection, detecting poorly performing SQL, and methods for improving plans such as indexing, partitioning, hints and baselines. The goal is to maximize the optimizer's accuracy and ability to handle edge cases, while also knowing how to intervene when needed to capture fugitive SQL and ensure acceptable performance.
SQLd360 is a free tool designed to help collecting and analyzing SQL Tuning-related info from an Oracle database.
Available for free on GitHub, just google "sqld360"
The document discusses Oracle database performance tuning. It covers reactive and proactive performance tuning, the top-down tuning methodology, common types of performance issues, and metrics for measuring performance such as response time and throughput. It also compares online transaction processing (OLTP) systems and data warehouses (DW), and describes different architectures for integrating OLTP and DW systems.
This document discusses Oracle database performance tuning. It covers identifying common Oracle performance issues such as CPU bottlenecks, memory issues, and inefficient SQL statements. It also outlines the Oracle performance tuning method and tools like the Automatic Database Diagnostic Monitor (ADDM) and performance page in Oracle Enterprise Manager. These tools help administrators monitor performance, identify bottlenecks, implement ADDM recommendations, and tune SQL statements reactively when issues arise.
Ash masters : advanced ash analytics on Oracle Kyle Hailey
The document discusses database performance tuning. It recommends using Active Session History (ASH) and sampling sessions to identify the root causes of performance issues like buffer busy waits. ASH provides key details on sessions, SQL statements, wait events, and durations to understand top resource consumers. Counting rows in ASH approximates time spent and is important for analysis. Sampling sessions in real-time can provide the SQL, objects, and blocking sessions involved in issues like buffer busy waits.
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
The document provides an overview of Oracle database performance tuning best practices for DBAs and developers. It discusses the connection between SQL tuning and instance tuning, and how tuning both the database and SQL statements is important. It also covers the connection between the database and operating system, how features like data integrity and zero downtime updates are important. The presentation agenda includes topics like identifying bottlenecks, benchmarking, optimization techniques, the cost-based optimizer, indexes, and more.
The document discusses direct access to Oracle's shared memory (SGA) using C code. It describes the main regions of the SGA, how information is used automatically and by queries, and reasons for direct access such as reading hidden information or during database hangs. It outlines examining the SGA contents through externalized X$ tables, with most structures in the SGA not directly visible. The document provides a procedure to summarize waits from the V$SESSION_WAIT view by mapping it to the underlying X$KSUSECST table fields and offsets.
This document provides an in-depth overview of the LMS (Log Mining Server) process in Oracle databases. It discusses how LMS uses pollsys system calls and sockets to listen for incoming messages. It also examines the workload distribution across LMS processes and how LMS applies undo blocks to construct cache recovery (CR) buffers. Session-level statistics and tools like snapper.sql are demonstrated to analyze LMS workload and performance.
This document discusses techniques for optimizing SQL performance in Oracle databases. It covers topics like optimizing the optimizer itself through configuration changes and statistics collection, detecting poorly performing SQL, and methods for improving plans such as indexing, partitioning, hints and baselines. The goal is to maximize the optimizer's accuracy and ability to handle edge cases, while also knowing how to intervene when needed to capture fugitive SQL and ensure acceptable performance.
SQLd360 is a free tool designed to help collecting and analyzing SQL Tuning-related info from an Oracle database.
Available for free on GitHub, just google "sqld360"
Any DBA from beginner to advanced level, who wants to fill in some gaps in his/her knowledge about Performance Tuning on an Oracle Database, will benefit from this workshop.
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
This is an intro to latch & mutex contention troubleshooting which I've delivered at Hotsos Symposium, UKOUG Conference etc... It's also the starting point of my Latch & Mutex contention sections in my Advanced Oracle Troubleshooting online seminar - but we go much deeper there :-)
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
Oracle Week 2017 slides.
Agenda:
Basics: How and What To Tune?
Using the Automatic Workload Repository (AWR)
Using AWR-Based Tools: ASH, ADDM
Real-Time Database Operation Monitoring (12c)
Identifying Problem SQL Statements
Using SQL Performance Analyzer
Tuning Memory (SGA and PGA)
Parallel Execution and Compression
Oracle Database 12c Performance New Features
The document is a presentation on the internals of Oracle's shared global area (SGA). It discusses the components of the SGA including granules, the fixed SGA, buffer cache, shared pool, and log buffer. It provides details on how the SGA is divided into granules and the sizes and operations of the different SGA pools.
The document provides an overview of using Automatic Workload Repository (AWR) for memory analysis in an Oracle database. It discusses various memory structures like the database buffer cache, shared pool, and process memory. It outlines signs of memory issues and describes analyzing the top waits, load profile, instance efficiency, SQL areas, and other AWR report sections to identify and address performance problems related to memory configuration and usage.
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1SolarWinds
The document provides an overview and agenda for a presentation on optimizing Oracle database performance through query tuning. It discusses identifying performance issues, collecting wait event information, reviewing execution plans, and understanding how the Oracle optimizer works using features like adaptive plans and statistics gathering. The goal is to show attendees how to quickly find and focus on the queries most in need of tuning.
Understanding my database through SQL*Plus using the free tool eDB360Carlos Sierra
This session introduces eDB360 - a free tool that is executed from SQL*Plus and generates a set of reports providing a 360-degree view of an Oracle database; all without installing anything on the database.
If using Oracle Enterprise Manager (OEM) is off-limits for you or your team, and you can only access the database thorough a SQL*Plus connection with no direct access to the database server, then this tool is a perfect fit to provide you with a broad overview of the database configuration, performance, top SQL and much more. You only need a SQL*Plus account with read access to the data dictionary, and common Oracle licenses like the Diagnostics or the Tuning Pack.
Typical uses of this eDB360 tool include: databases health-checks, performance assessments, pre or post upgrade verifications, snapshots of the environment for later use, compare between two similar environments, documenting the state of a database when taking ownership of it, etc.
Once you learn how to use eDB360 and get to appreciate its value, you may want to execute this tool on all your databases on a regular basis, so you can keep track of things for long periods of time. This tool is becoming part of a large collection of goodies many DBAs use today.
During this session you will learn the basics about the free eDB360 tool, plus some cool tricks. The target audience is: DBAs, developers and consultants (some managers could also benefit).
This document provides an overview of Automatic Workload Repository (AWR) and Active Session History (ASH) reports in Oracle Database. It discusses the various reports available in AWR and ASH, how to generate and interpret them. Key sections include explanations of the AWR reports, using ASH reports to identify specific database issues, and techniques for querying ASH data directly for detailed analysis. The document concludes with examples of using SQL to generate graphs of ASH data from the command line.
The document discusses Oracle database backup and recovery concepts. It covers write-ahead logging, how data modifications are written to the redo log and then to datafiles, and how backup and recovery works by applying redo logs to restore datafiles to a previous consistent state. It also explains different log record types, archive log mode, and how media recovery uses redo logs and backups to recover from data failures.
Session aims at introducing less familiar audience to the Oracle database statistics concept, why statistics are necessary and how the Oracle Cost-Based Optimizer uses them
This document discusses Oracle Multitenant 19c and pluggable databases. It begins with an introduction to the speaker and overview of pluggable databases. It then describes the traditional Oracle database architecture and the multitenant architecture in Oracle 19c. It discusses the different components of a container database including the root, seed PDB, and application containers. It also covers how to create pluggable databases from scratch, through cloning locally and remotely, relocating PDBs, and plugging in unplugged PDBs.
This document discusses various types of enqueue waits in Oracle related to locks, including row locks, transaction locks, and table modification locks. It provides examples of how to interpret the lock type and mode from the event and parameter values seen in wait events. It also demonstrates how to use Active Session History, logminer, and other views to identify the blocking session, lock details, and blocking SQL associated with enqueue waits.
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTanel Poder
From Tanel Poder's Troubleshooting Complex Performance Issues series - an example of Oracle SEG$ internal segment contention due to some direct path insert activity.
Any DBA from beginner to advanced level, who wants to fill in some gaps in his/her knowledge about Performance Tuning on an Oracle Database, will benefit from this workshop.
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
This is an intro to latch & mutex contention troubleshooting which I've delivered at Hotsos Symposium, UKOUG Conference etc... It's also the starting point of my Latch & Mutex contention sections in my Advanced Oracle Troubleshooting online seminar - but we go much deeper there :-)
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
Oracle Week 2017 slides.
Agenda:
Basics: How and What To Tune?
Using the Automatic Workload Repository (AWR)
Using AWR-Based Tools: ASH, ADDM
Real-Time Database Operation Monitoring (12c)
Identifying Problem SQL Statements
Using SQL Performance Analyzer
Tuning Memory (SGA and PGA)
Parallel Execution and Compression
Oracle Database 12c Performance New Features
The document is a presentation on the internals of Oracle's shared global area (SGA). It discusses the components of the SGA including granules, the fixed SGA, buffer cache, shared pool, and log buffer. It provides details on how the SGA is divided into granules and the sizes and operations of the different SGA pools.
The document provides an overview of using Automatic Workload Repository (AWR) for memory analysis in an Oracle database. It discusses various memory structures like the database buffer cache, shared pool, and process memory. It outlines signs of memory issues and describes analyzing the top waits, load profile, instance efficiency, SQL areas, and other AWR report sections to identify and address performance problems related to memory configuration and usage.
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1SolarWinds
The document provides an overview and agenda for a presentation on optimizing Oracle database performance through query tuning. It discusses identifying performance issues, collecting wait event information, reviewing execution plans, and understanding how the Oracle optimizer works using features like adaptive plans and statistics gathering. The goal is to show attendees how to quickly find and focus on the queries most in need of tuning.
Understanding my database through SQL*Plus using the free tool eDB360Carlos Sierra
This session introduces eDB360 - a free tool that is executed from SQL*Plus and generates a set of reports providing a 360-degree view of an Oracle database; all without installing anything on the database.
If using Oracle Enterprise Manager (OEM) is off-limits for you or your team, and you can only access the database thorough a SQL*Plus connection with no direct access to the database server, then this tool is a perfect fit to provide you with a broad overview of the database configuration, performance, top SQL and much more. You only need a SQL*Plus account with read access to the data dictionary, and common Oracle licenses like the Diagnostics or the Tuning Pack.
Typical uses of this eDB360 tool include: databases health-checks, performance assessments, pre or post upgrade verifications, snapshots of the environment for later use, compare between two similar environments, documenting the state of a database when taking ownership of it, etc.
Once you learn how to use eDB360 and get to appreciate its value, you may want to execute this tool on all your databases on a regular basis, so you can keep track of things for long periods of time. This tool is becoming part of a large collection of goodies many DBAs use today.
During this session you will learn the basics about the free eDB360 tool, plus some cool tricks. The target audience is: DBAs, developers and consultants (some managers could also benefit).
This document provides an overview of Automatic Workload Repository (AWR) and Active Session History (ASH) reports in Oracle Database. It discusses the various reports available in AWR and ASH, how to generate and interpret them. Key sections include explanations of the AWR reports, using ASH reports to identify specific database issues, and techniques for querying ASH data directly for detailed analysis. The document concludes with examples of using SQL to generate graphs of ASH data from the command line.
The document discusses Oracle database backup and recovery concepts. It covers write-ahead logging, how data modifications are written to the redo log and then to datafiles, and how backup and recovery works by applying redo logs to restore datafiles to a previous consistent state. It also explains different log record types, archive log mode, and how media recovery uses redo logs and backups to recover from data failures.
Session aims at introducing less familiar audience to the Oracle database statistics concept, why statistics are necessary and how the Oracle Cost-Based Optimizer uses them
This document discusses Oracle Multitenant 19c and pluggable databases. It begins with an introduction to the speaker and overview of pluggable databases. It then describes the traditional Oracle database architecture and the multitenant architecture in Oracle 19c. It discusses the different components of a container database including the root, seed PDB, and application containers. It also covers how to create pluggable databases from scratch, through cloning locally and remotely, relocating PDBs, and plugging in unplugged PDBs.
This document discusses various types of enqueue waits in Oracle related to locks, including row locks, transaction locks, and table modification locks. It provides examples of how to interpret the lock type and mode from the event and parameter values seen in wait events. It also demonstrates how to use Active Session History, logminer, and other views to identify the blocking session, lock details, and blocking SQL associated with enqueue waits.
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTanel Poder
From Tanel Poder's Troubleshooting Complex Performance Issues series - an example of Oracle SEG$ internal segment contention due to some direct path insert activity.
This document provides an overview of implementing Oracle 10g RAC with Automatic Storage Management (ASM) on AIX. It describes ASM, which allows Oracle databases to store data in raw device files that are managed by ASM for striping and mirroring. The document discusses storage and administration considerations for using ASM, tuning parameters, and provides a sample ASM installation process and references.
The document discusses B-tree indexes in Oracle Database, including their structure as balanced trees, how index entries are stored for B-tree and bitmap indexes, and how the indexes are maintained during data manipulation language (DML) operations like inserts, deletes, and updates on the associated table. It also covers topics like why an optimizer may not use an index, index constraints, reorganizing indexes, and myths about index performance tuning.
This document provides an overview of Hadoop and the Hadoop ecosystem. It discusses key Hadoop concepts like HDFS, MapReduce, YARN and data locality. It also summarizes SQL on Hadoop using tools like Hive, Impala and Spark SQL. The document concludes with examples of using Sqoop and Flume to move data between relational databases and Hadoop.
The document discusses Oracle database architecture including the relationship between Oracle software, operating system resources like CPUs, memory and disks, Oracle processes like background processes and server processes, and database structures like the system global area (SGA), program global area (PGA), control files, redo logs and data files. It also covers Oracle memory management, instance startup/shutdown, and basic database administration tasks.
The document provides an overview of Hyperion Financial Management, a financial consolidation and reporting application. It describes the key features and capabilities of the software, including consolidating financial data from multiple sources, performing currency conversions, and streamlining financial reporting and analysis. The document also discusses related Hyperion products that can extend the functionality of Financial Management like Financial Reporting and Smart View for Office.
The document discusses various steps for creating database connections, reports, and analyzing data in Hyperion Web Analysis including specifying server and database information, selecting dimensions and members, adding filters, notes, and charts. It also covers functions like sorting, filtering, exporting to Excel, drilling down on data, dynamically changing members, and using traffic lighting to analyze data visually.
The document provides a training calendar for December 2011 and January 2012 that lists 20 training courses on various business intelligence and data management technologies. It includes the course name, ID, details, dates for demo and regular classes, and timing. Demo classes are scheduled from December 31st to January 8th, while regular classes will take place between January 7th and 29th, focusing on technologies like Oracle Hyperion, Oracle BI, Cognos, Teradata, Informatica, Oracle Middleware, Data Stage, and SAP Business Objects. Several Oracle Hyperion courses are still to be determined for dates and timing.
The document compares aggregate storage (ASO) and block storage (BSO) applications in Essbase. Some key differences include:
1. ASO supports faster aggregation for large datasets compared to BSO. ASO also supports large-scale aggregation but BSO is better for tasks like what-if analysis or allocations.
2. ASO does not support write-back of data while BSO does support write-back.
3. ASO uses MDX scripts for calculations while BSO uses calculation scripts. ASO also does not support formulas or functions in calculations.
The document provides instructions for creating an asynchronous BPEL process in Oracle SOA that calls another process to calculate student exam results. It involves 28 steps to create the asynchronous BPEL process that takes student exam marks as input and calls another process to calculate the total, average and result. It then provides 17 additional steps to create a separate one-way BPEL process that invokes the first asynchronous process and returns the output to complete the asynchronous callback workflow.
This document provides an overview of Hyperion Financial Management, a financial consolidation and reporting application. It describes the key features of the application, including its scalable web architecture, global consolidation features, powerful reporting and analysis tools, and ability to consolidate data from diverse sources. The document also discusses the challenges of financial consolidation and reporting that Hyperion Financial Management aims to address.
PL/SQL applications do not live on an island - any longer. Increasingly, applications need relate to the rest of the world. Either to make themselves and the services they provide accessible to external parties - that may not speak PL/SQL at all - or to access information or enlist help from external services.
Fortunately, PL/SQL can do much more than invoke other PL/SQL applications or execute SQL. PL/SQL - sometimes in conjunctions with other components in the Oracle RDBMS - provides many inbound and outbound channels for such interactions. This session discusses and demonstrates a number of channels - when and why to use them and how to use them.
The presentation discusses how to publish data to consumers via HTTP, using both XMLDB and the Embedded PL/SQL Gateway - for example to deliver HTML, XML or RSS or to provide REST-style (web)services that are much in demand. The session also discusses the importance of email as a vehicle for human-application interaction, demonstrating how to send and how to act on received emails. An important topic is how to engage in queue based interactions (for example with a SOA infrastructure) and it concludes with how through utl_http or XMLDB and (simple) middleware, the world of SOA, REST and even the internet is ours as well. It includes a demo on 'chatting from the database' (database triggers that send out IM alerts to human agents).
This document provides an overview and summary of Hyperion products and the Hyperion System 9 platform. It describes the key components of Hyperion including BI+, Planning, Performance Management, and Essbase. It then summarizes the typical architecture of a multidimensional database with Essbase and the lifecycle of building an Essbase database including dimensional modeling, data loading, and reporting.
Oracle - Program with PL/SQL - Lession 14Thuan Nguyen
This document provides an overview of several Oracle-supplied packages including DBMS_SQL, DBMS_DDL, DBMS_JOB, UTL_FILE, UTL_HTTP, and UTL_TCP. It describes how these packages can be used to write dynamic SQL, schedule jobs, generate text reports by writing to files, and make HTTP requests. The key goals are to enable extended database functionality and access to restricted SQL features from PL/SQL code. Specific functions and procedures of each package are demonstrated through examples.
Oracle - Program with PL/SQL - Lession 12Thuan Nguyen
This document discusses packages in PL/SQL and how to create them. The main points are:
1. Packages are used to group logically related program units like procedures, functions, variables, etc. They have a specification and body.
2. The specification declares public elements and is used to interface with the package. The body defines private and public elements and implements the specification.
3. To create a package, use the CREATE OR REPLACE PACKAGE statement for the specification and CREATE OR REPLACE PACKAGE BODY for the body. Public elements can then be invoked from outside the package.
4. Packages improve organization, security, performance and allow hiding implementation details in the body. Elements
Oracle - Program with PL/SQL - Lession 09Thuan Nguyen
This document discusses procedures in PL/SQL, including:
1. How to create procedures using the CREATE PROCEDURE statement and define parameters.
2. The different parameter modes: IN, OUT, and IN OUT.
3. How to handle exceptions within procedures.
4. How to invoke procedures from other procedures, scripts, or applications.
5. Best practices for developing reusable procedures.
Oracle - Program with PL/SQL - Lession 16Thuan Nguyen
This document describes how to create and use database triggers in Oracle. It discusses the different types of triggers, how to create triggers for DML statements and views, and how to manage triggers. Key points include:
- Triggers can be defined to fire before or after DML statements or instead of DML on views.
- Row triggers fire once per row affected, statement triggers fire once per statement.
- Triggers use OLD and NEW qualifiers to access old and new row values.
- INSTEAD OF triggers on views perform DML instead of the triggering statement.
- Triggers must be carefully tested to avoid unintended consequences.
This document provides an overview of multi-dimensional databases and star schemas. It defines key concepts like facts, dimensions, and fact and dimension tables. It explains how star schemas organize this data and allow for common OLAP operations like drilling down, rolling up, slicing and dicing. Snowflake schemas are also introduced as a variation that uses normalization. Examples of star and snowflake schemas are presented to illustrate these concepts.
Optimizing applications and database performanceInam Bukhary
This document discusses various ways to optimize application and database performance, including:
1. Optimizing database design, application design, memory usage, I/O, and reducing database contention.
2. Specific techniques mentioned include de-normalization, materialized views, bind variables, partitioning, parallel execution, and optimizing storage structures.
3. Monitoring tools are also discussed to detect issues like lock and latch contention that could be optimized.
Analyzing SQL Traces generated by EVENT 10046.pptxssuserbad8d3
This document discusses analyzing SQL traces generated by Oracle event 10046. It defines key components of event 10046 traces like recursive and non-recursive SQL, database calls, waits, and binds. It also discusses using TKPROF to analyze event 10046 traces and break down user response time. The goal is to identify where time is spent to find optimization opportunities.
This document summarizes new features in Oracle Database 12c Release 2. It outlines features for developers, administrators, SQL*Plus, conversion functions, and more. Key points include increased identifier length, new SQL*Plus features like history and prefetch settings, conversion functions, multi-tenant container database improvements, and performance enhancements like adaptive statistics and optimization.
Oracle Database 12c - New Features for Developers and DBAsAlex Zaballa
Oracle Database 12c includes over 500 new features designed to support cloud computing, big data, security, and availability. Key features include support for up to 4096 pluggable databases, hot cloning without placing the source database in read-only mode, sharding capabilities, in-memory column storage, application containers, improved resource management isolation, and AWR support on Active Data Guard databases. Other notable features include enhanced JSON support, data redaction for security, row limits and offsets for queries, invisible columns, SQL text expansion, PL/SQL from SQL, session-level sequences, extended data types up to 32K, multiple indexes on the same columns, READ privileges without row locking ability, session private statistics for global temporary tables,
Oracle Database 12c - New Features for Developers and DBAsAlex Zaballa
This document summarizes a presentation about new features in Oracle Database 12c for developers and DBAs. It introduces JSON support, data redaction, SQL query row limits and offsets, invisible columns, extended data types, session level sequences, and more. Demo sections are included to illustrate several of the new features.
Oracle11g introduces several new security, configuration, and administration features for databases. Security features include case sensitive passwords by default and additional auditing of actions. Configuration is simplified with new memory management parameters and automatic diagnostic repository. Administration enhancements provide options to make tables read-only, shrink temporary tablespaces, and add not null columns without updating existing rows.
The document summarizes new features in Oracle Database 12c from Oracle 11g that would help a DBA currently using 11g. It lists and briefly describes features such as the READ privilege, temporary undo, online data file move, DDL logging, and many others. The objectives are to make the DBA aware of useful 12c features when working with a 12c database and to discuss each feature at a high level within 90 seconds.
This document provides an overview and agenda for a presentation on Oracle Database Vault. It discusses securing data using realms, factors, command rules and rule sets in Database Vault. It also covers auditing violations which are logged in the database and to the operating system. The document concludes with a brief section on the impact of backups on a Database Vault secured system when using export, Data Pump and RMAN.
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerIDERA Software
You can watch the replay for this Geek Sync webcast in the IDERA Resource Center: http://ow.ly/S6MG50A5ok5
Microsoft introduced IN-MEMORY OLTP, widely referred to as “Hekaton” in SQL Server 2014. Hekaton allows for the creation of fully transactionally consistent memory-resident tables designed for high concurrency and no blocking. With SQL 2016, many of the original restrictions and limitations of this feature have been reduced. IDERA’s Vicky Harp will give an overview of this feature, including how to compile T-SQL code into machine code for an even greater performance boost.
There’s also been a lot of buzz about Oracle 12c’s new IN-MEMORY COLUMN STORE. Oracle ACE Bert Scalzo will cover this new feature, how it works, it’s benefits, scripts to measure/monitor it and more. He will also touch on performance observations from benchmarking this new feature against more traditional SGA memory allocations plus Oracle 11g R2’s Database Smart Flash Cache. All findings, scripts and conclusions from this exercise will be shared. In addition, two very popular database benchmarking tools will be highlighted.
The document discusses monitoring and tuning Oracle databases on z/OS and z/Linux systems. It provides an overview of using Statspack to diagnose performance issues from high CPU usage, I/O utilization, or memory usage based on timed events, SQL statements, and tablespace I/O statistics. Potential causes and remedies are described for each area that could lead to bad response times.
This document discusses using Active Session History (ASH) to analyze and troubleshoot performance issues in an Oracle database. It provides an example of using ASH to identify the top CPU-consuming session over the last 5 minutes. It shows how to group and count ASH data to calculate metrics like average active sessions (AAS) and percentage of time spent on CPU. The document also discusses using ASH to identify top waiting sessions and analyze specific wait events like buffer busy waits.
This document provides an overview of SQL tuning concepts and tools in Oracle Database. It discusses the differences between database tuning and SQL tuning. It also covers diagnostic tools like SQL Trace, ASH, EXPLAIN PLAN, AUTOTRACE, and SQL Developer. Active monitoring tools like AWR, SQL Monitor and reactive tools like SQL Diagnostic Tool and SQLD360 are also mentioned. Additional topics include full table scans, adaptive features, statistics, hints, pending statistics, restoring statistics history, and invisible indexes.
Investigate SQL Server Memory Like Sherlock HolmesRichard Douglas
The document discusses optimizing memory usage in SQL Server. It covers how SQL Server uses memory, including the buffer pool and plan cache. It discusses different memory models and settings like max server memory. It provides views and queries to monitor memory usage and pressure, and describes techniques to intentionally create internal memory pressure to encourage plan cache churn.
DB12c: All You Need to Know About the Resource ManagerAndrejs Vorobjovs
Resource Manager has changed a lot in Oracle Database 12c, especially if Oracle Multitenant is used. It can manage the available resources between the consumer groups in a single PDB as well as among all the PDBs. DBAs who are planning the upgrades or consolidations to Oracle Database 12c need to understand how the new resource manager works and how the existing resource management plans need to be changed to make them work in the new Oracle Multitenant configuration.
This paper will explain the differences between 11g and 12c resource manager, will dig into resource management features and limitations in 12c Oracle Multitenant, will provide guidelines for migrating your current resource management plan to 12c at the time of upgrade or consolidation, and will also reveal how much overhead the resource manager introduces.
Jugal Shah has over 14 years of experience in IT working in roles such as manager, solution architect, DBA, developer and software engineer. He has worked extensively with database technologies including SQL Server, MySQL, PostgreSQL and others. He has received the MVP award from Microsoft for SQL Server in multiple years. Common causes of SQL Server performance problems include configuration issues, design problems, bottlenecks and poorly written queries or code. Various tools can be used to diagnose issues including dynamic management views, Performance Monitor, SQL Server Profiler and DBCC commands.
Quickly Locate Poorly Performing DB2 for z/OS Batch SQL softbasemarketing
SoftBase is committed to driving a better DB2 development experience. Combining decades of DB2 expertise, innovative testing and DB2 performance-tuning tools and an unmatched customer support and service team, SoftBase helps application developers and DB2 administrators deliver more reliable DB2 applications and create higher performing DB2 software.
Visit batch_healthcare_analyzer.php for more information!
This document discusses SQL tuning and provides an overview of the SQL execution process. It outlines the steps to identify and analyze poorly performing SQL, including using views like v$session to find long running sessions, AWR to find top SQL, and generating execution plans using EXPLAIN PLAN or DBMS_XPLAN to interpret execution plans and identify bottlenecks. The next session will cover interpreting execution plans in more detail as well as additional techniques for SQL tuning.
Oracle SQL Tuning 101 provides an overview of SQL tuning concepts and tools in Oracle Database. It discusses database tuning versus SQL tuning, proactive versus reactive tuning approaches, tools for SQL tracing and monitoring like SQL Trace, ASH, Autotrace, and SQL Monitor. The document also covers topics like full table scans, adaptive optimization features, pending statistics, and restoring or exporting statistics.
SQL Server 2014 New Features (Sql Server 2014 Yenilikleri)BT Akademi
The document summarizes several topics discussed by Ismail Adar including buffer pool extension, resource governor for I/O, delayed durability, DMV sys.dm_exec_query_profiles, and selecting into parallel. Buffer pool extension allows using SSD storage to increase the amount of memory available for the buffer pool. Resource governor for I/O provides I/O level isolation between workloads. Delayed durability controls the durability of transactions. The DMV sys.dm_exec_query_profiles profiles query execution. Selecting into allows inserting results of a query in parallel into a table.
Similar to Oracle Database SQL Tuning Concept (20)
1. AWSOME Day whiteboard discusses AWS authorized training center 恆逸教育訓練中心 and its certified instructors.
2. It shows diagrams of basic EC2 architecture including instances, ephemeral storage, EBS volumes, and hosting across availability zones.
3. It also illustrates setting up a VPC with private and public subnets and attaching an internet gateway.
This document provides an overview of MySQL including its architecture, clients, connection layer, SQL layer, storage engines, and installation methods. Key points include:
- MySQL uses a connection thread pool, query cache, parser, optimizer, and various storage engines like InnoDB and MyISAM.
- Common MySQL clients allow executing queries, administering the server, checking tables, backing up data, and more.
- The connection layer handles authentication and the communication protocol.
- The SQL layer performs parsing, optimization, and determining the optimal execution plan.
- Storage engines like InnoDB and MyISAM support different features and have different performance characteristics for storage, indexing, and more.
The document discusses how an in-memory column store manages cached data and transaction journals. It explains that the IMCO prioritizes cached data refresh based on priority levels like critical, high, and medium. For SELECT statements, it is best to choose cached data when it is not stale, while UPDATE statements check if cached data has become stale before deciding whether to use the cache or transaction journal. The SMCO checks cached data against a staleness threshold every 2 minutes to determine if the cache needs repopulating from the transaction journal.
This document compares the key differences between Oracle and SQL Server databases. It discusses differences in database structure, terminology, stored procedure languages, and transaction control. It provides comparisons of table types, constraints, indexes, views, data types, functions and more between the two database systems.
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataKiwi Creative
Harness the power of AI-backed reports, benchmarking and data analysis to predict trends and detect anomalies in your marketing efforts.
Peter Caputa, CEO at Databox, reveals how you can discover the strategies and tools to increase your growth rate (and margins!).
From metrics to track to data habits to pick up, enhance your reporting for powerful insights to improve your B2B tech company's marketing.
- - -
This is the webinar recording from the June 2024 HubSpot User Group (HUG) for B2B Technology USA.
Watch the video recording at https://youtu.be/5vjwGfPN9lw
Sign up for future HUG events at https://events.hubspot.com/b2b-technology-usa/
State of Artificial intelligence Report 2023kuntobimo2016
Artificial intelligence (AI) is a multidisciplinary field of science and engineering whose goal is to create intelligent machines.
We believe that AI will be a force multiplier on technological progress in our increasingly digital, data-driven world. This is because everything around us today, ranging from culture to consumer products, is a product of intelligence.
The State of AI Report is now in its sixth year. Consider this report as a compilation of the most interesting things we’ve seen with a goal of triggering an informed conversation about the state of AI and its implication for the future.
We consider the following key dimensions in our report:
Research: Technology breakthroughs and their capabilities.
Industry: Areas of commercial application for AI and its business impact.
Politics: Regulation of AI, its economic implications and the evolving geopolitics of AI.
Safety: Identifying and mitigating catastrophic risks that highly-capable future AI systems could pose to us.
Predictions: What we believe will happen in the next 12 months and a 2022 performance review to keep us honest.
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeWalaa Eldin Moustafa
Dynamic policy enforcement is becoming an increasingly important topic in today’s world where data privacy and compliance is a top priority for companies, individuals, and regulators alike. In these slides, we discuss how LinkedIn implements a powerful dynamic policy enforcement engine, called ViewShift, and integrates it within its data lake. We show the query engine architecture and how catalog implementations can automatically route table resolutions to compliance-enforcing SQL views. Such views have a set of very interesting properties: (1) They are auto-generated from declarative data annotations. (2) They respect user-level consent and preferences (3) They are context-aware, encoding a different set of transformations for different use cases (4) They are portable; while the SQL logic is only implemented in one SQL dialect, it is accessible in all engines.
#SQL #Views #Privacy #Compliance #DataLake
Natural Language Processing (NLP), RAG and its applications .pptxfkyes25
1. In the realm of Natural Language Processing (NLP), knowledge-intensive tasks such as question answering, fact verification, and open-domain dialogue generation require the integration of vast and up-to-date information. Traditional neural models, though powerful, struggle with encoding all necessary knowledge within their parameters, leading to limitations in generalization and scalability. The paper "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" introduces RAG (Retrieval-Augmented Generation), a novel framework that synergizes retrieval mechanisms with generative models, enhancing performance by dynamically incorporating external knowledge during inference.
The Building Blocks of QuestDB, a Time Series Databasejavier ramirez
Talk Delivered at Valencia Codes Meetup 2024-06.
Traditionally, databases have treated timestamps just as another data type. However, when performing real-time analytics, timestamps should be first class citizens and we need rich time semantics to get the most out of our data. We also need to deal with ever growing datasets while keeping performant, which is as fun as it sounds.
It is no wonder time-series databases are now more popular than ever before. Join me in this session to learn about the internal architecture and building blocks of QuestDB, an open source time-series database designed for speed. We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or faster batch ingestion.
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Discussion on Vector Databases, Unstructured Data and AI
https://www.meetup.com/unstructured-data-meetup-new-york/
This meetup is for people working in unstructured data. Speakers will come present about related topics such as vector databases, LLMs, and managing data at scale. The intended audience of this group includes roles like machine learning engineers, data scientists, data engineers, software engineers, and PMs.This meetup was formerly Milvus Meetup, and is sponsored by Zilliz maintainers of Milvus.
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...Social Samosa
The Modern Marketing Reckoner (MMR) is a comprehensive resource packed with POVs from 60+ industry leaders on how AI is transforming the 4 key pillars of marketing – product, place, price and promotions.
3. SQL Execution Flow
Parse
Execute
Fetch
(Select only)
Server Process
$ sqlplus hr/hr@orcl
SQL> select last_name,salary
from employees
where employee_id=100;
User Process
Instance
Database
Oracle Server
SQL
Shared
Pool
Buffer
Cache
Log
Buffer
DML only
Data
files
LAST_NAME
SALARY
------------------------- ----------
King 24000
Result
4. Row Source Generator
Syntax analysis
Semantic analysis
Query Transformer
Estimator
Plan Generator
Data
Dictionary
Parser
Optimizer
optimizer
statistics
Hash(SQL) Soft Parse
Hard Parse
Parse
Execution Plan
Execution Plan
Execution Plan
Execution Plan
Execution Plan
Execution Plan
Execution Plan
Execution Plan
Shared Pool
(Library Cache)
Server Process
8. RT Breakdown
User AP Server DB Server Disk
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
Time
Parse
Execute
Physical I/O
Execute
Execute
Fetch
Process User Request
Generate SQL
Process SQL Result
Generate Web Page
Request
Response
Memory
Logical I/O
Firewall
Physical I/O
Execute
T13
T14
Time
Network filter
9. Which SQL need Tune
• SQL敘述句的執⾏行效率達不到之前所設
定的要求。
• Response Time
• 單⼀一SQL敘述句的整體反應時間
• Throughput
• 單位時間裡,同時執⾏行的SQL敘述句數
量
11. OLTP/DW
• OLTP
• 避免Hard Parse
• Response Time
• Throughput
• Index Access
• DW
• 不介意Hard Parse
• Response Time
• Full Table Scan
12. OLTP/DW
A Data Warehouse(DW) is a relational database that is designed for query and analysis rather than
for transaction processing. It usually contains historical data derived from transaction data, but it can
include data from other sources. It separates analysis workload from transaction workload and
enables an organization to consolidate data from several sources.
In addition to a relational database, a data warehouse environment includes an extraction,
transportation, transformation, and loading (ETL) solution, an online analytical processing (OLAP)
engine, client analysis tools, and other applications that manage the process of gathering data and
delivering it to business users.
An Online Transaction Processing (OLTP) systems are characterized by high throughput, many users,
and a mix of DML operations (insert, update, and delete) and queries.
13. Difference between OLTP
and DW
OLTP DW
3rd Normal Form 表格設計 3NF/Star Schema
多 索引 少
多 Join 中
Normalized DB 資料重覆 DeNormalized DB
少
衍⽣生與彙總
資料
多
事先定義 SELECT Ad Hoc
次數多
每次資料量少
DML 次數少
每次資料量⼤大
Response Time⼩小
Throughput⼤大
系統要求 Response Time⼩小
16. Hard Parse - 1
SQL> select count(*) from hr.emp where job_id='SA_REP';
COUNT(*)
----------
30
SQL> select count(*) from hr.emp where JOB_ID='SA_REP';
COUNT(*)
----------
30
SQL> select sql_id,hash_value,plan_hash_value,executions,sql_text
2 from v$sql
3 where sql_text like 'select count(*) from hr.emp where %';
SQL_ID HASH_VALUE PLAN_HASH_VALUE EXECUTIONS
------------- ---------- --------------- ----------
SQL_TEXT
--------------------------------------------------------------------------------------
8rtytfkcsw4wd 2576225165 2083865914 1
select count(*) from hr.emp where job_id='SA_REP'
asax0q4n558hw 676504092 2083865914 1
select count(*) from hr.emp where JOB_ID='SA_REP'
17. Hard Parse-2
SQL> select count(*) from hr.emp --在hr.emp之後有⼀一個不可⾒見字元n
2 where job_id='SA_REP';
COUNT(*)
----------
30
SQL> SELECT sql_id,hash_value,executions,plan_hash_value,sql_text
2 FROM v$sql
3 WHERE sql_text like 'select count(*) from hr.emp where %';
SQL_ID HASH_VALUE PLAN_HASH_VALUE EXECUTIONS
------------- ---------- --------------- ----------
SQL_TEXT
--------------------------------------------------------------------------------
8rtytfkcsw4wd 2576225165 2083865914 1
select count(*) from hr.emp where job_id='SA_REP'
asax0q4n558hw 676504092 2083865914 1
select count(*) from hr.emp where JOB_ID='SA_REP'
0v9928mstgq0g 4053260303 2083865914 1
select count(*) from hr.emp where job_id='SA_REP'
18. Hard Parse - 3
SQL> select last_name from hr.employees where employee_id=100;
LAST_NAME
-------------------------
King
SQL> select last_name from hr.employees where employee_id=200;
LAST_NAME
-------------------------
Whalen
SQL> SELECT hash_value,plan_hash_value,executions,sql_text
2 FROM v$sql
3 WHERE sql_text like 'select last_name from hr.employees where employee_id=%';
HASH_VALUE PLAN_HASH_VALUE EXECUTIONS
---------- --------------- ----------
SQL_TEXT
------------------------------------------------------------------------------------
2627784799 1833546154 1
select last_name from hr.employees where employee_id=200
280342537 1833546154 1
select last_name from hr.employees where employee_id=100
19. Hard Parse - 4
SQL> variable empid number --此⽅方式僅適⽤用在sqlplus,sql developer等.不過java/NET也有類似語法
SQL> execute :empid := 101;
SQL> select last_name from hr.employees where employee_id=:empid;
LAST_NAME
-------------------------
Kochhar
SQL> execute :empid := 201;
SQL> select last_name from hr.employees where employee_id=:empid;
LAST_NAME
-------------------------
Hartstein
SQL> SELECT hash_value,plan_hash_value,executions sql_text
2 FROM v$sql
3 WHERE sql_text like 'select last_name from hr.employees where employee_id=%'
HASH_VALUE PLAN_HASH_VALUE EXECUTIONS
---------- --------------- ----------
SQL_TEXT
----------------------------------------------------------------------------------------------
476476418 1833546154 2
select last_name from hr.employees where employee_id=:empid
2627784799 1833546154 1
select last_name from hr.employees where employee_id=200
280342537 1833546154 1
select last_name from hr.employees where employee_id=100
20. SQL Tuning on 執⾏行階段
Response time=CPU time+Wait time
必要的CPU time+
不必要的CPU time
必要的Wait time+
不必要的Wait time
21. Which SQL were High Loading ?
• ADDM Report
• AWR Report(Enterprise Edition)
• STATSPACK(Standard Edition)
• V$SQL
44. V$SQL_MONITOR
SQL> set pagesize 0 echo off timing off
SQL> set linesize 1000 trimspool on trim on
SQL> set long 2000000 longchunksize 2000000 feedback off
SQL> spool sqlmonrpt_6qyqqyg14bm17.html
SQL> SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR(type=>’EM’,sql_id=>’6qyqqyg14bm17’) FROM dual;
SQL> spool off
46. • Data Access Method
• Join Order
• Join Method
• 每個Row Source應該盡可能減少傳給下
⼀一個Row Source的資料量
執⾏行計劃的調整順序
47. Data Access Method
使⽤用者提供rowid Table Access By User Rowid
讀取所有位在High Water
Mark之下的Table blocks。
Table Access Full
先透過Index找到某些rows
的ROWID,然後讀取
ROWID所指向的table
blocks。
Index Range Scan
Index Unique Scan
Index Full Scan
Index Fast Full Scan
Index Skip Scan
48. ROWID
rowid為row的相對位置資訊
rowid顯⽰示為18 characters(A-Z,a-z,0-9,+,/共64個character編碼)
ABCDEFGHIJ K L M N O P Q R S T U V W X Y Z a b c d e f g....
0123456789 1011121314151617181920212223242526272829303132....
前6個character表⽰示為segment id(data object id)
前3個character表⽰示為relative file id(row位在哪個datafile之上)
前6個character表⽰示為block id(row位在哪個block之上)
前3個character表⽰示為row number(該block的第幾筆row)
SQL> SELECT dbms_rowid.rowid_object('AAASYtAAEAAAAKnABI') data_object_id,
2 dbms_rowid.rowid_relative_fno('AAASYtAAEAAAAKnABI') relative_file_number,
3 dbms_rowid.rowid_block_number('AAASYtAAEAAAAKnABI') block_number,
4 dbms_rowid.rowid_row_number('AAASYtAAEAAAAKnABI') row_number
5 FROm dual;
DATA_OBJECT_ID RELATIVE_FILE_NUMBER BLOCK_NUMBER ROW_NUMBER
-------------- -------------------- ------------ ----------
75309 4 679 72
49. 1 A A1
10 J J10
17 Q
Q
2 B B2
19 S S19
3 C C3
7 G G7
11 K
K
4 D D4
12 L
L
21 U
U
6 F F6
13 M
M
22 V
V
8 H H8
15 O
O
24 X
X
5 E E5
14 N
N
23 W W23
9 I I9
16 P
P
20 T
T
18 R R18
Table Access By User Rowid
50. Table Access By User Rowid
SQL> SELECT object_id,object_name
2> FROM hr.big1
3> WHERE rowid='AAASYtAAEAAAAKnABI';
OBJECT_ID OBJECT_NAME
---------- ------------------------------
12345 ALERT_QUE_N
------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 42 | 1 (0)| 00:00
|* 1 | TABLE ACCESS BY USER ROWID| BIG1 | 1 | 42 | 1 (0)| 00:00
------------------------------------------------------------------------------
51. Full Table Scan
1 A A1
10 J J10
17 Q
Q
2 B B2
19 S S19
3 C C3
7 G G7
11 K
K
4 D D4
12 L
L
21 U
U
6 F F6
13 M
M
22 V
V
8 H H8
15 O
O
24 X
X
5 E E5
14 N
N
23 W W23
9 I I9
16 P
P
20 T
T
18 R R18
53. Index Unique Scan
branch branch
root
1 rowid
2 rowid
3 rowid
4 rowid
5 rowid
6 rowid
7 rowid
8 rowid
9 rowid
10 rowid
11 rowid
12 rowid
13 rowid
14 rowid
15 rowid
16 rowid
17 rowid
18 rowid
19 rowid
20 rowid
21 rowid
22 rowid
23 rowid
24 rowid
1 A A1
10 J J10
17 Q
Q
2 B B2
19 S S19
3 C C3
7 G G7
11 K
K
4 D D4
12 L
L
21 U
U
6 F F6
13 M
M
22 V
V
8 H H8
15 O
O
24 X
X
5 E E5
14 N
N
23 W W23
9 I I9
16 P
P
20 T
T
18 R R18
54. Index Unique Scan
SQL> SELECT rowid,object_id,object_name
2> FROM hr.big1
3> WHERE object_id=12345;
ROWID OBJECT_ID OBJECT_NAME
------------------ ---------- ------------------------------
AAASYtAAEAAAAKnABI 12345 ALERT_QUE_N
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 42 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| BIG1 | 1 | 42 | 2 (0)| 00:00:01 |
|* 2 | INDEX UNIQUE SCAN | BIG1_IDX1 | 1 | | 1 (0)| 00:00:01
| ----------------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"=12345)
55. Index Range Scan
Root
branch branch
1 rowid
2 rowid
3 rowid
4 rowid
5 rowid
6 rowid
7 rowid
8 rowid
9 rowid
10 rowid
11 rowid
12 rowid
13 rowid
14 rowid
15 rowid
16 rowid
17 rowid
18 rowid
19 rowid
20 rowid
21 rowid
22 rowid
23 rowid
24 rowid
6 F F6
13 M
M
22 V
V
8 H H8
15 O
O
24 X
X
5 E E5
14 N
N
23 W W23
9 I I9
16 P
P
20 T
T
1 A A1
10 J J10
17 Q
Q
2 B B2
19 S S19
3 C C3
7 G G7
11 K
K
4 D D4
12 L
L
21 U
U
18 R R18
56. Index Range Scan
SQL> SELECT rowid,object_id,object_name
2> FROM hr.big1
3> WHERE object_id=12345;
ROWID OBJECT_ID OBJECT_NAME
------------------ ---------- ------------------------------
AAASYtAAEAAAAKnABI 12345 ALERT_QUE_N
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 42 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| BIG1 | 1 | 42 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | BIG1_IDX1 | 1 | | 1 (0)| 00:00:01
| ----------------------------------------------------------------------------------------
-
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"=12345)
67. A B
1 11
3 33
2 22
4 66
Inner Join
C D
33 10
44 20
55 30
11 40
11 50
22 60
FROM t1 JOIN t2
ON (t1.B=t2.C)
t1 t2
A B C D
1 11 11 40
1 11 11 50
3 33 33 10
2 22 22 60
68. A B
1 11
3 33
2 22
4 66
Left Outer Join
C D
33 10
44 20
55 30
11 40
11 50
22 60
FROM t1 LEFT OUTER JOIN t2
ON (t1.B=t2.C)
t1 t2
A B C D
1 11 11 40
1 11 11 50
3 33 33 10
2 22 22 60
4 66
69. A B
1 11
3 33
2 22
4 66
Right Outer Join
C D
33 10
44 20
55 30
11 40
11 50
22 60
FROM t1 RIGHT OUTER JOIN t2
ON (t1.B=t2.C)
t1 t2
A B C D
1 11 11 40
1 11 11 50
3 33 33 10
2 22 22 60
44 20
55 30
70. A B
1 11
3 33
2 22
4 66
Full Outer Join
C D
33 10
44 20
55 30
11 40
11 50
22 60
FROM t1 FULL OUTER JOIN t2
ON (t1.B=t2.C)
t1 t2
A B C D
1 11 11 40
1 11 11 50
3 33 33 10
2 22 22 60
4 66
44 20
55 30
80. What is INDEX
• An index is an optional structure,
associated with a table or table cluster,
that can sometimes speed data access. By
creating an index on one or more columns of
a table, you gain the ability in some cases
to retrieve a small set of randomly
distributed rows from the table. Indexes
are one of many means of reducing disk I/O.
Oracle® Database Concepts 11g Release 2 (11.2)
-3 Indexes and Index-Organized Tables
81. • Index or Not Index
• Index Cost
• Low Selectivity(BTree Index)
• Which columns
• FROM/WHERE clause
• Single/Multiple Column
• What Type
• BTree
• BitMap
• Uniqueness
• Non-Unique
• Unique