Killian Lynch
Product Manager at Oracle Database. I write here about Oracle features I find useful, and the occasional personal note.
›writing
all 27 posts →How to Put an API Gateway in Front of Fusabase
Sep 17, 2026A step-by-step walkthrough for putting an OCI API Gateway in front of an existing Fusabase environment, so your app gets a public HTTPS endpoint while ORDS stays private behind it.
Read-Only Partitions and Subpartitions in the Oracle Database
Jun 26, 2025Today's throwback feature of the week is Read-Only Partitions and Subpartitions. Read-only partitions let you block the inserts, updates, or deletes. Any attempts to change the data will fail with an error. Why Use Read-Only partitions?Read-only partitions are great when you're working with historical / archival data, compliance records, or data intended for reporting and audits. They benefit from consistency, accuracy and database backups. Because read-only partitions don't create redo, RMAN bl
Real Time Materialized Views
May 29, 2025Today's throwback feature of the week is the Real-Time Materialized View.What are Materialized Views and how are they different from Real-Time Materialized Views? A Materialized View stores the pre-calculated results of a given query. This can have huge performance benefits and drastically improve query response time because the database can use the pre-calculated results directly. When using Materialized Views, if the data in the table changes, the pre-calculated query results can become outdat
Global Temporary Tables in the Oracle Database
May 8, 2025Today's throwback feature of the week is the Global Temporary Table (GTT). Global Temporary Tables are permanent database objects stored on disk but the content is visible only to the session that inserts the data. The content of the GTTs can exist for a single transaction, or across the lifetime of a session.Using Global Temporary TablesI'll start with an example. You've got an e-commerce site that has periodic 'flash sales' and you want to create reports of user behavior during the sales, but
Virtual Columns in the Oracle Database
Apr 24, 2025This week's throwback feature of the week is the virtual column. Virtual Columns let you create columns that aren't stored physically but are calculated on the fly when selected.Virtual Columns have been available in the Oracle Database since 11g, released around 2007.Virtual Columns in ActionSince the NHL playoffs recently started, let's imagine we want to build a small app where we track shots and goals per player, and we want to calculate the shooting percentage without storing it. We'll use
PIVOT and UNPIVOT in the Oracle Database
Apr 17, 2025This week's throwback feature of the week is a simple and relatively well known SQL Operator. It's the ability to pivot and unpivot SQL columns inside a table. Pivoting and Unpivoting inside a table is an easy way to change how your data is presented.This feature was released in Oracle Database 11gWhat are PIVOT and UNPIVOT?Simply put, PIVOT rotates rows into columns, while UNPIVOT does the opposite, it turns columns back into rows. This can be really useful for reporting and analytical models
Identity Columns in the Oracle Database
Apr 10, 2025This week's throwback feature of the week is the Identity Column. Identity Columns give you an easy way to create unique numeric identifiers on a column in your table. They are an alternative to manually doing this with sequences and triggers.This feature was released back in Oracle Database 12c (Release 1).This blog walks through a basic example of how to use the Identity Column in the Oracle Database.What Are Identity Columns And Why Use Them?Identity Columns are automated numeric fields that
PL/SQL Function Results Cache - A Smart Memory for Your Database
Apr 3, 2025This week's throwback feature of the week is the PL/SQL Function Results Cache. This feature lets you easily cache commonly calculated function results. Using the PL/SQL Function Results Cache can lead to a huge boost in response time / performance of PL/SQL functions. The results of the functions can be reused by any other sessions calling the same function. This blog walks through a practical example of how to use the feature.Why would you want a results cache?The PL/SQL Function Result Cache