The use case: Help Me Learn My New Car As much as folks are lamenting about the new cloud version of Oracle support, I have other issues on my mind- like trying to acclimate to my first electric vehicle, even though I already owned a gas-powered Mini Cooper. As I was looking for a good use case to test new vector search with Oracle 26ai, it occurred to me that I could use something better than a key word search when using the manual to my new car. What if I used the manual, which is public information and could…
-
-
Recharging, Exploring, and Sharing Knowledge So My Kevlar Stays Intact The world is always moving fast for me, so it’s easy to overlook the importance of self-care. We often find ourselves caught up in work, deadlines, and the constant drive for productivity. However, taking the time to step away, unplug, and recharge is vital. Not only for my mental and physical well-being but also for my creativity and professional growth. Recently, I had the incredible opportunity to spend a couple of weeks traveling through Europe, exploring the vibrant cities of Amsterdam, Berlin, Prague, Vienna, Trieste, and finally, the charming coastal…
-
After our first two weeks of ensuring Grant and I didn’t burn down SQLServerCentral figuring out how Steve Jones has kept the pace he has for so long, (quite an impressive feat, I think we’d both agree!) I’m back to working with my comparisons and building more knowledge in PostgreSQL. What caught my attention this week was the simple concept of a row (or tuple) which might seem universal in relational systems, after all, data is data no matter the platform, right? But under the hood, the way databases store, manage, and control visibility of that data can differ drastically.…
-
Oracle: Wait Classes & Events As discussed in an earlier blog post, Oracle groups wait events into wait classes like User I/O, System I/O, Concurrency, Network, Idle, Commit, and more. By grouping wait events into categories, it helps the technologist identify where time is being spent in the database, (DB Time) and as there is often a correlation between waits, identifying culprits. This two-tier model (Class → Event) lets you query V$SYSTEM_WAIT_CLASS or V$SYSTEM_EVENT for high-level patterns and drill into specific events, as in the example: “db file sequential read” falls under the wait class User I/O. Class-based stats streamlines…
-
Furthering on our Oracle Real Application Clusters (RAC) knowledge, we’re going to go deeper into what we watch for a RAC database that may be different than a single instance. RAC is built for scale and instance resilience, distributing workloads across multiple nodes. At the same time, what gives it strength introduces monitoring complexity, especially when you’re not just watching a single instance but multiple, interconnected ones. To manage performance effectively in RAC, you need to understand the difference between V$ and GV$ views, what they show you, and how to interpret cluster-level wait events. Along with performance, the overall…
-
After my last blog post on Oracle Real Application Clusters (RAC) I was asked to talk about both health and how performance impact can affect a RAC database. Its architecture enables failover, workload distribution, and offers an option to scale performance, but only when all nodes play well together. When one node drags behind or becomes unstable, RAC has no choice but to protect the rest of the cluster- so help me, Oracle Gods. This protection can come in the form of node eviction, which can be both disruptive and at times avoidable with proactive monitoring and intervention. Why Node…
-
After the initial overview of memory monitoring in Oracle, particularly around the SGA and PGA, I wanted to take a deeper dive into the most common Oracle memory configurations. These include how memory settings are defined, how they interact, and the combinations you’re likely to encounter across different workloads. Oracle memory is a no-brainer for many of us who’ve been in the space for an extensive time, but I’ve come to realize, it can be a bit overwhelming and especially with recent changes from Oracle 12c on. How Memory Settings Are Applied in Oracle Oracle memory parameters can be configured…
-
When describing Oracle features to folks that are new to the platform or coming from other database platforms, I found it’s best to keep it simple, but take on the important aspects of the technology. I’m going to take on a few more posts on Oracle internals from the perspective of the individual new to Oracle. To start, I’ve been having some long discussions, as well as documenting how Oracle memory works and how we monitor it when you don’t have the diagnostic and tuning pack at your disposal. With the exclusion of these management packs, you have to be…
-
For many DBAs, the thought of running Oracle on a Windows OS induces a collective cringe. Even for someone like me, with a career spanning both Microsoft and Oracle technologies, it’s a combination I typically avoid. However, there are scenarios—driven by licensing, software requirements, or other factors—where deploying Oracle on Windows becomes the logical choice. I recently encountered such a scenario while assisting a team I enjoy working with at Redgate. The task was to refresh and streamline our demo virtual machine (VM) image, which included Oracle running on Windows. Here was my planned approach: Export any data that needed…
-
When building products that interact with multiple database platforms, the complexity can be both a challenge and an opportunity. For Subject Matter Experts (SMEs), observing design decisions made without sufficient knowledge of underlying database architecture can be particularly frustrating. These moments highlight the critical need for architectural foresight and platform-specific expertise to avoid pitfalls that compromise scalability, performance, and maintainability. I’ve been managing multiple platforms for a couple decades and in recent years, building products that support the most popular enterprise and open-source databases today. I’m keenly aware of lacking documentation, either due to limited resources or hopes of directing…
-
I’m passionate about making technology easier to understand, a mission I’ve pursued on my blog since 2008. However, I’ve faced challenges when educating newer Oracle users about the differences between single-instance (older architecture) and multitenant (newer architecture) models, as well as how these two architectures are connected. For those of us with extensive Oracle experience, these concepts may feel straightforward. This is especially true for professionals who work across multiple platforms, as Oracle was relatively late to adopt multitenancy. For instance, SQL Server has embraced this model since its earlier versions—going back to my experience with SQL Server 6.0—making it…
-
In the midst of us needing to do more with less every day, many of us are incorporating clones to simplify data refreshes to non-production database environments. Working harder is just not an option when we can use newer technology to get more by doing less. Knowing Your Environment Doing less effectively requires some planning for Oracle and a few questions to be asked: Will you need to deploy to a new host/VM target as part of a clone? Will an image with Oracle be used for the new Host/VM target or will you need to build out the Oracle…
-
After six months of collaboration, deep intensive script writing, slide content and video recordings, the Complete Guide to Oracle 23ai is available on LinkedIn Learning! You can access the course directly here. If you’re new to Oracle, this course will teach you all the basics and as a seasoned professional, it will take you through the new, advanced features connected to this fantastic release!
-
I was thrilled to see the new Oracle 23ai Free come out on Thursday, so I marched over on Friday and downloaded the newest docker image to continue becoming comfortable with the newest version’s features. When I tried to connect via SQLPlus as SYSDBA, I received an EXTPROC error. It pointed clearly to the listener.ora file, which I discovered a path listed still to ora23c for the extproc, corrected it, started the Listener, but to no avail- an ORA-12547 error, realizing I had a make file issue on the binaries for Oracle. I contacted Geral Venzl, who was very gracious…
-
Here is what’s going on for me at Silk for the month of August! I’ve served in the role as Director of Technical Advocacy at Silk for just over 2 months. It’s been a productive months, helping out with Oracle, SQL Server, PostgreSQL and other workloads on Azure and Google Cloud interested in running with Silk. I love the energy from each of the teams at the company and enjoy the opportunity to contribute to all the different aspects of the business here. I want to thank the sales teams for keeping me engaged. I also would like to curse…
-
I had a customer who needed to know how to retain performance after migrating to the cloud for SQL execution and I recommended SQL Baselines, but the information was surprisingly missing on how to collect an AWR baseline, THEN export out baselines and post migration, start a import baselines and review performance. Goal To stabilize performance of Oracle database during migrations to new Azure infrastructure from on-premises environments. Oracle provides in 12c and above, the ability to create full management baselines of SQL executions, which are a combination of SQL profiles, hints and defined statistical data to ensure performance remains…
-
This is a continuation of the evolution of AI with ChatGPT and how much it can be leveraged, allowing me to do more with less time. As a DBA, many times I’m copying and pasting past versions of code, then making changes to do what needs to be done each day. the idea that ChatGPT could do some of this FOR ME is very attractive. It’s still in its infancy, but I’m thrilled to say, it’s getting better every day and you get out of it what you put in….as in prompts. This week, one of my prompts with the…
-
I always like to start with something easy, or at least easy for me… 🙂 ChatGPT, using GPT4 is moving fast and at this point, we can test it to generate code that will replace much of what I would write in a BASH, Python or PowerShell script. The prompt in ChatGPT was as follows: “Deploy Oracle 19.3 image on an Azure VM, using an E8ds_v5 SKU, with P6 for the OS Disk in EastUS2 in Azure CLI using BASH” ChatGPT is good about using natural language in it’s output to parse through each step and include the code that…