Wednesday, 18 January 2012

DB minimum version with APEX

(I'm doing a blogging blitz, scheduling posts, reviewing old drafts etc. I'm not sure why I didn't publish this one, I thought I'd just post it untouched)

There are suggestions that APEX 4.1, currently in Early Adopter at tryapexnow.com - may be available for download middish 2011 (I don't like saying summer/winter, because that ignores half the world!)

Some sites are still back in APEX 3.x, shame, but unfortunately I still work for some of those. Hopefully upgrading Apex won't be as daunting and restrictive for most as upgrading db version can be.

Recently I wanted/needed to experiment with some infrastructure settings, so I installed a copy of 10g I had on hand, with the intent of installing APEX 4.0

Unfortunately amongst all the installation tasks, the one I didn't bother to take notice of this time around was 2.1 - Oracle Application Express Installation Requirements: Oracle Application Express version 4.0 requires an Oracle database (Enterprise Edition, Standard Edition or Standard Edition One) that is release 10.2.0.3 or higher. Application Express 4.0 can also be used with Oracle Database 10g Express

So of course, the version I had was 10.2.0.1, not 10.2.0.3

So when you go to log into APEX, you may see something like this. Symptoms also include errors in your FLOWS schema. Something I found interesting about this particular entry was the script Joel used to determine version. He could have used dbms_utility.db_version, v$version, instead he used conditional compilation.
create or replace procedure foo as
begin
$if dbms_db_version.ver_le_10_2 $then
dbms_output.put_line('dbms_db_version.ver_le_10_2');
$elsif dbms_db_version.ver_le_11_1 $then
dbms_output.put_line('dbms_db_version.ver_le_11_1');
$else
dbms_output.put_line('else');
$end
end foo;
/ 

Ultimately you will need patch 5337014 to step up to 10.2.0.3, run apxremov, then reinstall from that point - not forgetting to have your apex_public_user account ready.

Scott
Post a Comment