APEX 5 Source Used attribute – tolerating less mistakes

If you've upgraded to APEX 5 and find yourself with an error complaining about the 'Source Used' attribute:
then you should thank APEX 5 for finding (and no longer tolerating) a logic bug in your application.

APEX 5 - correcting your applications

Track down that field and set the Source Used attribute to 'Always, replacing any existing value in session state'.

On a side note, setting the application's Compatability Mode to 4. (more...)

Use an object in a query?

Using an Oracle object type’s instance in a query is a powerful capability. Unfortunately, Oracle’s SQL syntax doesn’t make it immediately obvious how to do it. Most get far enough to put it in a runtime view (a subquery in the from clause), but then they get errors like this:

SELECT	 instance.get_type()
ERROR AT line 4:
ORA-00904: "INSTANCE"."GET_TYPE": invalid identifier

The problem is how Oracle treats (more...)

Developer Cloud Service 15.3.3 is Now Available!

We are pleased to announce the release of Developer Cloud Service 15.3.3 with a number of new features.


Home Page Enhancements

  • Developer Cloud Service News Feed - Get regular updates to announcements, blog articles, upcoming events, and more.

Screen Shot 2015-08-20 at 2.18.45 PM.png

  • Graphs and Statistics - View project and user statistics for Open and Closed Issues, Commit Activities, and Merge Requests.

Screen Shot 2015-08-20 at 2.25.23 PM.png

Build/Deploy Enhancements

  • SOA 12c libraries are now pre-loaded in the Hudson CI build environment for (more...)

Inaugural Developer Choice Awards

Can you think of anyone worthy of being recognised in the following areas?

Developer Choice Awards Categories
Today is the last day for nominations, so visit the website and nominate the first person you think of - right now!

From mid next month you will have a chance to vote for the finalists.

It looks like Oracle are trying really hard to be more involved with the community, so I think good on them for this initiative.

The Real Future of Oracle Forms – Not the Demise of Forms! Response to LinkedIn Thred

There is quite a debate going around based on Simon’s linkedin post regarding the future of Forms; but when you read it you’ll see, he doesn’t actually talk about the future of Forms – he talks about the demise of Forms and its replacement with Oracle APEX. As someone who does believe in the future of forms, there are several things  I wanted to clarify.

Firstly, it mentions that despite the release of Oracle Forms 12c, Oracle (more...)

Indizes löschen

Jonathan Lewis hat - wieder einmal angeregt durch entsprechende Fragen in den OTN-Foren - einen Artikel zur Frage geschrieben: welche Informationen muss man analysieren, um bestimmen zu können, ob ein Index gefahrlos gelöscht werden kann? Bisher ist es zwar nur ein Artikel, aber da ein zweiter angekündigt ist, mache ich gleich eine Aufzählung daraus:

Erklärt zunächst das grundsätzliche Probleme extremer Indizierung: zwar wird - potentiell - die Treffsicherheit der Zugriffe erhöht, aber man (more...)

APEX 5 Changing region type

APEX 5 change region type
If only to further emphasise some of the fundamental rebuilds APEX 5 must have undertaken, look at the ability to switch region types.

Prior to APEX 5.0, we could migrate a Classic report to an Interactive Report, but not the reverse. And don't even think about switching to another region type.

Just bear in mind the tweaks and adjustments you'd probably lose as you toggle around. I think it (more...)


Ein wichtiger Hinweis von Mauro Pagano, der zwei Informationen zusammenbringt, die mir beide bekannt waren, ohne dass ich mich dafür verbürgen würde, dass ich in die angesprochene Falle nicht schon gelegentlich hineingetappt bin:
  • seit 11.2 sorgt ein ALTER INDEX UNUSABLE dafür, dass das zugehörige Index Segment (oder Index-Partition-Segment) entfernt wird.
  • ein TRUNCATE TABLE versetzt zugehörige Indizes wieder in den Status USABLE und erzeugt das Index-Segment wieder.
Somit sollte die Reihenfolge vor der Durchführung (more...)

Limit length of listagg

SQL> select student_name, course_id from studentx order by student_name

------------ ---------
Chris Jones  A102     
Chris Jones  C102     
Chris Jones  C102     
Chris Jones  A102     
Chris Jones  A103     
Chris Jones  A103     
Joe Rogers   B103     
Joe Rogers   A222     
Joe Rogers   A222     
Kathy Smith  B102     
Kathy Smith  A102     
Kathy Smith  A103   (more...)

