Christoph Lutz
@christophlutz.bsky.social
📤 140
📥 83
📝 208
Those who don't jump will never fly.
https://www.0xChris.dev
Ever wondered how exactly Oracle scans child cursors? Going down the rabbit hole 👇
t.ly/5fYsi
loading . . .
Child Cursor Scan Mechanics - An Investigation
Child Cursor Scan Mechanics - An Investigation
https://t.ly/5fYsi
12 days ago
1
3
1
A short note on how to identify restricted and undocumented oradebug commands.
t.ly/QyOFx
loading . . .
Restricted and Undocumented oradebug Commands
Restricted and Undocumented oradebug Commands
https://t.ly/QyOFx
18 days ago
0
3
0
The greatest DBA tool of all time is gdb - change my mind.
20 days ago
1
0
0
t.ly/8A1p9
loading . . .
Default Calculation of TARGET_PDBS
According to My Oracle Support note PALRT1151 (see also source 1) and various sources on the internet, Oracle uses the following formula to derive the default value of the target_pdbs parameter: targe...
https://t.ly/8A1p9
about 1 month ago
0
1
0
A little script and some background information on how to extract v$ definitions directly from the oracle binary.
t.ly/NT6L7
loading . . .
Extracting Fixed View Definitions From The Oracle Binary
Extracing Fixed View Definitions From The Oracle Binary
https://t.ly/NT6L7
about 1 month ago
0
0
0
reposted by
Christoph Lutz
about 1 month ago
Avelio is live! 🚀 We are your Swiss partner for Oracle on‑premises database operations. Our mission: Optimised. Automated. Always Available. From proactive monitoring to 24/7 SLA‑backed support. Your business deserves reliability. Find out more:
avelio.ch
#Oracle
#DatabaseManagement
0
9
4
A closer look at how Oracle 26ai determines and caps the maximum granule size
t.ly/MEKOU
loading . . .
SGA Changes in Oracle 26ai - Maximum Granule Size
SGA Changes in Oracle 26ai - Maximum Granule Size
https://t.ly/MEKOU
about 1 month ago
0
3
0
t.ly/FFWYd
loading . . .
SGA Changes in Oracle 26ai - Subpools and Durations
SGA changes in Oracle 26ai - subpools and durations
https://t.ly/FFWYd
about 2 months ago
0
8
5
1/2 Interesting and undocumented changes in SGA management in Oracle 26ai: - Up to 31 subpools in the shared pool (max seven in 19c defined by _kghdsidx_count) - Subpools are split into thee durations (there were only two in 19c)
2 months ago
1
6
2
t.ly/iOYIx
loading . . .
Bypassing oradebug Restrictions
Bypassing oradebug restrictions
https://t.ly/iOYIx
2 months ago
0
2
0
Pipelined or parallel? In Adaptive Scalable mode LGWR can assign redo writes to worker processes in different ways. More details in the post below 👇
t.ly/HJi5d
loading . . .
Adaptive Scalable LGWR Pipelined vs Parallel Redo Writes
An earlier post explained the decision-making heuristics when LGWR transitions from single to scalable mode. Here, we examine how it handles redo writes in scalable mode with multiple LG worker proces...
https://t.ly/HJi5d
3 months ago
0
1
1
blog.tohojo.dk/2026/02/the-...
loading . . .
The inner workings of TCP zero-copy
https://blog.tohojo.dk/2026/02/the-inner-workings-of-tcp-zero-copy.html
4 months ago
0
0
0
When does lgwr transition from single to scalable mode?
t.ly/Ohe7a
loading . . .
Adaptive Scalable LGWR Mode Switch Threshold Single->Scalable
Oracle fundamentally reworked and redesigned the LGWR architecture in 12c. In earlier versions, LGWR ran as a single process, whereas Oracle 12c and later can dynamically switch between a single LGWR ...
https://t.ly/Ohe7a
4 months ago
0
2
3
Everybody should get rid of tnsnames.ora and use Easy Connect instead. Change my mind.
4 months ago
0
3
0
Just discovered this new blog series by
@ludovico.bsky.social
explaining Data Guard enhancements in 26ai - must read👇
www.ludovicocaldara.net/dba/dg-26ai-...
loading . . .
Mini-blog series: Oracle Data Guard 26ai new features
Oracle AI Database 26ai is here for Linux x86_64—packed with new features for Data Guard! Stay tuned for quick blog posts on key changes.
https://www.ludovicocaldara.net/dba/dg-26ai-series/
4 months ago
0
5
1
I felt like taking a closer look at this new datapatch feature and ended up making some interesting discoveries 🙂
t.ly/Tufob
add a skeleton here at some point
5 months ago
1
7
1
rovarma.com/articles/fro...
loading . . .
From profiling to kernel patch: the journey to an eBPF performance fix | Ritesh Oedayrajsingh Varma
A story about how an innocent profiling session led to a change to the Linux kernel that makes eBPF map-in-map updates much faster.
https://rovarma.com/articles/from-profiling-to-kernel-patch-the-journey-to-an-ebpf-performance-fix/
6 months ago
0
0
0
Woot! By a happy twist of fate, a ticket for the 39th Chaos Communication Congress came may way ... 😀 See you in Hamburg!
@ccc.de
Thanks
@krischan.bsky.social
!
6 months ago
1
2
0
justoffbyone.com/posts/math-o...
loading . . .
The Math of Why You Can't Focus at Work
Interruptions, recovery time, and task size: three numbers that determine if you'll get real work done. Interactive visualizations show the math behind bad days.
https://justoffbyone.com/posts/math-of-why-you-cant-focus-at-work/
7 months ago
1
0
0
#POUG2026
dress code 😜
www.galaxus.ch/en/page/woul...
@pougorg.bsky.social
7 months ago
1
8
0
1/11 Everything changes... turns out the age-old rule that lgwr writes out the log buffer when it's 1/3 full no longer applies in recent Oracle versions. Observations below from 19.26 (with RAC on Exadata). 👇
8 months ago
1
2
0
Week end fun: snooping inter-process messaging (ksbasend) in Oracle with bpftrace. 🤓
t.ly/_yDy7
8 months ago
0
2
0
thehackernews.com/2025/10/link...
loading . . .
LinkPro Linux Rootkit Uses eBPF to Hide and Activates via Magic TCP Packets
Synacktiv uncovered LinkPro, a Golang rootkit using eBPF hide/knock modules activated by TCP window 54321.
https://thehackernews.com/2025/10/linkpro-linux-rootkit-uses-ebpf-to-hide.html
8 months ago
0
0
0
This, so much! 👇
add a skeleton here at some point
8 months ago
0
3
0
www.deep-kondah.com/deep-dive-in...
loading . . .
Unraveling eBPF Ring Buffers
The goal of this post is to provide an in-depth discussion of BPF ring buffers, covering their internals, including memory allocation, user-space mapping, locking mechanisms, and efficient data sharin...
https://www.deep-kondah.com/deep-dive-into-ebpf-ring-buffers/
8 months ago
0
1
0
When you plan to geek out over some oracle internals, but end up ftrace’ing bpf the entire week end to chase a funny bug that only occurs on exadata with capacity on demand ...
9 months ago
0
1
0
reposted by
Christoph Lutz
Jonathan Lewis
9 months ago
There's a problem on the oracle-l listserver at present about an insert taking far too much time (and CPU). It's a known issue and there are 47 statistics in v$sysstat (19.11) with names like 'ASSM%' to help diagnose it. How many do you think are described in the database reference manual? None.
0
4
1
Yet another adaptive lgwr optimization: on Exadata X10+, pipelined log writes may defer redo writes until a suitably sized write batch has accumulated in the log buffer. The deferral can involve spinning in a tight loop up to 25 times (maximum hard-coded in kcrfw_defer_write).
9 months ago
1
2
0
Nested loops, baby 😜
9 months ago
0
1
0
9 months ago
0
5
0
reposted by
Christoph Lutz
Swiss Oracle User Group
9 months ago
In den nächsten Tagen veröffentlichen wir nicht nur die Agenda, sondern am Tag nach dem SOUG Day planen wir noch ein Special für Euch! Schaut rein und meldet Euch an unter
soug.ch
.
0
3
3
So glad that all new features are documented so well... NOT 😜 Manually enabling and disabling adaptive lgwr evaluation trace for pipelined / overlapped redo writes:
10 months ago
0
0
0
POUG journey started… not even at the airport and lufthansa’s delay notification leaves no hope of making the connecting flight in MUC 🙈
10 months ago
0
3
0
So 23ai replaces ksesecl0(func, loc, err) with kseseclv(err, func, loc, ...) ... Why is it always just a few days before POUG that this kind of low-level discoveries surface? 🙄
10 months ago
2
3
0
reposted by
Christoph Lutz
Tanel Poder
10 months ago
A new tool in 0x.tools family: xtop - Top for Wall-Clock Time. It uses eBPF/xcapture v3 and gives you "x-ray vision" into Linux system activity. It will be available on next Tuesday 19 Aug at 1pm EDT when I also run a live demo webinar!
tanelpoder.com/posts/xtop-t...
1
19
9
"Slide n of 142".. this is getting out of control... 🙈
add a skeleton here at some point
10 months ago
0
1
0
Today's discovery (19.26): Oracle derives different log parallelism defaults, depending on platform. Max number of public redo strands is: Exadata: CPU_COUNT <= 256: 16 CPU_COUNT> 256: CPU_COUNT/16 Non-Exadata: CPU_COUNT <= 32: 2 CPU_COUNT > 32: CPU_COUNT/16 Max limit: 256
11 months ago
0
0
0
Oh my, looks like the "ms" in "kso_sched_delay_avg_ms" actually means "microseconds" ... 🤷♂️
11 months ago
1
3
0
1/6 The "redo synch time overhead" in Oracle is the difference between a FG's log file sync (LFS) wait end time and LGWR's redo write completion time. LGWR and LG workers track the redo write completion times in the "write info array" in the SGA.
11 months ago
1
0
0
lgwr: You have the control gdb: I have the control
11 months ago
0
0
0
Over the past few weeks, my understanding of undocumented LGWR mechanics has improved quite a bit, and I'm now tempted to write a talk titled "LGWR beyond the docs - what Oracle didn't write to disk" 😉
add a skeleton here at some point
11 months ago
2
6
1
1/4 In Adaptive Scalable mode, lgwr can dynamically assign multiple lg workers to process a redo write in parallel when these conditions are met: - redo write size > KSFD_MAXIO (usually 1 MB) - _max_log_write_parallelism > 1 - active public redo strands > 1
11 months ago
1
0
0
The trace below shows lg00 submitting a log write at T4 (lwn scn 0x70f14b55773) while lg04's earlier write submitted at T2 (lwn 0x70f14b55768) is still in flight, suggesting Pipelined Log Writes. But the trace is from an X8, not X10, where the feature is documented ...🤔 (I/Os throttled for testing)
11 months ago
0
2
0
1/7 On Exadata with pmemlog, the Fast Log File Sync dynamically tunes the log file sync sleep duration to balance responsiveness vs cpu ovherhead (spinning after wakeup). Oracle tracks three wait variants via different session stat counters: 1. Sleep 2. Spin 3. Backoff Sleeps
11 months ago
1
1
0
If you've ever felt the need to manually control adaptive lgwr features, this gdb script's got you covered:
t.ly/lJIW1
😎 It lets you enable and disable adaptive scalable lgwr, fast log file sync, and log parallelism. Highly experimental, of course! Example 👇
11 months ago
0
3
0
Geeky Sunday mission accomplished… 💥✌️😎 The Fast Sync sleep duration used during log file sync waits is an adaptive moving average calculated every 3 sec by ckpt. For the curious, more details in this python script:
tinyurl.com/mrycy7zh
More explanations will follow some other time.
add a skeleton here at some point
11 months ago
0
1
0
Week end plan: figure out how Fast Sync calculates the adaptive sleep duration used during log file sync waits. Answer is in the numbers below ... 🤔
11 months ago
0
0
1
Life before dynamic tracing: sleep. Life after: desperately trying not to lose your mind while chasing one more elusive oracle code path … 🐇🕳️
12 months ago
0
2
0
Haven't used good old perf for a while and forgot how cool it actually is. Wondering what process and code paths on your system modify a memory address? perf's got you covered: perf record -a -g -e mem:<addr>:w
12 months ago
1
1
0
Tired: Trust the abstraction Wired: Trace the abstraction
12 months ago
0
0
0
Load more
feeds!
log in