Oracle on Linux: the kernel parameters nobody configures
Oracle 19c on Linux: kernel tuning for real performance. Huge Pages, THP, swappiness, I/O scheduler, ulimit β before and after numbers.

Oracle 19c+ articles: DBA administration, performance tuning, Data Guard, partitioning, AWR/ASH, security and migration to Oracle Cloud (OCI).
I have seen a DBA shut down a production system with a DROP TABLESPACE run on the wrong window. I have seen four-second queries turn into four-hour queries after an upgrade, because someone had touched optimizer_features_enable “it was the same anyway”. I have seen backups that would not restore, audits disabled “temporarily” for five years, and indexes created by hand on a Friday afternoon in production.
And I have seen the exact opposite: Oracle instances that have been running for twenty years without a minute of unplanned downtime, handling huge workloads and surviving three major upgrades without a scratch.
The difference has never been the version. It has always been who was running it.
I have been working with Oracle since 1996. In nearly thirty years I have seen Oracle 7, 8i, 9i, 10g, 11g, 12c, 19c, 21c, 23ai come and go β along with paradigms, trends, consultants selling the feature of the month as the answer to every problem.
The heart of the engine, though, has stayed the same: solid, complex, unforgiving to those who do not know it deeply.
You do not learn Oracle from tutorials. You learn it:
DBMS_STATS.GATHER_SCHEMA_STATS run with default parametersv$ views that tell the truth even when the application is lyingWhen a customer calls me because “the database is slow” or “something is off”, there are five things I look at before touching any parameter. It is not a checklist from a certification course β it is what I have learned to look at after wasting too much time on the wrong places.
| What | Where I look | Why |
|---|---|---|
| The real workload | AWR, ASH, v$active_session_history | Understand who really burns CPU, I/O and db time β often it is not what the customer suspects |
| What whoever came before me changed | v$parameter with ismodified, dba_hist_parameter | “Non-standard” parameters are the first sign of past debugging left without documentation |
| Who does what | dba_audit_trail, unified_audit_trail, scheduled jobs | Find the night jobs, the real application connections, the untracked DBA accesses |
| Data Guard status | v$dataguard_stats, v$archive_dest_status | If there is a standby, check it is actually aligned β do not trust the dashboards |
| Space and growth | dba_tablespaces, dba_hist_tbspc_space_usage | Figure out where you are heading before you hit the wall, not after |
Once I have read these five things, I have 70% of the picture. The other questions come afterwards β and they come focused.
Real stories, concrete numbers and lessons learned on Oracle in production. Architecture, performance, security, migrations, SQL tuning, PL/SQL, storage management and design decisions that separate an installation that works from one that merely survives.
No brochure theory. Just what I have seen work β and what I have seen fail β in real environments: insurance, telco, public administration, banking, pharma.
With Oracle, knowing the syntax is not enough.
You need to understand how the engine thinks β and have the humility to admit that, sometimes, the engine is right.

Oracle 19c on-premises to OCI migration: 2 TB with RAC and Data Guard. BYOL licensing, Data Pump, overnight cutover β real chronicle.

Oracle 19c on Linux: kernel tuning for real performance. Huge Pages, THP, swappiness, I/O scheduler, ulimit β before and after numbers.

Oracle 19c performance tuning with AWR and ASH: finding a hidden full table scan in a stored procedure in 10 minutes, the eve of a go-live.

Oracle security: redesigning the GRANT model with custom roles and Unified Audit, applying least privilege. Real case with copy-paste SQL.

Oracle Partitioning on a 2-billion-row table: range, interval, partition pruning, local indexes. From hours to seconds on reporting queries.

Oracle Data Guard 19c: migration from single instance after a 6-hour outage. DR architecture, primary/standby, automatic switchover.
Start typing to searchβ¦
Select a result to see the preview