Read Privileg in (ohne Select for Update)

Zu den eher unverständlichen Entscheidungen, die man bei Oracle im Zusammenhang der Definition von Privilegien gemacht hat, gehörte sicherlich die Zuordnung des Rechts zur Ausführung der Operation SELECT FOR UPDATE zum einfachen SELECT-Privileg. Dadurch konnten Benutzer allerlei Unfug anstellen, weil die Operation recht massive Sperren erzeugt. In gibt es jetzt das neue READ-Privileg, das SELECT FOR UPDATE explizit nicht mehr enthält. Den Hinweis auf diese Ergänzung habe ich bei Gary Myers gefunden.

Latest Oracle allows SELECT without SELECT…FOR UPDATE

Digging through a backlog of Oracle blogs, I came across an gem in a presentation from AMIS (on Slideshare). Got to bullet point 5 on slide 63 and boom !

You all know that when you grant SELECT on a table to a user, they can do a SELECT FOR UPDATE, locking records in the table and preventing other updates or deletes. [Some client tools may do that in the background. ]

Well finally Oracle (more...)

How many page views can Apex sustain when running on Oracle XE?

Always check out the original article at for latest comments, fixes and updates. While some people think that hosting a web site on top of Oracle XE can be hardly considered much more than a joke, I can claim instead, basing on my personal experience of the last 5 years, that for small sites it can be a perfectly reasonable choice, provided you have the technical

Submit from jQuery modal causing session state protection violation

Don’t you hate those nagging issues where you attempt a few fixes in vain, waste hours of your life, and then suddenly the issue just resolves itself? What’s worse than an issue that won’t go away is one that just resolves itself and you don’t know why. You don’t know if it is just hiding, waiting to reappear at some inconvenient time later (e.g. when the app goes live in Production).

I added the (more...)

Oracle OpenWorld 2014 Summary: Oracle Lifted Us Up To The Cloud !

The AuraPlayer Team at OOW

The AuraPlayer Team Selfie at OOW

Another Oracle OpenWorld is behind us (when did it become October?) and as usual, it was fun to catch up with the members of my Oracle developer community, my ODTUG buddies and fellow ACEs. Cloud was definitely the hot topic on everyone’s mind this year, especially because Oracle announced their upcoming Oracle Mobile Cloud Services and released their Oracle Developer Cloud Service to production a few weeks before the (more...)

The moon is a sphere

I was fairly excited at the prospect of seeing tonight's lunar eclipse but I neglected to take into account not being able to see the eastern horizon from my house.

I missed most of the total but enjoyed the crescent of the partial eclipse re-emerging. It's amazing how distinct the shadow leading to the penumbra.

My friend said there will be some good shots in tomorrow's paper. I laughed and said here in the 21st (more...)

AUSOUG 2014 Perth Conference

