Wednesday, November 26, 2025

Fixing ORA-30012: Unable to Convert Physical Standby to Snapshot Standby

 


Introduction 

I recently encountered the frustrating "ORA-30012: undo tablespace 'UNDOTBS1' does not exist or is of wrong type" while attempting to convert my Data Guard Physical Standby into a writable Snapshot Standby for an important testing cycle. In my setup, the Primary database was a RAC running on Exadata Database Service on Dedicated Infrastructure, while the Standby was a single-instance deployment on DBCS. This mixed environment introduced subtle configuration differences, and one of those differences caused the ORA-30012 failure during the snapshot conversion. In this post, I’ll walk through how I investigated the issue, identified the undo-related mismatch on the standby, and applied the correct fix to enable the Snapshot Standby conversion successfully.

Tuesday, November 25, 2025

Troubleshooting ORA-29771 on a DBCS Data Guard Standby



Introduction

Recently, I encountered an issue on a DBCS Data Guard standby database where the alert log reported the error ORA-29771. After seeing this error, I checked the Data Guard status and noticed that the standby had developed a significant apply lag, even though redo apply was still running.

In this blog, I’ll explain the symptoms I observed, how I investigated the cause of the ORA-29771 error, and the steps I took to restore normal standby performance.

Monday, November 24, 2025

Fixing a DBCS Startup Failure Caused by ORA-07445

 



Introduction:

Running Oracle databases on Oracle Database Cloud Service (DBCS) usually provides a stable and well-automated environment, but unexpected platform-level issues can still occur—especially when critical OS-level components are modified or removed. Recently, I encountered a serious problem where a DBCS compute node failed to start the database, and the stack repeatedly threw an ORA-07445 error during the startup process.

At first glance, the issue looked like a typical software or patch conflict, but after deeper investigation, it turned out to be something far more fundamental: the swap mount point and related configuration had been cleared or removed on the compute instance. Without an active swap device, several Oracle background processes failed during initialization, resulting in the ORA-07445 crash.

In this blog, I’ll walk you through the symptoms, diagnostic steps, and the exact solution that restored the instance.

Thursday, October 2, 2025

Exploring Bigfile Tablespaces with Default Settings in oracle 23ai


BIGFILE Tablespace

A bigfile tablespace is a tablespace with a single, but large datafile. Traditional small file tablespaces, in contrast, typically contain multiple datafiles, but the files cannot be as large. Making SYSUAX, SYSTEM and USER tablespaces bigfile by default will benefit large databases by reducing the number of datafiles, thereby simplifying datafile, tablespace and overall global database management for users.

Thursday, September 18, 2025

How to Roll Forward a Standby Database Using RMAN Incremental Backup After Adding a Datafile to Primary


Rolling forward a standby database involves applying incremental backups to synchronize changes made to the primary database. This process becomes more complicated when a new datafile is added to the primary database. In this article, I will outline the essential steps and considerations involved in rolling forward a standby database using RMAN incremental backups after the addition of a datafile on the primary side.

Friday, August 22, 2025

Enhancing Query Performance: Leveraging In-Memory Optimized Dates in Oracle 23ai

In-Memory Column Store

Unlike traditional row-based storage, The In-Memory Column Store (IM column store) stores tables and partitions in memory using a columnar format optimized for rapid scans. This columnar format is optimized for analytical workloads, allowing for efficient scanning of specific columns without needing to read entire rows. 

In-Memory Optimized Dates

To enhance the performance of DATE-based queries DATE components (i.e. DAY, MONTH, YEAR) can be extracted and populated in the IM column store leveraging the In-Memory Expressions framework. This approach enables faster query processing on DATE columns, significantly improving the performance of date-based analytic queries.

Thursday, August 21, 2025

DBSAT Security Series – Part 2: Identifying Sensitive Data Using DBSAT Discover

Introduction

DBSAT Discover is a standalone, Java-based component of the Database Security Assessment Tool that identifies sensitive data within your database. Unlike the Collector and Reporter, Discover works independently and focuses on scanning tables and columns for patterns that match PII, financial, or other confidential information. Building on the foundation covered in Part 1 of this series, EnhancingQuery Performance: Leveraging In-Memory Optimized Dates in Oracle 23ai, where we explored configuring and using the main DBSAT tool, Discover, helps you take the next step by revealing exactly where sensitive data resides, so you can strengthen your overall security posture.

Fixing ORA-30012: Unable to Convert Physical Standby to Snapshot Standby

  Introduction  I recently encountered the frustrating " ORA-30012: undo tablespace 'UNDOTBS1' does not exist or is of wrong t...