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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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