Overcoming the Challenges of Microservices and Docker Containerisation

A microservice architecture can provide great benefits to certain types of applications that have pronounced troughs and peaks in demand, such as web-based shopping apps. With containerization, there is the promise of deploying containerized services in a matter of seconds to deal with demand. Has the Docker ecosystem now reached the level of maturity to allow this type of application to become standard practice?… Read more

Oracle for Absolute Beginners: Users, Synonyms, Privileges, & Roles

0
1
I accidentally locked myself out of my house this evening, and so I had to climb up the wall like a burglar and clamber in through a bathroom window, while the neighbourhood kids all watched and giggled, probably taking secret photos to share on Snapchat or something.  Embarrassing, yes, but what’s it got to do with Oracle? Well, the point… Continue Reading →Read more

Getting started with Oracle Database 12c Multitenant Architecture

0
6
Oracle database, since its inception, has always used a very specific and unique architecture which served it very well. In earlier forms of this architecture, all components of the database were meant to work in a one-to-one mapping with each other. But from version 12c onwards, a completely new architecture has been introduced – Oracle Multitenant. In other words, from… Continue Reading →Read more

JSON For Absolute Beginners: Part 6 – Generating JSON post-12c Release 2

0
0
In this sixth and final installment in this introductory series on JSON I’d like to revisit the question of generating JSON from your Oracle database. Cos it’s great to be able to consume a format; but if you can’t spit it out easily too you’ll probably want to look elsewhere. Easily, that’s the keyword in that sentence. In my previous… Continue Reading →Read more

Oracle Partitioned Index Efficiency

0
1
PartitionedIndexEfficiency Although it is generally true that rebuilding an index represents a waste of time and resources, there nevertheless exist situations where degenerated indexes might benefit from reorganisation. When you think you are in such a situation, instead of shooting in the dark and rebuilding all indexes, you are better off finding and rebuilding only those indexes occupying more space… Continue Reading →Read more

Policy-Managed Oracle RAC One Node Databases

0
0
Oracle RAC One Node, introduced in Oracle Database 11g Release 2 (11.2.0.2), is a single instance of an Oracle RAC-enabled database running on one node in a cluster. It lets you consolidate multiple databases onto a single cluster while providing high availability benefits of failover protection to the single instance databases. Oracle RAC One Node databases can be configured to… … Read more

Understanding SQL Query Parsing: Part 4 – Understanding Bind Variable Peeking

0
2
In the 3rd part of this series, I introduced you to the concept of the bind variables. We also learned their importance in regard to cursors, i.e. how with the presence of bind variables, cursor reparsing can be reduced significantly. But as is famously said in the world of performance tuning, there is nothing black or white: it’s all grey…. Continue Reading →Read more

Oracle for Absolute Beginners: Date, Timestamp and Interval

0
3
All databases stand on a tripod of datatypes: strings, numbers and dates. And though they might dress them in fancy clothing – varchar2, clob, float, integer – strings are really just strings, and numbers are really just numbers. But dates — dates are interesting. In this article I’ll talk to you about dates, about time, and about how both are… Continue Reading →Read more

Duplicate Point-In-Time Recovered PDB Using Backup

1
1
At times, we might need to duplicate a production pluggable database to a Past Point in Time without disturbing the production database itself, in order to: View the data in the Production Database (PDB) as it appeared then Perform testing Generate reports, etc. Duplication of a PDB slightly differs from that of a non-CDB. In order to duplicate the PDB, an… Continue Reading →Read more

Snapshots

0
2
While looking at the results from a query against the dynamic performance view v$active_session_history during a recent trouble-shooting assignment I noticed a result that was so unusual that I decided I needed to get some information from the v$ash_info view over an interval of about 3 minutes – and it didn’t matter which three minutes in particular, any three (consecutive)… Continue Reading →Read more

Index Costing Threat

0
0
In the previous post I described a problem with the strategy that the optimizer uses for costing an index fast full scan, and the alternative strategy that Oracle had supplied at some point in the 10g timeline to allow a more rational cost to be calculated in special cases. In an earlier post still I had described the problem with… Continue Reading →Read more

Understanding SQL Query Parsing – Part 3: Bind Variables and Cursor Sharing

0
1
In the first and the second parts of this series, we learned what query parsing is, how hard and soft parsing work, what their impact on the query is, and then moved on to understand the concept of parent and child cursors. In this third article, we will look at the issue of duplicate SQL statements and how Bind Variables… Continue Reading →Read more

Problems with Indexes

0
0
In my book “Cost Based Oracle – Fundamentals” (Apress 2005) I described a problem with the cost calculation for the index fast full scan: When you generate statistics for a table, one of the results is the number of blocks below the high water mark. When you generate the statistics for an index, you get the number of leaf blocks… Continue Reading →Read more

Partitioning in Oracle

0
4
As table size grows due to more data, the performance of insert, update, delete and select SQL operations, as well as maintenance operations tasks such as taking backups, index maintenance and update statistics may take longer to perform. In order to improve the performance of these operations it is therefore advisable to partition tables greater than 2GB in separate chunks…. Continue Reading →Read more

Oracle Data Type Implicit Conversion Hierarchy

0
0
In Oracle, under certain circumstances, an implicit data type conversion precludes the use of indexes. Perhaps you have a vague idea of what an implicit data type conversion hierarchy is, and you might even ignore the subtlety of the implicit data type conversion direction within a query predicate expression. Hopefully this article will shed some light on this concept. 1…. Continue Reading →Read more

Investigating Indexes – 2

0
0
In an earlier article on investigating indexes I described some methods for looking at the internal structure of an index to get an idea of its current state of health. Although this type of knowledge helps you to make informed decisions about which indexes might need special treatment (like being permanently dropped, perhaps) it doesn’t immediately answer questions like: “what’s… Continue Reading →Read more

Invisible Columns In Oracle Database 12C

0
1
In Oracle Database 12c, you can set a column in table as invisible either during CREATE TABLE or modifying existing table via ALTER TABLE command. By default, table columns are always visible. When you make it invisible, the COL# column in COL$ dictionary is updated to 0, and so is not included in the “SELECT *” or “INSERT INTO VALUES”… Continue Reading →Read more

Understanding SQL Query Parsing – Part 2: Parent and Child Cursors

0
0
In the first article of this series, we learned what query parsing is and what impact it has on query performance. In this part of the series, we shall continue the discussion and look at Soft Parsing of the query. Query Processing Workflow Revisited As we saw in the previous installment, a query has to undergo Hard Parsing at least… Continue Reading →Read more