It’s that wonderful time of year again – no, not talking about springtime, when I’m stalked by airborne grass pollens causing me to choke and gag all day. The sound of a lawnmower is enough to elicit a sneezing fit – and in Aussie springtime, that’s most weekends. (I’m so glad my wife does the mowing at our place, usually while I’m at work. My son is now old enough to do the mowing – (more...)

NYOUG Training Event: "High Performance PL/SQL" on Nov 7 2014

If you want to be able to create contemporary high-performing PL/SQL code, welcome to my training event in NYC (hosted by NYOUG) on November 7, 2014:

I think, it is as important as ever to follow best practices for server-side development. There are lots of options that could get the job done "now", but very few that would survive for months/years. Also, there is a constant pressure from various "alternative" solutions to (more...)

SQL Developer Tipps

Nachdem ich im September bei sehr vielen Artikeln der Reihe 30 Posts in 30 Days von Jeff Smith den Eindruck hatte, dass da Features erwähnt werden, die ausgesprochen nützlich wären, wenn ich sqlplus gelegentlich beiseite legen würde, scheint's mir angemessen, den Index-Artikel zur Serie zu verlinken. Der SQL Developer ist wirklich ein großartiges Tool - insbesondere in Anbetracht seines Preises.

ORA-29339: tablespace block size 16384 does not match configured block sizes

Always check out the original article at for latest comments, fixes and updates. If you attempt to create a tablespace with a non-standard blocksize, say 16K, you get an exception like this: ORA-29339: tablespace block size 16384 does not match configured block sizes In order to create the tablespace, you'll need first to allocate a specific buffer for these blocks

Why the In-Memory Column Store is not used (II)

Now after some research - I detected one simple rule for provoking In-Memory scans :

Log File Sync, Log File Parallel Write und Durchschnittswerte

Nikolay Savvinov erläutert in seinem Blog die Probleme, die sich ergeben, wenn man die im AWR angezeigten Duchschnittswerte der Events Log File Sync (LFS) und Log File Parallel Write (LFPW) allzu ernst nimmt. Dazu noch mal eine minimale Definition der Events:
  • Log File Sync: ist das Event, auf das User-Sessions warten, die ein Commit abgesetzt haben, das vom LWGR verarbeitet werden soll.
  • Log File Parallel Write: ist das Event auf das der LWGR (more...)

One Year of the Database Design Quiz

Today celebrates one year of the database design quiz on the PL/SQL Challenge!

Here’s a look back at some of the stats for the quiz to date with some trivia related to the numbers :)

select count(*)
from   quizzes;


-- The number of white keys on a piano
-- the smallest number with 4 representations 
-- as the sum of 4 positive squares

select count(*)
from    (more...)

Is it unique?

Tablespace verkleinern

Jonathan Lewis hat dieser Tage zwei Artikel zum Thema der Verkleinerung von Tablespaces veröffentlicht:
  • weist darauf hin, dass es in aktuellen Releases sinnvoll ist, zugehörige Indizes vor einer Move-Operation einer Tabelle als unusable zu markieren, da die Segmente in diesem Fall sofort gelöscht werden (nach der Move-Operation findet diese Löschung ohnehin statt, da die Index-rowid-Referenzen durch die Bewegung der Tabelle unbrauchbar werden). Diese Löschung erlaubt dann die Tabelle "weiter vorn" im (more...)

APEX 5 not so near

It seems I may have jumped the gun a little.
Idioms - the bane of ESL speakers?

Reading Anton's comment on a Friday afternoon got me a little too excited - upon reading it again Tuesday (we had a long weekend) I realised it was tongue in cheek.

So instead I went to Twitter to find what's being said at Oracle Open World about #orclapex. Turns out there will be a third early adopter - (more...)

Dusting Off the Data Warehouse

Businesses all over the world have spent millions and millions building data warehouses and implementing Business Intelligence (BI) without coming anywhere near the promised business benefits.

That is about the change.

And the thing that will change this is interactive, visual analytics on tablets.

Tablets and modern interactive graphics are a match made in heaven. Business users who will reluctantly spend half an hour looking at a BI report will happily spend hours playing around (more...)

OpenWorld Presentation on Row Pattern Matching

You can download my presentation from Please download instead of viewing: the slideshare viewer doesn’t show the animations I worked so hard on. I have already blogged about some of the topics in my presentation. Sometime soon I will continue with in depth looks at other issues, such as “catastrophic backtracking”. To those many […]

Time for an Oracle Apex feature request – single sign-on authentication

I've just submitted a feature request because I believe that the current Application Group concept is a fairly weak one if it doesn't bring about some advantage in terms of features for the developer. Basically what I am asking for is that one can easily implement a single sign-on authentication method across multiple applications within the same application group, pretty much like the existing

DBMS_REDACT and complete ROW update

My session on "Oracle 12c for Developers" is done.Afterwards someone asks the question:

What happens when you use DBMS_REDACT with a complete row update?
My guess was that it would place the redacted data in the column, but I haven't tried it, so here goes:

create table emp
select ename
,to_char (abs (dbms_random.random)) credit_card
from scott.emp

(object_schema => 'A'
,object_name => 'EMP'
,policy_name => 'Hide Creditcard'
,expression (more...)