Episodes

Sunday Sep 05, 2021
Back to basics: The most important skill for any tech professional
Sunday Sep 05, 2021
Sunday Sep 05, 2021
If you're an Oracle developer, what is the most important skill you need? Is it database modelling? Is it SQL coding? Its none of these.
I believe the core of being a successful modern developer is something far far simpler. Most of us get into the IT field because we like solving problems, so the most difficult challenge for many of us when we hit a problem that we cannot solve is being able to reach out for help . You might be surprised to find that being able to ask questions is actually a skill, a skill that takes practice and nuance to master. In this episode, I'll give you my thoughts on how to ask questions that will maximize your chances of getting the answers you need to succeed in your chosen role.
If you like this episode, be sure you hit the Like button and share it with your colleagues. Catch me on Twitter at https://twitter.com/connor_mc_d if you have comments or questions.

Wednesday Aug 04, 2021
Testing: The importance of trying to break stuff
Wednesday Aug 04, 2021
Wednesday Aug 04, 2021
With the modern trend of automated testing, it is often easy to fall into the trap of relying solely on automation, especially when emotionally as developers we hard-wired to a bias of success. If you write working code, you are valued by your team. Your remuneration and career progression are often linked to working code. Thus as motivated as we want to be about finding bugs in our code with thorough testing, it is easy to fall prey to writing "blue sky" applications; applications that only work well when the conditions are right.
But part of the developers job is to discover how their code works when the storm clouds hover. How does your code hold up under more extreme conditions? In this episode, I'll talk about why testing to destruction is an important part of building successful database applications.
If you like this episode, be sure you hit the Like button and share it with your colleagues. Catch me on Twitter at https://twitter.com/connor_mc_d if you have comments and questions.

Monday Jul 05, 2021
Back to basics: Stop doing SQL tuning!
Monday Jul 05, 2021
Monday Jul 05, 2021
SQL Tuning - It is probably the biggest topic in database technology, and it is little surprise why. There is nothing sexier than diving into the heart of the application code, making a few changes and then basking in the admiration of your colleagues as you have once again saved the day! But that very allure of getting our ego stroked can mean that you have lost sight of where you are supposed to be tuning things. In this episode, I'll explore things from a different angle, namely, that SQL tuning is perhaps not where you should be focussing your efforts when it comes to performance issues.
Catch me on Twitter at https://twitter.com/connor_mc_d if you have questions.

Thursday May 27, 2021
Back to basics: The structure of an index
Thursday May 27, 2021
Thursday May 27, 2021
Pick up a reference book and there will most likely be an index at the back to help you locate particularly topics. Are database indexes the same? The goal of indexes in the database is allow rapid lookup of a known value in a table. But how do they achieve this? The secret lies on the structure used by indexes to ensure that finding a value even in billions of rows can be virtually instantaneous. In this episode, we'll extend the book metaphor to explain how database indexes work. Enjoy!
Catch me on Twitter at https://twitter.com/connor_mc_d if you have questions.

Tuesday Apr 13, 2021
Every index is a bug
Tuesday Apr 13, 2021
Tuesday Apr 13, 2021
Every database has indexes...but should they? In this episode, lets consider a different proposition. What if the indexes you have on your database are a mistake...A bug... An implementation error. Give me 30 minutes to convince you of a whole new mindset when it comes to indexes on your database. Enjoy!
Catch me on Twitter at https://twitter.com/connor_mc_d if you have questions.

Wednesday Mar 10, 2021
Back to basics: Once around the block! A look at block internals
Wednesday Mar 10, 2021
Wednesday Mar 10, 2021
Can it be done? Can you delve into the hex dumps, the byte headers, the acronyms all wrapped up in the magic that is an Oracle Database block with no slides, no code, no demos and no visuals? Who knows, but I'll give it my best shot! Don't panic, this is not an episode about digging into internals just for the sake of digging. I'll take a look at the main components of a database block, why they exist, and how these components come together to achieve the concurrency and performance of the Oracle Database that we all love. Enjoy!
Catch me on Twitter at https://twitter.com/connor_mc_d if you have questions.
Addenda: OK, I did cop out a little bit here :-), because if you do want a visual to accompany this episode, then you can get a screenshot of a typical data block dump by clicking here, but its not mandatory for the session.

Monday Feb 15, 2021
Back to basics: The very clever history of the ROWID
Monday Feb 15, 2021
Monday Feb 15, 2021
The ROWID underpins many forms of data access within the Oracle Database. If you're a newcomer to Oracle, querying the rowid from a table returns a cryptic string such as "AAAhDyABAAABd0SAAA". But head back into the earlier versions of the database, and querying the rowid would return a completely different format like "0005DD12.0000.0040". In this episode, I'll cover what the rowid is, why the format of the rowid has evolved over the years, and reveal the extremely clever way this evolution occurred - an evolution that allowed the rowid to store more information in the same number of bytes, and as a result, gave rise to multi-petabyte databases.
You can also get a video version of the details in this episode on my YouTube channel here

Friday Feb 05, 2021
Back to basics: The evolution of tablespaces
Friday Feb 05, 2021
Friday Feb 05, 2021
A tablespace is just a logical grouping of files in your Oracle database. But behind that simple definition sits a remarkable evolution of how tablespaces are defined and managed internally. This episode covers the early days of tablespaces and the pitfalls with managing their space utilisation from within the data dictionary. Then we'll move into the changes and improvements that with Oracle 8i and 8i. Finally we cover some of the more niche tablespace types that you may possibly have never used or even heard of. This episodes also sets you up for the big topic to cover in the next episode ... the ROWID.
Catch me on Twitter at https://twitter.com/connor_mc_d if you have questions.

Saturday Jan 16, 2021
Saturday Jan 16, 2021
The beauty of databases is they we just throw SQL at it, and it handles all the heavy lifting of working out where your data is, and how best to find it. But even for the novice, it is useful to know the fundamental mechanisms in which data is stored. In this episode, I cover datafiles, segments, extents and how your queries translate to the data physically stored on disk. Finally I'll go through how all of that applies when it comes running a basic SELECT statement to scan a table - how does the database locate your data? Catch me on twitter https://twitter.com/connor_mc_d if you have questions.

Saturday Jan 16, 2021
Saturday Jan 16, 2021
On StackOverflow, I chanced upon a beginner being trolled as they struggled to get going with Oracle. "Duh! Just start the database" someone said dismissively. I called out the rudeness by replying: "You don't start a database, you start an instance". So lets go back to basics, and describe Oracle in its most fundamental terms: What is a database? What is an instance? And why its important to understand the difference. Catch me on Twitter at https://twitter.com/connor_mc_d