I will be sharing simple SQL queries that will help you manage Oracle database users.
Article full link is here: https://www.support.dbagenesis.com/post/oracle-user-management
I will be sharing simple SQL queries that will help you manage Oracle database users.
Article full link is here: https://www.support.dbagenesis.com/post/oracle-user-management
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 database hot backup and recoveryArun Sharma
Oracle database hot backup and recovery process. Please note that this method is no longer used in real-time as RMAN does way better job at database backup & recovery.
This is just good to know activity but do not implement it in real time. Knowing how Oracle hot backup and recovery process works, it helps you understand Oracle RMAN better.
Here is the full link of article: https://www.support.dbagenesis.com/post/oracle-database-hot-backup-and-recovery
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 database hot backup and recoveryArun Sharma
Oracle database hot backup and recovery process. Please note that this method is no longer used in real-time as RMAN does way better job at database backup & recovery.
This is just good to know activity but do not implement it in real time. Knowing how Oracle hot backup and recovery process works, it helps you understand Oracle RMAN better.
Here is the full link of article: https://www.support.dbagenesis.com/post/oracle-database-hot-backup-and-recovery
Cloud initiatives are beginning to dominate enterprise IT roadmaps. Successful adoption of Cloud and the subsequent governance challenges warrant a Cloud reference architecture that is applied consistently across the enterprise. This presentation will answer questions such as what exactly a Cloud is, why you need it, what changes it will bring to the enterprise, and what the key capabilities of a Cloud infrastructure are - using Oracle's Cloud Reference Architecture, which is part of the IT Strategies from Oracle (ITSO) Cloud Enterprise Technology Strategy (ETS).
The Amazing and Elegant PL/SQL Function Result CacheSteven Feuerstein
The Function Result Cache, introduced in Oracle Database 11g, offers a very elegant way to cache cross-session data and make it available via PL/SQL functions. It can have a dramatic performance impact on fetching static data (even static for just a period of time) - and it's managed automatically by Oracle Database for you!
Turbocharge SQL Performance in PL/SQL with Bulk ProcessingSteven Feuerstein
Is your Oracle Database application running slower than you'd like? One of the first things to check is row-by-row processing: non-query DML (insert, update, delete) within a loop. And the fix? Bulk processing, either with smarter SQL or with FORALL and BULK COLLECT in PL/SQL.
AskTom: How to Make and Test Your Application "Oracle RAC Ready"?Markus Michalewicz
Oracle Real Application Clusters (Oracle RAC) is the preferred availability and scalability solution for Oracle Databases, as most applications can benefit from its capabilities without making any changes. This mini session explains the secrets behind Oracle RAC’s horizontal scaling algorithm, Cache Fusion, and how you can test and ensure that your application is “Oracle RAC ready.”
This deck was first presented in OOW19 as an AskTom theater / mini session and will be presented as a full version in other conferences going forward at which time I will provide an updated version of the deck.
Investigate SQL Server Memory Like Sherlock HolmesRichard Douglas
Memory is one part of the holy trinity of resources consumed by SQL Server, the others being CPU and disk. Most people know how to look at disk latency and throughput and then take remedial measures to fix those issues. But what about memory issues?
In this session, you will learn how SQL Server uses memory and various caches, how to gauge memory pressure, and how to address the significant problems it can cause.
You will leave with a much clearer understanding of how to monitor and manage memory consumption within SQL Server using native Dynamic Management Objects.
Distributed Performance testing by funkloadAkhil Singh
Distributed Performance testing by funkload, sysbench.
These slides briefs the load and stress testing on apache, nginx, redis, mysql servers by using funkload and sysbench. Testing is done on a single master node setup on kubernetes cluster.
Python web development and deployment using flask, uwsgi and aws fargate/apache2. Model serving is done using tensorflow model server and aws sagemaker. Celery is used as a task queue for task management with redis as the broker.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
2. Objectives
At the end of this session, you will be able to:
• Understand Oracle Architecture
• Database Buffer Cache
• Shared Pool
• Write better performing queries
3. Agenda
• Introduction to “Performance Tuning”
• What is a database?
• What is a database instance?
• System Global Area
• Program Global Area
• Database Buffer cache
• Cache Hit Ratio
• Buffer Cache and Full table scan
• Shared Pool
• Avoid Code Repetition
• Use bind variables
• Bind variable peeking
• Avoid hardcoding
• Performance tuning tools
4. Introduction – SQL and PL/SQL tuning
• Tuning SQL and PL/SQL code is an iterative and
incremental process.
• There is no “Silver Bullet” (Straightforward solution
perceived to have extreme effectiveness)
• Nothing is “Set in stone”. You have to keep up with
technology and continue learning and experimenting.
• Tuning Oracle database programs involves three main
areas :
– SQL statements
– PL/SQL code (Logic, algorithms)
– Memory utilization and management of code
5. Introduction – SQL and PL/SQL tuning
• Factors affecting performance of a database
90%
60%
6. Oracle Database Architecture
An Oracle database server consists of a database and at least one
database instance(commonly referred to as simply an instance).
Because an instance and a database are so closely connected, the term
Oracle database is sometimes used to refer to both instance and
database. In the strictest sense the terms have the following meanings:
■ Database
•A database is a set of files, located on disk, that store data. These files
can exist independently of a database instance.
■ Database instance
•An instance is a set of memory structures that manage database files
and user interactions.
•The instance consists of 2 memory areas
– System Global Area (SGA), which is shared by all user, server and
background processes.
– Program Global Areas (PGA), which is private to each user, server and
background process; there is one PGA for each session/process.
8. System Global Area
The SGA is read/write. If multiple users are concurrently connected to the
same instance, then the data in the instance's SGA is shared among the
users.
The SGA contains the following data structures:
– Database buffer cache
– Redo log buffer
– Shared pool
– Java pool
– Large pool (optional)
– Streams pool
– Other miscellaneous information
10. Function
PGA
System Global Area – Database buffer cache
First access
Subsequent accesses
PGA
Function
Database
2. Not in cache;
Request data
from database
3. Pass Data
to Cache
Application
1. Application
Requests Data
4. Data retrieved
from cache 5. Data returned
to application
Application
1. Application
Requests Data
4. Data returned
to application
3. Data retrieved
from cache
Database
2. Data found in
cache. No need to
read from disk
11. System Global Area – Cache hit ratio
A properly sized buffer cache can usually yield a cache hit ratio over 90%,
meaning that nine requests out of ten are satisfied without going to disk.
•Designing your program in such a way that queries against a table are
adjacent to each other than spread across the program will ensure better
cache hit ratio.
•Scheduling similar batch jobs together (or next to each other) in the same
time window will also ensure better cache hit ratio. Eg: scheduling “Audit
management” infolets next to each other in the same time window and then
all “Risk management” infolets in the next timeslot will ensure better
performance than mixing them.
•Batch Processes that handle large data set must be scheduled in non-peak
hours to reduce cache misses for regular application users.
13. System Global Area – Buffer cache and FTS
Buffer Cache and Full Table Scan
•When the user process is performing a full table scan, it reads the
blocks of the table into buffers and puts them on the LRU end (instead of
the MRU end) of the LRU list.
•This is because (“Oracle assumes that ”)a fully scanned table usually is
needed only briefly, so the blocks should be moved out quickly to leave
more frequently used blocks in the cache.
•You can control this default behavior of blocks involved in table scans
on a table-by-table basis. To specify that blocks of the table are to be
placed at the MRU end of the list during a full table scan, use
the CACHE clause when creating or altering a table.
CREATE TABLE status_lookup (CODE VARCHAR2(2), DESCRIPTION VARCHAR2(30)) CACHE;
•You can specify this behavior for small lookup tables or static
historical tables to avoid I/O on subsequent accesses of the table.
•This will help improve performance if the table is accessed
frequently.
15. System Global Area (SGA)
Shared Pool
show_empscalc_totals upd_salaries
Select *
from emp
Shared SQL
Pre-parsed
Update emp
Set sal=...
Library cache
Session 1 memory
(PGA/UGA)
emp_rec emp%rowtype;
tot_tab tottabtype;
Session 2 memory
(PGA/UGA)
emp_rec emp%rowtype;
tot_tab tottabtype;
User 1
User 2
System Global Area – Shared Pool
Dictionary
Cache
16. • Oracle saves memory in shared pool by using one shared SQL area
for SQL statements run multiple times. Oracle recognizes when two
users are executing the same SQL statement and reuses the shared
SQL area for those users. The statements have to be EXACTLY the
same including character spacing and character case.
• The below statements are not treated as the same statements by
Oracle
Script: SharedPool.sql
SELECT DUMMY FROM DUAL ;
SELECT DUMMY FROM dual ;
SELECT DUMMY FROM DUAL ;
These statements will be parsed separately and stored separately in
shared pool.
System Global Area – Shared Pool
17. • For better performance
– Modularize and reuse program units as much as possible.
– Avoid repeating SQL statements. Write once and use many
times.
– Use bind variables
– Avoid hard coding
– Follow coding guidelines, standards and naming conventions in
your project.
– Ensure developers write code the same way. Achieve a
consistent, readable coding style
System Global Area – Shared Pool
18. – When a snippet of code is repeated across the application, then it is
almost impossible to know/keep track of all the places it occurs. This
becomes especially difficult when code changes have to be
implemented.
– Encapsulate all SQL statements behind a procedural interface, usually a
package.
– Hide all single row queries behind functions
– Hide entire DML statements in procedures, so you can choose (and
change) the implementation for optimal performance
– Use common, standardized exception handling, error and event logging
across the application
– Rely on pre-built, pre-tested, write-once, use-often PL/SQL programs.
These guidelines are aimed at optimizing the use of shared pool.
System Global Area – Shared Pool – Avoid code
repetition
19. If you have a Java program that does
for (int i=0; i<userArray.length; i++) {
String delQuery = “DELETE FROM si_users WHERE user_id = “ +
userArray[i];
stmt.executeUpdate(delQuery);
}
When executed, this code generates SQL as below. Each
statement has to be parsed separately in
Shared Pool !. Bad Idea !
DELETE FROM si_users WHERE user_id = 100001
DELETE FROM si_users WHERE user_id = 100002
DELETE FROM si_users WHERE user_id = 100003
DELETE FROM si_users WHERE user_id = 100004
DELETE FROM si_users WHERE user_id = 100005
DELETE FROM si_users WHERE user_id = 100006
...
System Global Area – Shared Pool – Use bind
variables
Parsing is
expensive!!!
20. System Global Area - Use bind variables
It can be rewritten as below-
String delQuery = “DELETE FROM si_users WHERE user_id = ?”;
// Alternatively use
// delQuery = si_users.delete_user(?);
stmt = conn.prepareCall(delQuery);
for (int i=0; i<userArray.length; i++) {
stmt.setInt(1, userArray[i]);
stmt.execute();
}
Inside shared pool
DELETE FROM si_users WHERE user_id = :b1
A very happy database
!!!
21. System Global Area - Use bind variables
Bind variables in PL/SQL
•The good news is that PL/SQL itself takes care of most of the
issues to do with bind variables, to the point where most code
that you write already uses bind variables without you knowing.
Take, for example, the following bit of PL/SQL:
create or replace procedure updsal(p_empno in
number)
as
begin
update emp
set sal=sal*2
where empno = p_empno;
commit;
end;
/
22. System Global Area - Use bind variables
Bind variables in PL/SQL
•DO NOT: “where created_date > to_date(’01-sep-
2006’)..”
•BETTER :
v_date := to_date(’01-sep-2006’)
where created_date > v_date “
23. System Global Area - Use bind variables
Bind variables in Dynamic PL/SQL
Special care must be taken while writing dynamic SQL.
The code below does not use bind variable, instead it builds a new SQL
statement each time concatenating the value in TO_CHAR(i).
Script : BindVariables.sql
DECLARE
l_dummy dual.dummy%TYPE;
BEGIN
FOR i IN 1 .. 10 LOOP
BEGIN
EXECUTE IMMEDIATE 'SELECT dummy FROM dual WHERE dummy = ''' ||
TO_CHAR(i) || ''''
INTO l_dummy;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END LOOP;
END;
24. System Global Area - Use bind variables
Using bind variable…..
DECLARE
l_dummy dual.dummy%TYPE;
BEGIN
FOR i IN 1 .. 10 LOOP
BEGIN
EXECUTE IMMEDIATE 'SELECT dummy FROM dual WHERE dummy =
TO_CHAR(:dummy)'
INTO l_dummy USING i;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END LOOP;
END;
25. Bind Variable Peeking
• When Oracle sees a brand new query (not yet parsed) with bind variable, in an
effort to choose the best plan Oracle “peeks” at the value of the bind variable
and then chooses the plan accordingly.
• This plan is then utilized for all subsequent runs of the same query.
• This could be beneficial in a good percentage of cases.
• In certain situations this may produce unpredictable results
• A table with 10 million rows. A column has 2 distinct values Y and N. 99% of the
rows contain the value Y and 1% contain the value N. (Skewed data)
• When Y is used (non selective) in the WHERE clause a full table scan would be
the best approach
• When N is used in the WHERE clause an INDEX scan would be best
• If query with Y was run first, it would always perform FTS which will considerably
slow down the application
• If query with N was run first, it would always perform INDEX scan which would
make N queries very fast, but slightly slow down Y queries
26. Bind Variable Peeking – Cause and effect – On a lighter note
The butterfly effect
In chaos theory , a butterfly
flapping its wings gently in a far
away tropical forest could cause
major hurricanes a few weeks later
in the east coast of United States!!
The Rain effect
There was an application where,
whenever it rains on a Monday
morning - the database had to be
restarted in the afternoon to make it
perform correctly.
*Every Monday morning*, *every
single time* if it rains the DB slows
down. Since the users have
experienced it several 100 times
they would call up the DBA and say-
"It is Monday, it is raining, you know
what to do", after the reboot,
everything is running fast again.
What did Monday morning rain have
to do with DB performance???
27. Bind Variable Peeking – Cause and effect – On a lighter note
The Rain effect
•The DBAs took backups on Sunday nights emptying the shared pool
•The application had a frequently executed query on a table with
skewed data. The query would run with selective value only for “A
user”. This user lives far away from office. He normally arrived office
at 6am.
•On regular Monday mornings the query would be executed for the first
time (hence hard parsed) for him with selective value. Due to BVP it
would register INDEX scan. INDEX scan it is for all subsequent runs. Not
bad at all.
•On rainy days he comes in late after the rain subsides. If rain happens
to fall on Monday morning while the shared pool is empty, then the
larger user group with non-selective value hits the application first,
registering FTS. FTS it is for all subsequent runs. Bringing the DB to its
knees.
So…… who is the culprit now, the rain or BVP????
28. Avoid hard coding
Avoid hard coding not only for better performance, but also
for the below reason-
Hard Coding – Someone assumed that something will never
change and that is ne ve r true !!. Avoid hardcoding to reduce
source code impact when requirements change.
•Avoid hard coding literal values
IF num_requests > 100 THEN
IF num_requests > l_limit THEN
•Whenever possible, use anchored declarations rather than
explicit datatype references
VARCHAR2(20); Hard coded declaration
Tablename.fieldname%type; Anchored declaration
Tablename%rowtype; Anchored declaration
29. Avoid hard coding
Avoid hard coding in cursors. Instead use parameterized cursors. In some cases this
will also facilitate usage of bind variables.
Instead of ….
DECLARE
CURSOR dept_cur IS
SELECT last_name FROM employee
WHERE department_id = 10;
BEGIN
OPEN dept_cur;
Rewrite as below …
DECLARE
CURSOR dept_cur (dept IN INTEGER) IS
SELECT last_name FROM employee
WHERE department_id = dept;
BEGIN
30. PL/SQL Tuning for performance
Some methods used to measure and analyze performance of PL/SQL
code
• Utilize Oracle’s Tools
– EXPLAIN_PLAN
– Autotrace
– V$SQLAREA
– AWR/ADDM report …….
• Third party tools
– Quest SQLab,
– Quest Spotlight,
– Computer Associates SQL Station Plan Analyzer .......
• Homegrown utilities
– Timer Utility for procedures
– SMC
• Code reviews
• Load Testing
31. PL/SQL Tuning for performance
• Explain Plan
• Whenever an SQL statement is run, Oracle parses and analyzes the
query to find the most effective way to execute the query and then
designs an execution plan for it.
• This execution plan is basically a step by step instruction for how the
statement must be executed. That is, the order in which the tables are
read, if indexes are used, which join methods are used to join tables
and so on.
It shows the following information:
• Ordering of the tables referenced by the statement
• Access method for each table mentioned in the statement
• Join method for tables affected by join operations in the statement
• Data operations like filter, sort, or aggregation
• Cost and Cardinality of each operation
32. Performance Tuning Best practices – Explain plan
Understanding the execution plan –
•Cost - The estimated resource usage for that plan. The lower the
cost the more efficient the plan is expected to be. The optimizer’s
cost model accounts for the I/O, CPU and network resources that
will be used by the query.
•Cardinality– Estimate of the number of rows coming out of each of
the operations.
•Access method – The way in which the data is being accessed,
via either a table scan or index access. Eg: Full table scan, table
access by ROWID, Index unique scan, Index range scan etc
•Join method – The method (e.g., hash, nested loops, sort-merge,
etc.) used to join tables with each other.
34. PL/SQL Tuning for performance
Autotrace :
•In SQL*Plus you can automatically get a report on the execution path
used by the SQL optimizer and the statement execution statistics. The
report is generated after a successful SQL DML statement, such as
SELECT, DELETE, UPDATE or INSERT. It is useful for monitoring and
tuning the performance of these DML statements.