21. 01. 2021.

Kafka & TCP Retrans Error rate

Recently I had an interesting case where in the data pipeline I’ve found duplicate messages in the Kafka topics. Duplicate records in Kafka topics might appear for many different reasons, but most of them you can find only those related to the Kafka settings (especially those related to the Kafka settings). In this article you […]

23. 12. 2020.

PRIMARY KEY creation effect on SUPPLEMENTAL LOGGING

Recently I’ve discovered a bug that affects all versions of Oracle RDBMS from 11g up to the 19c. If you are using SUPPLEMENTAL LOGGING feature for any reason (security audit of logs, Data Guard, tables replication…) you might be affected. To follow my example you need to fulfill prerequisites to prepare database for supplemental logging. […]

06. 12. 2020.

Bashtop – future of the terminal Linux monitoring

Although the idea of the original top utility is follewed in many similar utilities for terminal based Linux monitoring, till now I’ve been using Htop, atop (which can monitor GPU on top of CPU/Mem/Net/Disk) and Nmon to do a job (later one, called „Topas on steroids” is ported from AIX to Linux). Quite recently I’ve […]

06. 10. 2020.

Perfect case for NoSQL database

On many sites where I’ve been involved in troubleshooting and performance tuning, I can find usage of wrong technology for a wrong use case. Usually client technology experts are keen with some new features of some technology and want to solve all kind of problems by using it. In practice, new features are added to […]

24. 09. 2020.

How to setup Adobe Flash Support in Browser for Linux

Some vendors still relies on Adobe Flash for rich web contents. One such example is Oracle, where you can find that all tuning reports are generated by using Flash. Even Oracle Enterprise Manager Grid, main Oracle monitoring tool still uses Adobe Flash to generate its content. If you are on Windows, you can use Internet […]

10. 05. 2020.

Customer experience on Oracle Db – One metric to rule them all

Over the years I’ve found that almost every enterprise monitoring software I’ve been working with so far (and there are a few dozen of them), put extensive load on targets under the monitoring. While one monitoring tool brings extensive hard parsing on its targets, another one calculates free space for each tablespace in a very […]

18. 03. 2020.

String aggregation – part II

Last time I’ve suggested two ways of how to perform string concatenation. Unfortunately, both approaches have serious drawbacks that you might experience. In this post I’ll explain one approach which is not Oracle version dependent, which corrects both shortcomings of previously described methods: size of concatenated string speed of data processing Part I you can […]

17. 03. 2020.

String aggregation – part I

Very often you’ll find delimited text to be more suitable format option instead of splitting text in many rows. Typical use cases for having delimited text includes preparation of data for further analysis, reporting, importing data into the spreadsheet etc. To demonstrate the concept, I’ll use my demo table TEST with 10 million rows. And […]

21. 02. 2020.

External C procedures – how to setup and performance boost you can expect

In this post I’ll explain what you need to do to setup external C procedure call with Oracle 18c. I’ll also show for a CPU intensive task, what performance boost you might expect. For those of you who remember how difficult it was to configure LISTENER and TNSNAMES to work with C external procedures, will […]

20. 01. 2020.

Configuring environment for debugging PL/SQL Stored procedures

Main objective of this post is to list some of the typical issues I’ve found when debugging PL/SQL stored procedures, functions and packages. There are many ways of how you can debug server side code, and here is the list of the most common ways I’ve found in practice: dbms_debug_jdwp dbms_debug dbms_output database tables used […]