John Watson's blog

12cR2 new feature: online table move


Move a table without locks and without breaking indexes. That's pretty cool.

Is row-by-row processing really slow-by-slow? Emphatically: YES


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.

How to change column order when using SELECT *


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.

Oracle 12cR2 - the next release, cloud only?


We are all waiting for database release 12.2 - but you won't get it on your own hardware.

How indexes can degrade performance


Indexes may improve the performance of SELECT statements, but what about DML? This simple demo shows how bad they can be.

Roles , PL/SQL, and ORA-00942: table or view does not exist


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?

Partitioning and Oracle Standard Edition


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.

When is an index access path better than a full table scan?


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.

What is DB Time? Where has it gone?

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.

Proxy authentication


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.


Subscribe to RSS - John Watson's blog