Sean D. Stuber

Sean D. Stuber

@sdstuber.bsky.social

Oracle Developer/DBA SQL, PL/SQL, and APEX Oracle ACE I blog at https://seanstuber.com

139 followers119 following37 posts

Looking at Proxy Users #JoelKallmanDay I had a few questions come up lately that involved proxy users and some of the answers were surprising. To illustrate the scenarios I'll create a couple of users, one with a password, one without, and a user that will proxy into each of them. I'll also grant…

seanstuber.comLooking at Proxy Users #JoelKallmanDayI had a few questions come up lately that involved proxy users and some of the answers were surprising. To illustrate the scenarios I'll create a couple of users, one with a password, one without, and a user that will proxy into each of them. I'll also grant the users privileges to look at some of the data dictionary to see how their activity is tracked.

Advent of Code 2025- Day 11 Reactor Part 1 is a simple recursion with limited paths, so I used CONNECT BY where the device (source) of each row is contained within the output (target) of the prior row. So, in the sample data, the line "bbb: ddd eee" has source "bbb" and targets "ddd eee". But we…

seanstuber.comAdvent of Code 2025- Day 11Reactor Part 1 is a simple recursion with limited paths, so I used CONNECT BY where the device (source) of each row is contained within the output (target) of the prior row. So, in the sample data, the line "bbb: ddd eee" has source "bbb" and targets "ddd eee". But we can see "bbb" is in the targets of the initial line "you: bbb ccc" thus connecting those rows.

Advent of Code 2025 – Day 3 I was kind of disappointed in day 3 because it's the same puzzle twice. So one solution solves both parts 1 and 2, just changing the length from 2 to 12. I start by looping from the first digit (most significant) down to the least significant digit. So, for a 2-digit…

seanstuber.comAdvent of Code 2025 – Day 3I was kind of disappointed in day 3 because it's the same puzzle twice. So one solution solves both parts 1 and 2, just changing the length from 2 to 12. I start by looping from the first digit (most significant) down to the least significant digit. So, for a 2-digit joltage, I find the "tens" first (i.e. 101), then the "ones" (100).

Advent of Code 2025 – Day 2 Day 2 was both easy and hard. Easy because it was easy to understand and hard because I knew there was a trick that would make an efficient solution for part 2 but I couldn't remember it. For part 1, I just divide the line of ranges into rows and then use regexp to pull…

seanstuber.comAdvent of Code 2025 – Day 2Day 2 was both easy and hard. Easy because it was easy to understand and hard because I knew there was a trick that would make an efficient solution for part 2 but I couldn't remember it. For part 1, I just divide the line of ranges into rows and then use regexp to pull the low and high value for each range.

Interesting bug with nondeterministic functions I was working on a little simulation using random numbers and found I was getting odd results from my query. After spending a while dissecting it trying to find my error I found the problem was in the database itself. I was able to replicate the…

seanstuber.comInteresting bug with nondeterministic functionsI was working on a little simulation using random numbers and found I was getting odd results from my query. After spending a while dissecting it trying to find my error I found the problem was in the database itself. I was able to replicate the problem on Live SQL using a simple test case with both 19c and 23ai…

New Certification and FeedSpot Recognition I successfully completed my Oracle AI Vector Search certification. I was also elated to hear FeedSpot has, again, selected my blog as one of the Top 100 Oracle Blogs on the web.

seanstuber.comNew Certification and FeedSpot RecognitionI successfully completed my Oracle AI Vector Search certification. I was also elated to hear FeedSpot has, again, selected my blog as one of the Top 100 Oracle Blogs on the web.

You are up to date.