The Spoken Nerd
A conversation with Tim Hall (oracle-base) - Part 1

A conversation with Tim Hall (oracle-base) - Part 1

October 19, 2021

Chances are, if you have Googled for help on an Oracle problem, you have ended up on a concise yet precise solution to your problem at oracle-base.com. The site has been running for over 20 years and gets millions of hits from the Oracle community.  In this three-part series, I catch up with the owner of the site, and good mate, Tim Hall to talk tech, blogging, video and everything else that grabbed our attention.

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.

Back to basics: The most important skill for any tech professional

Back to basics: The most important skill for any tech professional

September 5, 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.

Testing: The importance of trying to break stuff

Testing: The importance of trying to break stuff

August 4, 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.

Back to basics: Stop doing SQL tuning!

Back to basics: Stop doing SQL tuning!

July 5, 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.

 

 

Back to basics: The structure of an index

Back to basics: The structure of an index

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.

Every index is a bug

Every index is a bug

April 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.

Back to basics: Once around the block! A look at block internals

Back to basics: Once around the block! A look at block internals

March 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.

Back to basics: The very clever history of the ROWID

Back to basics: The very clever history of the ROWID

February 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 

Back to basics: The evolution of tablespaces

Back to basics: The evolution of tablespaces

February 5, 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.

How does SELECT * FROM TABLE find its data? Back to basics with datafiles, segments and extents

How does SELECT * FROM TABLE find its data? Back to basics with datafiles, segments and extents

January 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.

Podbean App

Play this podcast on Podbean App