John Watson's blog
Submitted by John Watson on Wed, 2016-10-19 08:10
Move a table without locks and without breaking indexes. That's pretty cool.
Submitted by John Watson on Fri, 2016-10-14 07:54
Developers who come to Oracle with a background in procedural languages sometimes do not understand how efficient SQL's set oriented processing can be. This little demonstration should convince them: never use PL/SQL when SQL will do.
Submitted by John Watson on Sun, 2016-10-02 02:57
We all know that using SELECT * is bad programming. One reason is that you cannot control the order in which columns are returned. Well, you can in release 12c.
Submitted by John Watson on Mon, 2016-09-12 12:02
We are all waiting for database release 12.2 - but you won't get it on your own hardware.
Submitted by John Watson on Sat, 2016-08-20 02:11
Indexes may improve the performance of SELECT statements, but what about DML? This simple demo shows how bad they can be.
Submitted by John Watson on Fri, 2016-08-12 03:44
Many developers find that their code fails with ORA-942, but when they test the failing statement from the SQL> prompt, it works. Why, and what can you do to fix it?
Submitted by John Watson on Fri, 2016-05-20 06:09
I first came across partitioning with release 7, when it didn't exist. Like many DBAs, I simulated it by writing a lot of application code. You can still do this – and you may have to if you haven't bought Enterprise Edition plus the partitioning option. Here's another way to do it, with partitioned views.
Submitted by John Watson on Fri, 2016-03-25 09:33
The cost based optimizer makes decisions that can be hard to understand. One of the hardest may be why it chooses indexed or scan access paths: a burning question for many DBAs.
Submitted by John Watson on Sat, 2016-03-05 06:04
DB Time is the time spent by the database server executing user calls. What is this composed of? CPU time, waiting time, and IO time.
Submitted by John Watson on Sat, 2015-10-10 06:01
Proxy authentication has been around since release 9i, but it isn't widely used. It can be a very useful facility for giving certain users access to high privileges without having to give them any direct grants or roles, and avoids many of the problems of using shared accounts. It is of course fully audited.