Archived Blogs

Step-by-Step: Installing Oracle 26ai RAC Database on Linux Using VMware

Conceptual Architecture A conceptual architecture diagram of Oracle RAC is as follows: The biggest obstacles to building a private RAC test environments is the requirement for shared storage. Traditionally, this necessitates expensive SAN hardware.However, by leveraging VMware ESXi’s advanced disk attributes, specifically the multi-writer flag, we can simulate a professional storage environment. This “poor man’s…

Step-by-Step: Installing Oracle 26ai via RPM and Creating Databases

Installing Oracle Database on Linux using RPM packages significantly reduces deployment complexity. Many intricate configuration steps are handled automatically during the package installation. This article demonstrates the process of installing Oracle 26ai using the RPM method on RHEL 9. 1. Linux Operating System Preparation To resolve dependency issues on RHEL, we utilize the free Oracle…

Troubleshooting ORA-01152: When Datafiles are “From the Future”

The ORA-01152 error is a common headache for DBAs, particularly after a database restore operation or when recovering from a backup control file. It essentially tells you that your database files are “newer” than your control file expects. Below is a guide on how to diagnose the issue and resolve it when you don’t have…

Evaluating Storage Performance by AWR Snapshot Raw Data

As a DBA, having a clear understanding of your storage performance is essential to correctly judge overall database behavior. However, in many enterprises, DBAs do not have OS-level access, so they cannot use tools like iostat or sar. Fortunately, Oracle’s AWR Snapshot Raw Data retains historical I/O performance metrics that can help fill this gap.…

Oracle AWR Case Study: Diagnosing ‘enq: TX – row lock contention’

In a busy and healthy database environment, it is unavoidable that multiple sessions will attempt to modify the same row or set of rows simultaneously. This leads to situations where one session must wait for another to finish before proceeding, resulting in the “enq: TX – row lock contention” wait event. While some level of…

Oracle AWR Case Study: Pinpointing When the Execution Plan Flip Occurred

One day, users angrily complained that the Oracle database had suddenly become unbearably slow. They could feel the lag but had no idea when the slowdown actually started. The Standout Troublemaker Below is the “SQL Statistics” section from the latest AWR report: The top SQL consumed more than 99% of Total DB Time. It executed…

How Oracle Calculates the Number of Sessions in the AWR Report

At the top of every Oracle AWR report, there’s an important metric called “Sessions”, which represents the number of sessions at the time each snapshot (Snap ID) is being taken. This value comes from the logons current statistic in the DBA_HIST_SYSSTAT table. Let’s take a closer look at how Oracle obtains this value through a…

Oracle AWR Case Study: Slow Standby Database Dragging down the Primary

One of my clients from a hospital recently complained about slow performance in their Oracle database and sent me the AWR report for analysis. In this post, I’ll walk through my investigation and troubleshooting process. Load profile — busy but normal The Load Profile section shows a fairly busy OLTP-style workload, but nothing unusual or…

I’m Yuan

Welcome to the blog of a performance maven in Oracle & MySQL. Feel free to contact me to share and discuss database knowledge.

My 20 Oracle Certifications

A screenshot from certview.oracle.com

My Book

MySQL 8.0 Operations and Optimization

Let’s connect