Skip to main content

Posts

Showing posts from July, 2024

How to fix RMAN-08118 / ORA-27056 Error in Oracle

🚨 Fixing RMAN-08118 / ORA-27056 Error in Oracle 🔧 Ever encountered this frustrating message during your RMAN backup or log deletion process? RMAN-08118: warning: could not delete the following archived redo log ORA-27056: could not delete file This error usually appears when RMAN is unable to delete archive logs after backup, often due to permission or OS-level issues. Let's dive into the root cause and how to fix it — step-by-step! 🛠️ 🔍 Root Cause RMAN-08118 ➜ RMAN tried but failed to delete the archived redo log. ORA-27056 ➜ OS error — usually due to file permission issues, file locks, missing files, or read-only filesystems. ✅ Step-by-Step Fix 1️⃣ Check File Permissions Make sure the Oracle user has proper permission to delete the archived redo logs: ls -l /path/to/archivelogs/ If the owner isn't oracle , fix it: chown oracle:oinstall /path/to/archivelogs/* chmod 660 /path/to/archivelogs/* 💡 Tip: Always check the directory permis...

Oracle GoldenGate Credential Store

  🔐 Oracle GoldenGate Credential Store - Complete Guide 🔐 🤔 What is the Oracle GoldenGate Credential Store? The Oracle GoldenGate Credential Store is a security feature that securely stores database login credentials (usernames and passwords) in an encrypted wallet file . This eliminates the security risk of hard-coding sensitive passwords in parameter files or commands. The credential store is managed through the GoldenGate Software Command Interface ( ggsci ), making it easy to integrate into your data replication workflow. ✨ Benefits of Using the Credential Store 🛡️ Enhanced Security : Credentials are stored in an encrypted format 🧰 Simplified Management : No need to update multiple parameter files when passwords change ⚠️ Reduced Risk : Eliminates plaintext passwords in configuration files ⚡ Operational Efficiency : Use aliases instead of managing credentials directly 📝 Step 1: Creating the Credential Store From the GGSCI command prompt, create your credentia...

How to fix ORA-09925: Unable to create audit trail file

  The Dreaded "No Space Left on Device" Error If you're an Oracle DBA or developer, you've likely encountered this heart-stopping error at some point in your career: ERROR: ORA-09925: Unable to create audit trail file SVR4 Error: 28: No space left on device Additional information: 9925 ORA-01075: you are currently logged on This error message can appear during critical database operations, potentially disrupting business operations and causing unnecessary downtime. In today's blog post, we'll dive deep into what causes this error and provide step-by-step solutions to resolve it. Understanding the Error The error message is quite descriptive: Oracle is unable to create an audit trail file because there's no space left on the device. Oracle Database maintains audit trails to record database activities for security and compliance purposes. When the disk hosting these audit files runs out of space, Oracle can't write new audit records, triggering thi...

Shared Storage Planning for Oracle Grid Infrastructure and RAC: What You Need to Know

  Shared Storage Planning for Oracle Grid Infrastructure and RAC: What You Need to Know In the world of Oracle database management, choosing the right storage option for your Grid Infrastructure and Real Application Clusters (RAC) environment is crucial for performance, reliability, and manageability. Let's dive into the various storage technologies available and understand which ones are best suited for different components of your Oracle environment. Understanding Your Storage Options When planning your Oracle infrastructure, you'll encounter several storage options, each with its own strengths and limitations. The key components that need storage allocation include: Oracle Cluster Registry (OCR) and Voting Disks Grid Home RAC Home RAC Database Files Oracle Recovery Files Storage Technologies at a Glance ASM (Automatic Storage Management) Oracle's ASM has long been the preferred storage management solution for database environments. It provides excellent perf...

Oracle Data Guard Physical Standby Database Setup: Step-by-Step Guide

  Oracle Data Guard Physical Standby Database Setup: Step-by-Step Guide Oracle Data Guard provides a comprehensive set of services that create, maintain, manage, and monitor one or more standby databases to enable production Oracle databases to survive disasters and data corruptions. In this guide, we'll walk through the complete process of setting up a physical standby database using Oracle Data Guard. Environment Details Primary Database : Host: rac121.goraclab.com SID: TEST DB_UNIQUE_NAME: test Standby Database : Host: rac122.goraclab.com SID: TESTSTBY DB_UNIQUE_NAME: teststby 1. Primary Database Configuration 1.1. Verify Primary Database Status SQL> select name, open_mode, database_role from gv$database; NAME OPEN_MODE DATABASE_ROLE --------- -------------------- ---------------- TEST READ WRITE PRIMARY 1.2. Enable Force Logging Force logging ensures all changes made to the database are logged, which is critical for Data G...

🔐 How to Retain the Same Password for an Expired Oracle Schema (12c & 19c)

🔐 How to Retain the Same Password for an Expired Oracle Schema (12c & 19c) Sometimes, you might encounter an expired user account in Oracle and want to restore it without asking the end user for their password. This is a common scenario when automating user restores, clones, or refreshes across environments. Here’s a step-by-step guide for both Oracle 12c and Oracle 19c to extend the password of an expired user account without changing it or involving the user. 🔧 Oracle 12c – Steps to Restore Expired User Without Reset 1️⃣ Check the Account Status SELECT username, account_status FROM dba_users WHERE username = 'TEST'; 2️⃣ Retrieve the Password Hash from SYS.USER$ SELECT name, password FROM sys.user$ WHERE name = 'TEST'; 3️⃣ Reapply the Same Password Hash ALTER USER TEST IDENTIFIED BY VALUES '5C3EFBA4ED100B47'; 4️⃣ Recheck the Account Status SELECT username, account_status FROM dba_users WHERE username = 'TEST'; ...