POUG 2026

Here is the wrap-up of POUG2026 (Pint With Oracle User Group).

It was full of very technical stuff , no marketing things, a nice after-party for connecting with other database experts from around the world, and also some very good general advices from the tech experts.

Here are my quick notes:

Urh Srecnik showed us how he made it possible to access ASM files directly without asmcmd, as an NFS mount from another server, with his open-source project. This idea can be used for many purposes, mostly for sharing archivelogs with another server. Give a look to his project(asmfs) and the Abakus Team’s products.

My friend Piotr Sojda showed us how 10046 tracing can be used to effectively diagnose enq: TX – row lock contention instead of simply saying it is an application problem. Also, sharing my blog posts as a reference for how to force a direct path read was nice of him for me.

Rafal Grzegorczyk showed how Oracle SQLcl can be used effectively for different purposes, such as creating DDL/DML scripts and also as another option for expdp and impdp.

Rodrigo Jorge showed how to use AutoUpgrade efficiently. Also, when I asked him, he shared that Grid Release Updates and Patching with AutoUpgrade are on their to-do list and will be provided someday (maybe in a year), and DBUA upgrades will be deprecated with 26ai.

Alex Nuijten and Roel Hartman showed how SQL Assertions can be used effectively for implementing business rules instead of using triggers and constraints. What is the main idea? You simply imply a general rule across multiple tables. It has some limitations, like ANSI SQL cannot be used, which should be checked before implementing it.

Piet de Visser shared some lessons learned when a company tried to change their current infrastructure, running on-prem, to SaaS on the cloud, what they expected, and what they encountered at each step. Going SaaS can sometimes be more painful than expected.

Roger Macnicol, the man behind Exadata Smart Scan / Exadata Offload, table scans, Hybrid Columnar Compression (HCC), gave his last Oracle talk before retirement, covering nearly 20 years of Exadata offload work. Database In-Memory Compression requires more investigation on my side.

Kerry Osborne from Google Cloud’s “Database Black Belt” team shared ideas on how to become an expert:
Engage with others.
Be skeptical.
Step out of your comfort zone.
Filter the noise and focus on your job.
Today’s preferred approach should be, instead of having narrow and deep knowledge, to have a balance of depth and breadth of knowledge.

Ilmar Kerm and Priit Piipuu showed PostgreSQL from an Oracle DBA perspective. In their presentation, they mentioned and advised using pgDOG , which I was not aware of, instead of HAProxy and PgBouncer as a modern connection pooler/proxy/load balancer solution. For database encryption (TDE), instead of commercial offerings, OS-level Linux encryption (LUKS/cryptsetup) can be used as an alternative solution. I also asked for their thoughts about the feeling that PostgreSQL databases are mostly used for single-purpose databases — for a single application, like the microservices approach, instead of a big monolithic database serving 100 different applications. They also shared that they feel the same way, and PostgreSQL is most of the time used in that way. They believe this is the new trend.

Nigel Bayliss, the Optimizer Product Manager, shared his insights about the Oracle Optimizer. It was an astonishing presentation. We most of the time blame the Optimizer and never congratulate it for the improvements 🙂 With this presentation I saw the picture from the Optimizer side. The Optimizer assumes that the schema is well designed, SQL is well designed and written, and statistics are set up correctly and are up to date , but this is not always the case. That is the main idea. Mauro Pagano’s Pathfinder is worth investigating to make the Optimizer produce different plans, which can be available with different parameters and fix_control settings as a workaround for potentially wrong resulting queries. DBMS_SQLDIAG.REPORT_SQL, which is available from RU 19.28+, can be used for tuning purposes. This is the way to go.
Real-Time SPM should be discovered much more by me.
I should also look at whether the GENERATED ALWAYS AS (UPPER(surname)) VIRTUAL column + index approach has an advantage over a traditional Function-Based Index such as ON person(UPPER(surname)), or not. Different approaches for the same purpose.

I also asked him whether they will provide a way to force a direct path read at the SQL statement level. Currently, it is available at the session level (not sql level) with the _serial_direct_read parameter, but will there be a plan to support it on sql level? Currently, we use the parallel hint or manipulate table statistics with a hint to force a direct path read.When he provides an answer, I will share the reply.

A symposium about Vibe Coding : fuck it or love it??

Vibe coding and AI were mixed all the time throughout the symposium, so I can mix them too. 😄
For me, it ended up with the idea that vibe coding can be used for starters or for people who want to reduce time to market. But when things get bigger and more serious, as Mike Dietrich demonstrated with the example of a database being deleted by AI, professionals like us will still be needed. For that reason, we can say that AI will not take our jobs, for now. 

Christoph Lutz’s presentation was some sort of magic, where LGWR behavior was explained internally: log parallelism, Adaptive Log File Sync behavior, etc. I will watch it again later with sampling on my test environment. Low-level log writer tracing is possible after rewatching it.

Ludovico Caldara, Product Manager of Data Guard, shared their plans for the near future.

What I liked most is that the LLA process (Live Log Archive) will be available in the future to prevent the I/O peaks observed at log file switches. This will make it possible for log buffer contents to be written to archive logs directly as they are written to online redo logs.
Also, a nightly batch session’s redo generation rate will be dynamically controlled, and the session which produces redo above the average will be limited to settle down and open room for other OLTP sessions, preventing transport lag for the standby. That looks good.
I asked whether the limitation on Exadata environments related to using Multi-Instance Redo Apply on Data Guard, which currently requires setting _cache_fusion_pipelined_updates_enable=FALSE and disables the Smart Fusion Block Transfer feature of Exadata, is still required or not. It looks like it is solved for Exadata environments with XRMEM on storage cells (>= X8M) and DBRU >19.13.

Gathering system statistics in Exadata mode, which was previously advised, looks like it is no longer valid advice for OLTP Exadata environments, as Neil Chandler said.
However, if it was done previously, it can be set back to defaults by running sysstatd.sql. But this may trigger a plan change for every SQL because the values of constants like IOTFRSPEED, SREADTIM, MREADTIM, etc., which are used in Optimizer cost calculations, will be changed. This requires thorough testing.

And finally, Jonathan Lewis provided some important points, focusing on patterns. Searching precisely is very important, and a framework matrix based on Donald Rumsfeld’s 2002 explanation of knowns and unknowns can also be used for troubleshooting.

According to me, logs and metrics tend to reduce known unknowns, while incidents and postmortems are especially valuable for discovering unknown unknowns, which is the hardest situation.

 DO WE KNOW IT?

              Yes              No 
          ┌──────────────┬──────────────┐
    Yes   │   Known      │   Known      │
          │   Knowns     │   Unknowns   │
          │              │              │
          ├──────────────┼──────────────┤
    No    │   Unknown    │   Unknown    │
          │   Knowns     │   Unknowns   │
          │              │              │
          └──────────────┴──────────────┘

Of course, there were many, many other sessions with lots of technical stuff. Since sessions were happening concurrently in different rooms, and I cannot be in different places at the same time, I missed some very important sessions, which I will watch from the recordings later. I hope Luiza share the links ASAP.

Here is the summary of POUG from my side.

A friendly piece of advice: This year, you may have missed joining POUG, do not miss it next year!

Huge thanks to #POUG, Kamil Stawiarski, Luiza Nowak, and all the amazing people behind the scenes who made this conference such a great experience!


Discover More from Osman DİNÇ


Comments

Leave your comment