Author: Mathias

ORDS, Database

When TNS does not work in ORDS

TweetShareSharePin0 SharesThis is probably a short lived blog post. If you are using ORDS 22.4 (the current version as of this writing) you may encounter problems with the TNS-support for setting up connections. I believe they manifest when your TNS-entry has multiple hosts in them as you would if you have a setup with one or more standby databases. In such cases it looks something like this. I believe this is due to the parsing of the file not taking […]

MultiTenant, Database, Performance, Licensing, DBA

Enable Enterprise Manager Express

TweetShareSharePin0 SharesThere are many blogs about the product and so on. I want to recommend that you enable and give your developers access to it. Setting them up and getting them to scale the mountain of complexity that is the normal Enterprise Manager is probably not what you want to do. However, EM Express is a slimed down version focusing pretty much on just what a developer ought to care about, seeing the processes in the database and data about […]

Database, SQL, Performance, DBA

Add hint to SQL you cannot modify

TweetShareSharePin0 SharesThe last post showed how to lock the plan for a SQL that switched plan every now and then. Another common issue one can encounter is that of a SQL that uses a suboptimal plan and for which you’d want it to use a different plan. The way to instruct the optimiser to use a different plan is to use a hint to cause it to change how it accesses the table. But often the SQL is in application […]

Performance, SQL, DBA

Lock the plan for a SQL

TweetShareSharePin0 SharesA SQL that sometimes just uses a plan you prefer it to not use is fairly common. There are always reasons for unstable plans, but more important than knowing the reason is often to make it stick to a certain plan. This has historically been done with a lots of ways from changing the SQL, adding hints, adding incorrect stats to influence the optimizer, using any of the techniques that came before SQL Plan Management (SPM). All of these […]


Set operators – Union, intersect and minus

TweetShareSharePin0 SharesYou’ve probably combined two queries with “union”, but have you looked at the different options for how to combine queries? The set operators are more combining result sets than they are combining queries even if we often think about it is combined queries. Thy need to return the same number of columns of the same datatypes. The lengths of the columns can differ but not the datatypes. Let’s start with a couple of tables and data so you have […]

Database, SQL

Longs in SQL

TweetShareSharePin0 SharesUsing long datatype is a problem we seldom face with new applications. But some old may still have it if they have not managed to convert to somethings easier to work with. But where I most often encounter it is in Oracles tables. The place that by far most often pops up its ugly head is high_value in *_tab_partitions. Just the other day a colleague was stuck on how to grab a portion of its content in SQL. “You […]


The lasting impression #JoelKallmanDay

TweetShareSharePin0 SharesIt feels as if this year the feelings are not too raw anymore to even consider writing about Joel. Can anything new be said that hasn’t been said better by much more important people. Probably not, but their story is not my story. A day honouring Joel is not just a day his name brings out a flurry of blogs and tweets. It is a day to remember who he is. There is no was about Joel, his life […]


CPU, core, factors, threads and licenses

TweetShareSharePin0 SharesDisclaimer 1:Unless you are a paying client, I am not who you take licensing advice from. Talk to your Software License Manager (SLM) if you want to know how many licenses you need or your Oracle sales rep if you want to know how many licenses you could afford with the budget you have. 🙂 That said, Daniel wote a good post about how the hardware side of CPU, cores, oCPU and vCPU works. Go ahead and read it […]

Oracle Cloud, Performance, DBA

Grabbing an AWR without access to the database server

TweetShareSharePin0 SharesGetting an AWR can sometimes be difficult. If you are on an autonomous database you cannot log in to the database server and run your trusty old script for it. Other times you may not have the access and cannot get the DBA to find time to help you with it every time you want to look at one. Fortunately you can leverage your PL/SQL skills and just get it through any tool you want to use. The first […]

Visual Code, Oracle Developer Tools, Wallet

Create and terminate DB from Visual Code

TweetShareSharePin0 SharesWe saw earlier how easy it is to start and stop autonomous databases from Visual Code. Now we’ll use ODT (Oracle Developer Tools for Visual Studio Code) to create a new, access it and then toss it. First if you do not have a cloud environment or set up ODT for it, take a look at Oracle Tools Is Great, Start ATP With A Click to get the basic configuration up. Here we’re starting from the point where you […]