My Blog

Documenting database internals, backend engineering, and technical problems I solve day-to-day. What took me hours to figure out should take you minutes.

Google OAuth in Next.js — And the Build-Time Env Var Trap That Causes 401

How to implement Google Sign-In in a Next.js app — covering frontend setup, backend token verification, Prisma schema changes, and the build-time env var pitfalls that cause Error 401: invalid_client.

2026-06-10

GitHub Branch Protection on Private Repos — Without Paying for Team Plan

GitHub Rulesets on private repos require the Team plan. Here is a GitHub Actions workaround that blocks direct pushes to main and prevents deploys from running — completely free.

2026-06-03

EC2 Not Authorized to Call Bedrock or Textract — How to Fix IAM Permissions

How to fix the 'is not authorized to perform: bedrock:InvokeModel' error when running AI workloads on EC2 — adding the right IAM policies for Bedrock and Textract in under two minutes.

2026-06-03

Setting Up a Production-Mirror Dev Environment on AWS

How I built a fully isolated dev environment for RiseYou — separate EC2, RDS PostgreSQL 17, S3, ECR, and Amplify frontend — with GitHub Actions CI/CD that deploys on every push to the dev branch.

2026-06-02

Oracle RAC Cold Backup Using RMAN — Step by Step

A complete walkthrough of taking a cold backup on an Oracle RAC cluster using RMAN — covering shutdown, mount, compressed backup, controlfile, SPFILE, and pfile creation.

2025-05-20

Oracle DBA Scripts Collection — Standby, Archive Sync, Space & Performance

A practical reference of Oracle DBA shell scripts and SQL queries covering standby database build automation, archive log sync check, space monitoring, RMAN progress, and everyday DBA tasks.

2025-05-25

Oracle Data Guard DR Configuration — Primary, Local HA, COLO2 & Far Sync

Complete step-by-step guide to setting up Oracle Data Guard with Far Sync and COLO2 DR for a 6-node RAC cluster — covering Primary config, Local HA standby, COLO2 standby, Far Sync instance, and DG Broker setup.

2025-05-29

Running Multiple WebSocket Servers on the Same Node.js HTTP Server

When you add a second WebSocket server to the same HTTP server in Node.js, connections silently fail. Here's the exact problem and the fix using noServer: true with manual HTTP upgrade handling.

2025-06-01

Rolling Forward a Physical Standby Using RMAN Incremental Backup (DocID 836986.1)

How to roll forward a physical standby database that has fallen too far behind primary using an RMAN incremental backup — avoiding a full rebuild when archive logs are no longer available.

2025-05-29

Rolling Forward Standby When Datafile Added to Primary (DocID 1531031.1)

Step-by-step procedure to recover a physical standby when a new tablespace or datafile is added to primary and the standby cannot receive it — using RMAN incremental backup to restore the missing file.

2025-05-29

Reduce Transportable Tablespace Downtime Using Cross-Platform Incremental Backup (DocID 2471245.1)

The V4 method for moving tablespaces across platforms (e.g., Solaris to Linux) with minimal downtime — using RMAN cross-platform incremental backups to keep the transport set current before the final cutover window.

2025-05-29

Oracle Data Pump (expdp/impdp) — Table & Schema Export/Import Guide

Complete guide to Oracle Data Pump for table and schema-level export and import — parameter files, directory setup, parallel export, tablespace verification, and schema remapping.

2025-05-29

Oracle Standby Database Rebuild Using RMAN — Control File Restore & Recovery

Step-by-step procedure to rebuild an Oracle physical standby database using RMAN — restoring the control file from primary, cataloging ASM datafiles, recovering from service, and resizing standby redo logs.

2025-05-29

MySQL / MariaDB Database Migration — Step-by-Step Guide

End-to-end procedure for migrating a MySQL/MariaDB database between environments using mysqldump — covering export, user grants, import, and post-migration verification.

2025-05-29

Step by step to create oracle database 19c using dbca – silent mode

create non-container database on oracle 19c in silent mode using dbca Contents:- 1.Overview2.set the environment3.Create database using silent mode using dbca4.verify 1.Overview Creating 19c database using silent mode DB Version : 19.3.0.0 OS Version : OEL 8.8 2.Set the environment Create a bash profile Verify environments: 3.Create database using silent mode 4.Verification: Listener and Continue reading Step by step to create oracle database 19c using dbca silent mode

Oct 20, 2023

Step by Step Install Oracle 19c Release 3 on Linux 8.8

Pre-requisites already been taken care like memory, swap, kernel parameters, add groups, profile and users Table of Contents 1.Hardware Requirements 2.Download DB Software https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html 3.Transfer to linux and unzip [oracle@localhost dbhome_1]$ pwd /u01/app/oracle/product/19.0.0/dbhome_1 [oracle@localhost dbhome_1]$ ls -ltr -rwxrwxr-x. 1 oracle oinstall 3059705302 Oct 18 20:25 LINUX.X64_193000_db_home.zip [oracle@localhost dbhome_1]$ unzip LINUX.X64_193000_db_home.zip 4.Invoke ./runInstaller 6.Verify

Oct 19, 2023

naresh@gowda:~$ built with Next.js + Tailwind + Framer Motion