WIT and Language

I’ve been thinking about this post for a while, but it took me some time to write it because this is not the kind of thing I usually write about. I really support WIT. During my years in tech I’ve worked with many men and women, and I can’t say that one gender is “better” … Continue reading "WIT and Language"

Strange Index Behavior

During a performance problem I had with a query I wanted to create an index on the table. Since this was a large table I wanted the index to include all the needed columns so I won’t need to access the table at all. The query also used GROUP BY and MAX, so I thought … Continue reading "Strange Index Behavior"

UTOUG Training Days

You probably know by now that I moved to Vancouver about 3.5 years ago. You also know by now that I like conferences (especially speaking, but also meet people and see places). This year I got accepted to speak at UTOUG in Salt Lake City. I met Michelle Hardwick (Kolbe) in Denver last year, when … Continue reading "UTOUG Training Days"

Did You Know #29 – Who is Executing Jobs?

When you create a job using DBMS_SCHEDULER.CREATE_JOB you can specify a schema for the job (job_name => ‘my_schema.my_job’). What does it mean? There are 2 relevant columns in DBA_SCHEDULER_JOBS: OWNER JOB_CREATOR When we create a job under a different schema, for example we are connected as USER_A and create the job USER_B.MY_JOB, then the OWNER … Continue reading "Did You Know #29 – Who is Executing Jobs?"

Thoughts about Oracle Version Change

It’s been about a year since Oracle decided to change their database version schema, from version with a couple of releases (e.g. 12.1 is 12cR1 and 12.2 is 12cR2) to a single annual version (e.g. 18c and 19c). Now, when 18c is stable and 19c is here on the cloud and Exadata and almost here … Continue reading "Thoughts about Oracle Version Change"

More 19c New Features

I’ve just noticed that Oracle 19c documentation is online here, so I’m writing this post after going over the “New Features” guide and finding some interesting stuff there. DISTINCT option for LISTAGG aggregate Listagg was introduced in 11.2, but now (finally) Oracle added the distinct option as well. You can read more about it in … Continue reading "More 19c New Features"

Why I Don’t Like ANSI Joins

Since Oracle started supporting ANSI joins in 9i, the Oracle community was divided into two groups: one loved it and tried to convince everyone to use it, and the other hated it and has never switched. As you probably understand from the title, I’m in the second group, and this is why. When using a … Continue reading "Why I Don’t Like ANSI Joins"

Top-N Queries

This is an old story. It started in 2015 when I found a problem with TOP-N query performance. I wrote a blog post about it and later an update. Here I want to show the full testcase and some updates after a twitter discussion. Background I don’t want to spend too much time writing the … Continue reading "Top-N Queries"

Bash script to monitor log files

This is a short post about something I wrote a while ago. I wrote a monitoring tool (haven’t we all?) and wanted to add a capability to scan log files (in this case alert log, etc.) so this is the solution I came up with The project is in github, you can find it here. … Continue reading "Bash script to monitor log files"

DB Console vs. EM Express

I usually don’t work with the local version of EM. I haven’t used DB Console in 11g and below so much, and I used EM Express in 12c even less. But when a colleague contacted me not too long ago and said that Oracle stripped down a lot of functionality in EM Express, I had … Continue reading "DB Console vs. EM Express"