Skip to main content

Posts

Showing posts from March, 2024

GC 2-Way and 3-Way Buffer Cache in Oracle RAC

GC 2-Way and 3-Way Buffer Cache in Oracle RAC Oracle RAC uses a shared cache architecture where each instance has its own buffer cache. To maintain consistency, Oracle uses the Global Cache Service (GCS) to coordinate access across nodes using mechanisms known as GC 2-Way and GC 3-Way buffer transfers. 🔁 What is Global Cache in RAC? Global Cache ensures block consistency across instances in a RAC cluster. Instead of fetching from disk, Oracle RAC uses Cache Fusion to transfer blocks over the interconnect between nodes, reducing I/O and improving performance. ⚡ GC 2-Way Buffer Transfer A GC 2-Way transfer happens when the block is shipped directly from the current holder to the requesting instance in just two messages. 🔁 Request: Instance A → Instance B 📦 Response: Instance B → Instance A This is fast and efficient because it avoids additional overhead. 📘 Example Instance A runs a DML and needs a block held by Instance B in exclusive mode. B sends it directly...

Forecasting Archive Log Growth in Oracle Database

📈 Forecasting Archive Log Growth in Oracle Database In Oracle databases running in ARCHIVELOG mode , archived redo logs are crucial for recovery, replication (like Data Guard), and auditing. Understanding and forecasting their growth is essential to avoid storage issues, ensure high availability, and plan proactively for backup strategies or disaster recovery setups. 🔍 Why Forecast Archive Log Usage? Proper monitoring and forecasting of archive log generation helps in: 📦 Storage Planning: Predict disk space requirements and avoid unexpected full mount points. 📊 Performance Tuning: Ensure the archiving process doesn’t become a bottleneck. 🌐 Data Guard: Estimate redo shipping volume for standby databases. 🛡️ Backup Strategy: Align RMAN archive log backups with actual usage patterns. 📅 Daily Archive Log Generation Report The following SQL query gives a breakdown of archive log generation on a per-day basis over the last 30 days: SELECT TO_CHAR(FIRS...