In this session, we looked at five things you might not know about the Oracle Database or might have forgotten. For each topic, I explained the functionality and demonstrated the benefits using real-world examples. The topics covered apply to anyone running Oracle Database 11g and up, including Standard Edition, with only a few minor exceptions.
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Sandesh Rao
In this session, I will cover under-the-hood features that power Oracle Real Application Clusters (Oracle RAC) 19c specifically around Cache Fusion and Service management. Improvements in Oracle RAC helps in integration with features such as Multitenant and Data Guard. In fact, these features benefit immensely when used with Oracle RAC. Finally we will talk about changes to the broader Oracle RAC Family of Products stack and the algorithmic changes that helps quickly detect sick/dead nodes/instances and the reconfiguration improvements to ensure that the Oracle RAC Databases continue to function without any disruption
Oracle RAC on Extended Distance Clusters - PresentationMarkus Michalewicz
NOTE that a newer version of this presentation (covering Oracle RAC 12c Release) has been uploaded to my SlideShare: https://www.slideshare.net/MarkusMichalewicz/oracle-extended-clusters-for-oracle-rac
This presentation can be used as an illustration for some of the ideas and best practices discussed in the paper "Oracle RAC and Oracle RAC One Node on Extended Distance (Stretched) Clusters"
Starting with 12c Release 1, Oracle introduced a completely new architecture concept for its database - the Container Database.
With this new architecture, new challenges came up but with the same breath a wide branch of new opportunities.
The presentation will address the capabilities to create fast and easy new (test) databases or clones for a running production database. Five different ways will be discussed.
- Using Local and Remote Cloning
- Using an Unplugged PDB (predefined master)
- Using Refreshable PDBs as a master for new (test) databases
- Snapshot Carousel
Another point of the agenda is the usage of the Snapshot features of ACFS and Direct NFS to speed up the creation process.
Oracle Cloud is Best for Oracle Database - High AvailabilityMarkus Michalewicz
This presentation looks behind the covers and evaluates the offerings provided by various cloud vendors and compares them to the Oracle Database offerings available in the Oracle Cloud. The comparison includes Oracle Database in general, focusing on High Availability (HA) and Disaster Recovery (DR), as those areas have historically distinguished the Oracle Database from other databases and will likely continue to be some of the most distinguishing features when it comes to operating the Oracle Database in the cloud.
Oracle RAC is an option to the Oracle Database Enterprise Edition. At least, this is what it is known for. This presentation shows the many ways in which the stack, which is known as Oracle RAC can be used in the most efficient way for various use cases.
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Sandesh Rao
In this session, I will cover under-the-hood features that power Oracle Real Application Clusters (Oracle RAC) 19c specifically around Cache Fusion and Service management. Improvements in Oracle RAC helps in integration with features such as Multitenant and Data Guard. In fact, these features benefit immensely when used with Oracle RAC. Finally we will talk about changes to the broader Oracle RAC Family of Products stack and the algorithmic changes that helps quickly detect sick/dead nodes/instances and the reconfiguration improvements to ensure that the Oracle RAC Databases continue to function without any disruption
Oracle RAC on Extended Distance Clusters - PresentationMarkus Michalewicz
NOTE that a newer version of this presentation (covering Oracle RAC 12c Release) has been uploaded to my SlideShare: https://www.slideshare.net/MarkusMichalewicz/oracle-extended-clusters-for-oracle-rac
This presentation can be used as an illustration for some of the ideas and best practices discussed in the paper "Oracle RAC and Oracle RAC One Node on Extended Distance (Stretched) Clusters"
Starting with 12c Release 1, Oracle introduced a completely new architecture concept for its database - the Container Database.
With this new architecture, new challenges came up but with the same breath a wide branch of new opportunities.
The presentation will address the capabilities to create fast and easy new (test) databases or clones for a running production database. Five different ways will be discussed.
- Using Local and Remote Cloning
- Using an Unplugged PDB (predefined master)
- Using Refreshable PDBs as a master for new (test) databases
- Snapshot Carousel
Another point of the agenda is the usage of the Snapshot features of ACFS and Direct NFS to speed up the creation process.
Oracle Cloud is Best for Oracle Database - High AvailabilityMarkus Michalewicz
This presentation looks behind the covers and evaluates the offerings provided by various cloud vendors and compares them to the Oracle Database offerings available in the Oracle Cloud. The comparison includes Oracle Database in general, focusing on High Availability (HA) and Disaster Recovery (DR), as those areas have historically distinguished the Oracle Database from other databases and will likely continue to be some of the most distinguishing features when it comes to operating the Oracle Database in the cloud.
Oracle RAC is an option to the Oracle Database Enterprise Edition. At least, this is what it is known for. This presentation shows the many ways in which the stack, which is known as Oracle RAC can be used in the most efficient way for various use cases.
Oracle RAC 12c Practical Performance Management and Tuning as presented during Oracle Open World 2013 with Michael Zoll.
This is part three of the Oracle RAC 12c "reindeer series" used for OOW13 Oracle RAC-related presentations.
This part concludes the main part of the "reindeer series" except for one bonus track "Oracle Multitenant meets Oracle RAC 12c" (available via SlidesShare, too).
Yuri is called to audit RMAN backup scripts on regular basis for several years now as part of his Day to Day duties. He see the same errors in scripts that Oracle DBAs using to backup critical databases over and over again. Those errors may play a significant role in a recovery process when you working under stress. During that presentation you will be introduced to typical issues and hints how to address those.
Make Your Application “Oracle RAC Ready” & Test For ItMarkus Michalewicz
This presentation talks about the secrets behind Oracle RAC’s horizontal scaling algorithm, Cache Fusion, and how you can ensure that your application is “Oracle RAC ready.”. It discusses do's and don'ts and how to test your application for "Oracle RAC readiness". This version was first presented in Sangam19.
Security Best Practice: Oracle passwords, but secure!Stefan Oehrli
Authentication is an integral part of database security. If authentication or passwords are insufficient or inadequate, all further security measures are generally useless. But how do you ensure that passwords are complex and authentication is secure? In this presentation, the password hashes will be explained and it will be shown how to make sure passwords and authentication are state of the art. Focusing on the current versions of the Oracle database, the following topics will be discussed:
- Oracle database authentication
- Password verification and hashes
- Where can I find password hashes?
- Check and password hashes.
- Discussion of various risks related to authentication.
- Discussion of password policies and strong passwords.
- Customer Use Case in the DB Vault environment "ups we have forgotten the passwords".
The presentation will be supplemented by corresponding examples and live demos.
Exploring Oracle Multitenant in Oracle Database 12cZohar Elkayam
Oracle multi tenant architecture is one of the biggest changes in Oracle 12c. In this presentation, we will review this major change and see how it can be effective for daily use.
The agenda:
- The Multitenant Container Database Architecture
- Multitenant Benefits and Impacts
- CDB and PDB Deployments and Provisioning
- Tools and Self-service tools
This presentation is based on work of Ami Aharonovich and was adapted with his permission.
... or why Oracle still cares about CMAN and why you should do it too
The Oracle Connection Manager (CMAN) is the Swiss-army knife for database connections. It can be used for security, routing, high availability, single-point of contact... Starting with Oracle 18c, it has been extended with the new Traffic Director Mode (CMAN TDM), that allows transparent failover for applications that do not implement it natively.
In this session I will introduce briefly what CMAN is capable of, how to configure it in a high availability environment, and how the new release achieves a higher protection level.
This version of "Oracle Real Application Clusters (RAC) 19c & Later – Best Practices" was first presented in Oracle Open World (OOW) London 2020 and includes content from the OOW 2019 version of the deck. The deck has been updated with the latest information regarding ORAchk as well as upgrade tips & tricks.
Oracle Database performance tuning using oratopSandesh Rao
Oratop is a text-based user interface tool for monitoring basic database operations in real-time. This presentation will go into depth on how to use the tool and some example scenarios. It can be used for both RAC and single-instance databases and in combination with top to get a more holistic view of system performance and identify any bottlenecks.
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
Standard Edition High Availability (SEHA) is the latest addition to Oracle’s high availability solutions. This presentation explains the motivation for Standard Edition High Availability, how it is implemented and the way it works currently as well as what is planned for future improvements. It was first presented during Oracle Groundbreakers Yatra (OGYatra) Online in July 2020.
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
How to Use Oracle RAC in a Cloud? - A Support QuestionMarkus Michalewicz
This presentation, which was first presented during Sangam16, discusses general and specific support rules for the Oracle Database and Oracle RAC with the purpose of enabling you to determine whether a given system is supported, certified or even recommended. This presentation was last updated on August 31st 2017 (minor update).
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
UCP, GridLink, TAF, AC, TAC, FAN… The configuration of Oracle Drivers for application high availability is not an easy job. The developers often care about the minimal working configuration, while the DBAs are busy with the operations. In this session I will try to demystify application server’s connectivity to the database and give a direction toward the highest availability, using Real Application Clusters and new Oracle features like TAC and CMAN TDM.
Part1 of SQL Tuning Workshop - Understanding the OptimizerMaria Colgan
Part 1 of a 5 part SQL Tuning workshop, This presentation covers the history of the Oracle Optimizer and explains the first thing the Optimizer does when it receives a SQL statements, which is to transform the SQL statement in order to open up additional access paths.
DOAG Oracle Unified Audit in Multitenant EnvironmentsStefan Oehrli
Oracle Audit is a well-known and proven database functionality. Or maybe not? What does auditing look like in combination with Oracle Multitenant Databases? Does database and Unified Audit work analogous to existing configurations? In the context of this presentation the auditing in the environment of container databases will be examined more closely. It will be shown what has to be considered and how an auditing concept has to be adapted to the new architecture. With focus on the current versions of the Oracle database, specific problems and workarounds in the area of Unified Audit will be shown. The presentation will be complemented by corresponding examples and live demos.
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
A presentation for developers, DBAs, and managers. This presentation was first presented in course of the AIOUG Maximum Availability Architecture (MAA)-focus month August 2021. The first reason might surprise you!
SQL tuning An execution plan is the output of the optimizer and is presented to the execution engine for
implementation. It instructs the execution engine about the operations that it must perform for
most efficiently retrieving the data required by a query.
The EXPLAIN PLAN statement gathers execution plans chosen by the Oracle optimizer for
the SELECT, UPDATE, INSERT, and DELETE statements. The steps of the execution plan are
not performed in the order in which they are numbered. There is a parent-child relationship
between steps. The row source tree is the core of the execution plan. It shows the following
information: • An ordering of the tables referenced by the statement
• An access method for each table mentioned in the statement
• A join method for tables affected by join operations in the statement
• Data operations, such as filter, sort, or aggregation
In addition to the row source tree (or data flow tree for parallel operations), the plan table
contains information about the following:
• Optimization, such as the cost and cardinality of each operation
• Partitioning, such as the set of accessed partitions
• Parallel execution, such as the distribution method of join inputs
The EXPLAIN PLAN results help you determine whether the optimizer selects a particular When you tune a SQL statement in an OLTP environment, the goal is to drive from the table
that has the most selective filter. This means that there are fewer rows passed to the next
step. If the next step is a join, this means fewer rows are joined. Check to see whether the
access paths are optimal. When you examine the optimizer execution plan, check to confirm
the following:
• The plan is such that the driving table has the best filter.
• The join order in each step means that the fewest number of rows are returned to the
next step (that is, the join order should reflect going to the best not-yet-used filters).
• The join method is appropriate for the number of rows being returned. For example,
nested loops joins through indexes may not be optimal when many rows are returned.
• Views are used efficiently. Look at the SELECT list to see whether access to the view is
necessary.
• There are any unintentional Cartesian products (even with small tables).
• Each table is being accessed efficiently. Consider the predicates in the SQL statement and the number of rows in the table. Look for suspicious activity, such as a full table
scan on tables with large number of rows, which have predicates in the WHERE clause.
Also, a full table scan might be more efficient on a small table, or to leverage a better
join method (for example, hash join) for the number of rows returned.
If any of these conditions are not optimal, consider restructuring the SQL statement or the
indexes available on the tables. There are many ways to retrieve execution plans inside the database. The most well known
ones are listed in the slide:
• The EXPLAIN PLAN command enables you to view the execution plan that the
opt
Oracle RAC 12c Practical Performance Management and Tuning as presented during Oracle Open World 2013 with Michael Zoll.
This is part three of the Oracle RAC 12c "reindeer series" used for OOW13 Oracle RAC-related presentations.
This part concludes the main part of the "reindeer series" except for one bonus track "Oracle Multitenant meets Oracle RAC 12c" (available via SlidesShare, too).
Yuri is called to audit RMAN backup scripts on regular basis for several years now as part of his Day to Day duties. He see the same errors in scripts that Oracle DBAs using to backup critical databases over and over again. Those errors may play a significant role in a recovery process when you working under stress. During that presentation you will be introduced to typical issues and hints how to address those.
Make Your Application “Oracle RAC Ready” & Test For ItMarkus Michalewicz
This presentation talks about the secrets behind Oracle RAC’s horizontal scaling algorithm, Cache Fusion, and how you can ensure that your application is “Oracle RAC ready.”. It discusses do's and don'ts and how to test your application for "Oracle RAC readiness". This version was first presented in Sangam19.
Security Best Practice: Oracle passwords, but secure!Stefan Oehrli
Authentication is an integral part of database security. If authentication or passwords are insufficient or inadequate, all further security measures are generally useless. But how do you ensure that passwords are complex and authentication is secure? In this presentation, the password hashes will be explained and it will be shown how to make sure passwords and authentication are state of the art. Focusing on the current versions of the Oracle database, the following topics will be discussed:
- Oracle database authentication
- Password verification and hashes
- Where can I find password hashes?
- Check and password hashes.
- Discussion of various risks related to authentication.
- Discussion of password policies and strong passwords.
- Customer Use Case in the DB Vault environment "ups we have forgotten the passwords".
The presentation will be supplemented by corresponding examples and live demos.
Exploring Oracle Multitenant in Oracle Database 12cZohar Elkayam
Oracle multi tenant architecture is one of the biggest changes in Oracle 12c. In this presentation, we will review this major change and see how it can be effective for daily use.
The agenda:
- The Multitenant Container Database Architecture
- Multitenant Benefits and Impacts
- CDB and PDB Deployments and Provisioning
- Tools and Self-service tools
This presentation is based on work of Ami Aharonovich and was adapted with his permission.
... or why Oracle still cares about CMAN and why you should do it too
The Oracle Connection Manager (CMAN) is the Swiss-army knife for database connections. It can be used for security, routing, high availability, single-point of contact... Starting with Oracle 18c, it has been extended with the new Traffic Director Mode (CMAN TDM), that allows transparent failover for applications that do not implement it natively.
In this session I will introduce briefly what CMAN is capable of, how to configure it in a high availability environment, and how the new release achieves a higher protection level.
This version of "Oracle Real Application Clusters (RAC) 19c & Later – Best Practices" was first presented in Oracle Open World (OOW) London 2020 and includes content from the OOW 2019 version of the deck. The deck has been updated with the latest information regarding ORAchk as well as upgrade tips & tricks.
Oracle Database performance tuning using oratopSandesh Rao
Oratop is a text-based user interface tool for monitoring basic database operations in real-time. This presentation will go into depth on how to use the tool and some example scenarios. It can be used for both RAC and single-instance databases and in combination with top to get a more holistic view of system performance and identify any bottlenecks.
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
Standard Edition High Availability (SEHA) is the latest addition to Oracle’s high availability solutions. This presentation explains the motivation for Standard Edition High Availability, how it is implemented and the way it works currently as well as what is planned for future improvements. It was first presented during Oracle Groundbreakers Yatra (OGYatra) Online in July 2020.
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
How to Use Oracle RAC in a Cloud? - A Support QuestionMarkus Michalewicz
This presentation, which was first presented during Sangam16, discusses general and specific support rules for the Oracle Database and Oracle RAC with the purpose of enabling you to determine whether a given system is supported, certified or even recommended. This presentation was last updated on August 31st 2017 (minor update).
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
UCP, GridLink, TAF, AC, TAC, FAN… The configuration of Oracle Drivers for application high availability is not an easy job. The developers often care about the minimal working configuration, while the DBAs are busy with the operations. In this session I will try to demystify application server’s connectivity to the database and give a direction toward the highest availability, using Real Application Clusters and new Oracle features like TAC and CMAN TDM.
Part1 of SQL Tuning Workshop - Understanding the OptimizerMaria Colgan
Part 1 of a 5 part SQL Tuning workshop, This presentation covers the history of the Oracle Optimizer and explains the first thing the Optimizer does when it receives a SQL statements, which is to transform the SQL statement in order to open up additional access paths.
DOAG Oracle Unified Audit in Multitenant EnvironmentsStefan Oehrli
Oracle Audit is a well-known and proven database functionality. Or maybe not? What does auditing look like in combination with Oracle Multitenant Databases? Does database and Unified Audit work analogous to existing configurations? In the context of this presentation the auditing in the environment of container databases will be examined more closely. It will be shown what has to be considered and how an auditing concept has to be adapted to the new architecture. With focus on the current versions of the Oracle database, specific problems and workarounds in the area of Unified Audit will be shown. The presentation will be complemented by corresponding examples and live demos.
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
A presentation for developers, DBAs, and managers. This presentation was first presented in course of the AIOUG Maximum Availability Architecture (MAA)-focus month August 2021. The first reason might surprise you!
SQL tuning An execution plan is the output of the optimizer and is presented to the execution engine for
implementation. It instructs the execution engine about the operations that it must perform for
most efficiently retrieving the data required by a query.
The EXPLAIN PLAN statement gathers execution plans chosen by the Oracle optimizer for
the SELECT, UPDATE, INSERT, and DELETE statements. The steps of the execution plan are
not performed in the order in which they are numbered. There is a parent-child relationship
between steps. The row source tree is the core of the execution plan. It shows the following
information: • An ordering of the tables referenced by the statement
• An access method for each table mentioned in the statement
• A join method for tables affected by join operations in the statement
• Data operations, such as filter, sort, or aggregation
In addition to the row source tree (or data flow tree for parallel operations), the plan table
contains information about the following:
• Optimization, such as the cost and cardinality of each operation
• Partitioning, such as the set of accessed partitions
• Parallel execution, such as the distribution method of join inputs
The EXPLAIN PLAN results help you determine whether the optimizer selects a particular When you tune a SQL statement in an OLTP environment, the goal is to drive from the table
that has the most selective filter. This means that there are fewer rows passed to the next
step. If the next step is a join, this means fewer rows are joined. Check to see whether the
access paths are optimal. When you examine the optimizer execution plan, check to confirm
the following:
• The plan is such that the driving table has the best filter.
• The join order in each step means that the fewest number of rows are returned to the
next step (that is, the join order should reflect going to the best not-yet-used filters).
• The join method is appropriate for the number of rows being returned. For example,
nested loops joins through indexes may not be optimal when many rows are returned.
• Views are used efficiently. Look at the SELECT list to see whether access to the view is
necessary.
• There are any unintentional Cartesian products (even with small tables).
• Each table is being accessed efficiently. Consider the predicates in the SQL statement and the number of rows in the table. Look for suspicious activity, such as a full table
scan on tables with large number of rows, which have predicates in the WHERE clause.
Also, a full table scan might be more efficient on a small table, or to leverage a better
join method (for example, hash join) for the number of rows returned.
If any of these conditions are not optimal, consider restructuring the SQL statement or the
indexes available on the tables. There are many ways to retrieve execution plans inside the database. The most well known
ones are listed in the slide:
• The EXPLAIN PLAN command enables you to view the execution plan that the
opt
Big Data: Getting off to a fast start with Big SQL (World of Watson 2016 sess...Cynthia Saracco
Got Big Data? Then check out what Big SQL can do for you . . . . Learn how IBM's industry-standard SQL interface enables you to leverage your existing SQL skills to query, analyze, and manipulate data managed in an Apache Hadoop environment on cloud or on premise. This quick technical tour is filled with practical examples designed to get you started working with Big SQL in no time. Specifically, you'll learn how to create Big SQL tables over Hadoop data in HDFS, Hive, or HBase; populate Big SQL tables with data from HDFS, a remote file system, or a remote RDBMS; execute simple and complex Big SQL queries; work with non-traditional data formats and more. These charts are for session ALB-3663 at the IBM World of Watson 2016 conference.
Oracle Database features every developer should know aboutgvenzl
This presentation highlights some Oracle Database features that make developers more productive when using Oracle Database. The slide deck does only contain a sample of many useful developer features inside the Oracle Database. Developers should always refer to the Oracle Database Development Guide (https://docs.oracle.com/en/database/oracle/oracle-database/18/adfns/index.html)
This slide deck what co-produced with https://twitter.com/sqlmaria
This paper describes the evolution of the Plan table and DBMSX_PLAN in 11g and some of the features that can be used to troubelshoot SQL performance effectively and efficiently.
MySQL 8.0 is the latest Generally Available version of MySQL. Discover the new Document Store, using SQL and NoSQL (js, python, CRUD, etc.) with the same database, Data Dictionary, Invisible Indexes, the new default UTF8MB4 charset (for emojis), Windows Functions, Common Table Expressions, and so much more.
In this first of a series of presentations, we'll overview the differences between SQL and PL/SQL, and the first steps in optimization, as understanding RULE vs. COST, and how to slash 90% response time in data extractions running in SQL*Plus.
SQL Performance Tuning and New Features in Oracle 19cRachelBarker26
What's new in Oracle 19c (and CMiC R12) and the reporting software Jaspersoft Studios. If you are not interested in Jasper go ahead and skip to page 26. Explains how to read an execution plan and what to look for in an optimized execution plan.
The final part of the SQL Tuning workshop focuses on applying the techniques discussed in the previous sections to help diagnose and correct a number of problematic SQL statements and shows how you can use SQL Plan Management or a SQL Patch to influence an execution plan.
Part4 Influencing Execution Plans with Optimizer HintsMaria Colgan
Part 4 of the SQL Tuning workshop is called “Harnessing the power of optimizer hints”. Although I am not a strong supporter of adding hints to SQL statements for a whole host of reasons, from time to time, it may become necessary to influence the plan the Optimizer chooses. The most powerful way to alter the plan chosen is via Optimizer hints. But knowing when and how to use Optimizer hints correctly is somewhat of a dark art. This session explains how Optimizer hints are interpreted, when and where they should be used, and why they sometimes appear to be ignored.
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.
Part2 Best Practices for Managing Optimizer StatisticsMaria Colgan
Part 2 of the SQL Tuning workshop focuses on Optimizer Statistics and the best practices for managing them, including when and how to gather statistics. It also covers what additional information you may need to give the Optimizer and provides guidance on when not to gather statistics. Finally we look at all of the techniques you can use to speed up statistics gathering including taking advantage of Incremental statistics, parallelism and concurrency.
This session was delivered as part of the Oracle Ground Breakers EMEA tour in Romania. What does "autonomous" really mean, and what makes the database autonomous? If you're looking for the answers to these questions, this is the session for you! In this session, we invite you to take a peek under the hood of the Oracle Autonomous Database, so you can get a clear understanding of how our unique Autonomous Database works. We’ll share our exclusive combination of database features, best practices and machine learning algorithms that make up this family of cloud services. With the use of live demos, we’ll illustrates how it can simplify your approach to data management and accelerate your transition to the cloud.
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.
What to Expect From Oracle database 19cMaria Colgan
The Oracle Database has recently switched to an annual release model. Oracle Database 19c is only the second release in this new model. So what can you expect from the latest version of the Oracle Database? This presentation explains how Oracle Database 19c is really 12.2.0.3 the terminal release of the 12.2 family and the new features you can find in this release.
The presentation helps to introduce the key aspects of the Oracle Optimizer and how you find out what it's up to and how you can influence its decisions.
The Changing Role of a DBA in an Autonomous WorldMaria Colgan
The advent of the cloud and the introduction of Oracle Autonomous Database Cloud presents opportunities for every organization, but what's the future role for the DBA? This presentation explores how the role of the DBA will continue to evolve, and provides advice on key skills required to be a successful DBA in the world of the cloud.
This presentation provides a clear overview of how Oracle Database In-Memory optimizes both analytics and mixed workloads, delivering outstanding performance while supporting real-time analytics, business intelligence, and reporting. It provides details on what you can expect from Database In-Memory in both Oracle Database 12.1.0.2 and 12.2.
This is one of the 15 minute "TED" style talk presented as part of the Database Symposium at the ODTUG Kscope18 conference. In this presentation @SQLMaria shares details on 4 useful supplied PL/SQL package with the Oracle Database
This is one of the 15 minute "TED" style talk presented as part of the Database Symposium at the ODTUG Kscope18 conference. In this presentation @SQLMaria coveres topics like what data type you should use to store JSON documents (varchar2, clob or blob) the pro's and con's of using an IS JSON check constraint, and how to load, index, and query JSON documents.
Five Tips to Get the Most Out of Your IndexingMaria Colgan
This is one of the 15 minute "TED" style talk presented as part of the Database Symposium at the ODTUG Kscope18 conference. In this presentation @SQLMaria provides 5 useful tips for getting the most out of indexes in the Oracle Database
Harnessing the Power of Optimizer HintsMaria Colgan
The goal of the Oracle Optimizer is to examine all possible execution plans for a SQL statement and to pick the one with the lowest cost, which should be the most efficient. From time to time, it may become necessary to influence the plan the Optimizer chooses. The most powerful way to alter the plan chosen is via Optimizer hints. But knowing when and how to use Optimizer hints correctly is somewhat of a dark art. This session explains in detail how Optimizer hints are interpreted, when they should be used, and why they sometimes appear to be ignored.
Databases are fundamentally changing due to new technologies and new requirements. This has never been more evident than with Oracle Database 12c, which has been the most rapidly adopted release in over a decade. This session provides a technical introduction to what's new in Oracle Database 12c and Oracle’s Engineered systems. We will describe which industry transformation inspired each enhancement and explain when and how you can embrace each enhancement while preserving your existing performance.
For decades developers and DBAs have battled over who controls the world. With each new development paradigm the battle flares again as developers push DBAs to adopt and support new data structures (JSON), new APIs (REST services), new technologies (In-Memory) and new platforms (Cloud). In this session, Gerald Venzl takes on the role of lead developer on a project to deploy a RESTful web-based application for a new coffeeshop chain, while Maria Colgan takes on the role of the DBA. Through the use of live demos, they learn to work together to find a solution that will allow them to embrace a more agile development approach, as well as the latest technology trends without exposing the business to painful availability or security vulnerabilities.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Hello, My name is Maria Colgan, and I’m excited to talk with you today about five things you might not know or have forgotten about the Oracle Database.
Hopefully, you will leave this session with some useful tricks you can put into practice on your databases today, as the majority of them at available from 11g onwards on-premises without any additional licenses needed.
But I will indicate in the top right-hand corner of each of the features exactly what release it became available.
So, what are the five areas we will look at today?
{CLICK}Well, I plan to kick things off with a look at the benefits of invisibility inside the database.
Then we will move on to some of the useful online operations available to you
Next, we will look at one of the newest features in the presentation, which is parameterized views
After that, we will look at useful PL/SQL packages
And finally, we will take a look at the power of immutability,
Let’s get started!
One of the most common approaches for query tuning on OLTP systems is to add an index
The more complex the app, the more indexes you are likely to have
But over time, how valuable are those indexes?
After all, each additional index increases the overhead of DML ops
{CLICK} However, we are all relucent to drop an index just in case it causes a performance regression and historically Oracle hasn’t been very helpful in letting you know if an index is worth keeping. All we would tell was Yes or No has this index been used. And the worse part is, we would tell you an index has been used even if we were the only ones who used it as part of statistic gathering. So, how do you know which indexes could be or should be dropped?
Starting in 12c, Oracle introduced a new view called DBA_INDEX_USAGE that records each time an index is used, who used it and how affect the index actually is as the view provides a histogram of the number of rows returned by the index.
The index access information is captured in memory and periodically flush to disk every 15 minutes. You can query the last_flush_Time in v$INDEX_USAGE_INFO to determine the last time it was updated.
{CLICK} You’ll notice that when I query DBA_INDEX_USAGE, I always do an outer join with DBA_INDEXES to ensure I capture information on indexes that are never used. Because these indexes won’t appear in DBA_INDEX_USAGE at all.
Let’s take a look at the output of this query {CLICK}
As you see for each index we get the total number of accesses and a histogram of how many rows were returned across several buckets.
{CLICK} So the EMPNO_PK INDEX returned 0 rows 48 times out of the 82 total access and a single row 32 times. So it looks like this index is useful.
{CLICK} But if we look at PROD_CUST_SALES we see it was accessed only 1 and it returned over 1,000 rows.
Is that a useful index? Maybe/maybe not. {CLICK}
But what is more interesting is that we have two indexes that have never been accessed. These are good candidates to be dropped. But dropping an index is can be risky {CLICK}.
It’s far easier to mark that index invisible. The optimizer will be unaware of the index going forward and won’t select it as part of any execution plan. However, the index will continue to be maintained. If no one complains about their query performance digressing after some time, you can go ahead and drop the index. If on the other hand, someone does complain, you can simply alter the index visible again.
{CLICK} You can also create a new index as invisible. The optimizer is unaware of the new index until you have an opportunity to verify it improves performance by setting the parameter OPTIMIZER_USE_INVISBLE_INDEX.
Invisibility can also be extremely useful when you have multiple applications using different columns of the same table.
{CLICK} Any DDL changes on those shared tables impacts all of the apps. Dropping a column will break any query still referencing it.
Add a column will break any app doing a SELECT * queries {CLICK}
Imagine we have two APPs A and B that both use the customer’s table. Initially, both apps use the first_name, last_name, and the initials columns.{CLICK}
App A no longer needs the initials column in their app and wants to drop the column.
However, if they do, {CLICK} APP B will end up with an error.{CLICK}
Instead, the initials column can be marked invisible. This will allow apps like APP B who specifically reference the column to continue to work and App A no longer sees the column. {CLICK}
By default, optimizer statistics are published as soon as they are gathered
But what if you want to experiment with different statistic gathering options?
How do you protect yourself from the possibility of an unpredictable changes in execution plans
Locking statistics doesn’t protect against all plan changes because of out-of-range situations
Using Invisible or Pending statistics allows you to test without worry. By default, all stats are published to the data dictionary as soon as they are collected. You can confirm the publish preference by querying dbms_Stats.get_prefs.
In my example, the sales table has its stats instantly published, and {CLICK} currently has no histograms created.Let’s try gathering histograms to see if they would improve the performance of queries on the sales table without impacting any currently running applications.
First thing we need to do is change the table preference on the SALES table to set PUBLISH stats to FALSE.
Now we are free to gather statistics including the new types of histograms that came in 12c {CLICK}.
Remember the stats are going to be published in the main data dictionary. They are stored in a set of pending stats tables, which are invisible to the optimizer. But we can run a report to compare (or diff) the new stats versus the existing stats being used by the optimizer.
Note the REPORT is a clob datatype. In order to display the report correctly you must use the set long and longchunksize command to define the width of a long so the report can be displayed properly.
{CLICK} You also need to use the keyword table when calling DBMS_STATS.DIFF_TABLE_STATS because it’s a table function. If you don’t you will receive an error saying the object doesn’t exist. {CLICK}
The report compares the column level statistics from the two sources. In our case, the published statistics versus the freshly gathered pending statistics.Three columns are showing differences CUST_ID, PROD_ID, and TIME_ID. {CLICK} Source A is the currently published stats for the SALES table, while source B is the pending stats. You will notice that in source B, the pending stats have a histogram on these three columns. {CLICK}
To test the pending statistics in a single session, we can set the parameter optimizer_use_pending_statistics =TRUE.
If the histograms prove helpful, we can publish the pending statistics using the dbms_stats.publish_pending_stats command.{CLICK}
And confirm the histograms are now visible in the main data dictionary. We can also reset the publish preference to TRUE
Let’s move on now and talk about some useful online Operations.
DBAs often have a long list of maintenance activities & data model changes they need to do
Goal to improve overall system performance
In the past, these tasks have required exclusive locks
Forcing DBAs to wait until application downtime to complete them
{CLICK}With online operations, these tasks can occur, when necessary, without delay
Online operations
Wait for active transactions to end before beginning
Do not block any new DML statements (with the only exception being parallel DML)
Let’s look at a simple of example of adding a column to a table. As you can see adding a column with a default value is a metadata-only operation since 11g. The size of the table hasn’t changed. {CLICK} Because it’s a metadata only operation it not only occurs fully online but no space is allocated and no redo or undo is generated.
You can also Mark a column or an index invisible, Drop a constraint or an index, or Rebuild an index full online. {CLICK}
Traditionally statistics need to be manually gathered after a large data load
With online statistics gathering automatically gathered as part of direct path load operations
Create Table As Select
Insert As Select commands into empty objects
Statistics available directly after the loadSimilar to how to index statistics are maintained
No additional table scan to gather statistics
All internal maintenance operations that use CTAS operations benefit from this
{CLICK}Note: Histograms are not created as they require an additional scan of the data
If you want histograms to be gathered as part of the data load, you can set the underscore parameter "_optimizer_gather_stats_on_load_hist” to TRUE. This will add some overhead to the data load operations but you will automatically get histograms on every load into an empty object.
Another extremely useful online operation is the ability to convert a non-partitioned table into a partitioned table. {CLICK} In this example I’m modifying the sales table to range partition the table. {CLICK} The inclusion of the word ONLINE enables current DML operations to proceed while the conversion is ongoing.
You can also specify how you want Oracle to handle the existing indexes on the table.
What happens to indexes you don’t specify? {CLICK}
Non-prefixed indexes (ones that don’t contain the partitioning key) become global nonpartitioned indexes.
Prefixed indexes are converted to local partitioned indexes
Bitmap indexes are always converted to local partitioned indexes regardless of whether or not they
Let’s take a look at parameterized views next.
Table expression replaces a table or view that’s typically found in the FROM clause, and they are returning a query.
Scalar SQL Macros, on the other hand, replace an expression or business logic calculation typically found in the SELECT list, where clause or group by or order by clause and return a standard oracle data type like Number, similar to a pl/SQL function.
Table functions were backported to 19.6
In this example, I’m creating a SQL Macro that will return information about Orders that haven’t shipped yet where the order value is greater than the user-specified amount.
Creating a SQL Macro is very similar to creating a PL/SQL function., with an additional SQL_MACRO clause. The SQL MACRO clause can take an argument SCALAR or TABLE, but if you leave it blank, it defaults to a TABLE macro.
[CLICK] A SQL Macro always returns text. In this case, I’m capturing the text in a CLOB
But what is that text?
[CLICK] It is the text of the query or view you are defining. The database will resolve that view definition and makes part of the SQL statement that calls it.
Other changes to a table can also be done online:
Marking a column or an index invisible
Dropping a constraint or an index
Rebuilding an index
Oracle Database 19c provides 290 supplied PL/SQL packages. Some of these packages are well known and often used like DBMS_STATS or DBMS_XPLAN. However, there are serval valuable packages that at less well known. In this section, I wanted to share details on two lesser-known packages I’ve found extremely useful at times and some good news on a very popular procedure that not everyone had access to before!
Other changes to a table can also be done online:
Marking a column or an index invisible
Dropping a constraint or an index
Rebuilding an index
Other changes to a table can also be done online:
Marking a column or an index invisible
Dropping a constraint or an index
Rebuilding an index
Other changes to a table can also be done online:
Marking a column or an index invisible
Dropping a constraint or an index
Rebuilding an index
Other changes to a table can also be done online:
Marking a column or an index invisible
Dropping a constraint or an index
Rebuilding an index