Developer Cloud Service & WebHooks

Have you tried using WebHooks within Developer Cloud Service to integrate with third party tooling supporting WebHooks? In this demonstration I'll show you how it's done through integration with Slack. Slack is a team messaging tool (slack.com).

SQL Plan Management Choices

My thoughts on SQL plan management decision points:


SQL Patches are also available and not covered in the above flowchart.

Kylie is Dancing with Oracle

Almost five years ago I introduced Kylie to our little Sage flock.

Now she ventures into the world of blogging. She'll no doubt talk about Oracle development in some form, either SQL, PL/SQL, APEX, or for some bizarre reason, JDeveloper.

But who knows where blogging leads, huh?  Check her out at
Aptly named after her passion for dancing.

She's got a related twitter account:

Blog on.

Taking an Eclipse Project to the Cloud

In this video I'll show you how to take a project created in OEPE and use DevCS to manage the lifecycle of the application. First, is to create a project in DevCS, create a connection to your cloud environment from your IDE and then simply drag and drop your OEPE project onto the git repo in your new DevCS project within the cloud view of your IDE. After this, it's business as usual creating/assigning/resolving tasks, (more...)

Easy logging and debugging, version 2.0

Each application needs a simple way to log errors and find them. The following technique can also be used to debug Forms, Reports and PL/SQL. This version 2.0 has an important change. The username ist stored in the debugging-data and the viewname has changed a little bit.

First create the table, sequence and view to store the logging-information:
INSERT_USER VARCHAR2(30) (more...)

“Fixed Subqueries” und Partitionierte Tabellen

Jonathan Lewis weist in seinem aktuellen Scratchpad-Artikel darauf hin, dass neue Features des Optimizers nicht immer in allen relevanten Zusammenhängen folgerichtig integriert werden. Das Beispiel, an dem diese Schwierigkeit aufgezeigt wird, ist das der "fixed subqueries" - also Queries der Form "select 42 from dual" -, bei denen der Optimizer (seit 12c) dazu in der Lage ist, zu erkennen, dass der Wert 42 invariant ist, und daher bereits bei der Optimierung berücksichtigt werden (more...)

Browsing your DevCS Maven Repository

In his latest blog entry, Brian shows you how to browse your Developer Cloud Service Maven repository with Cyberduck.

Check out:

Browsing Your Developer Cloud Service Maven Repository Using Cyberduck

Rounding Amounts, the missing cent: with the MODEL clause

Rounding amounts may lead to rounding-issues, I have written how this may be resolved in a previous blogpost using some analytic functions.
Playing around a little bit, I also came up with a method to resolve the rounding difference with the MODEL clause.

To create an example, first let's create a table with only three records in it.

SQL> create table t
2 as
3 select rownum + 42 id
4 from dual
5 connect (more...)

Auto-convert field to uppercase

This is just a quick note for my future reference. I needed all items with the class “uppercase” to be converted to uppercase, and I thought it would work with just some CSS:

.uppercase { text-transform:uppercase; }

This makes the items appear uppercase, but when the page is posted it actually sends the values exactly as the user typed. They’d type in “lower“, it looks like “LOWER” on screen, but (more...)

Recognizion for a DB Designer, FINALLY!

Originally posted on HeliFromFinland:
Finally the work of a database designer will be recognized! Oracle has announced the Oracle Database Developer Choice Awards nomination and one of the categories makes me very, very happy: DB Design. It has been too long that the work of a database designer has been ignored. If you know a…

Verwaiste SQL-Server-Dateien

Ein schöner Hinweis von Andrej Kuklin, mit dem ich lange zusammen gearbeitet habe (und noch länger Fußball spiele): da der SQL Server bei der Löschung einer zuvor OFFLINE gesetzten Datenbank die zugehörigen Daten- und Log-Dateien nicht ebenfalls löscht, kann man relativ leicht verwaiste Dateien erzeugen, die von keiner DB mehr benötigt werden. Für den SQL Server 2012 liefert Andrej ein Skript, mit dessen Hilfe diese Überreste ermittelt werden können. Für ältere Releases gibt es (more...)