Thursday, September 10, 2009

Minimum database version for Application Express 4.0

Today, Anthony Rayner sent me a message, describing the issue he had installing a recent build of Application Express 4.0 on his database. He ran into all sorts of compilation errors. As it turns out, Anthony was using Oracle Database version 10.2.0.1. And that won't work with Application Express 4.0.

Starting with Oracle Application Express 4.0 (most likely due out some time in 2010), the minimum database version will be 10.2.0.3. Database version 10.2.0.2 or less will not work. Application Express 4.0 cannot be installed and function and be supported in the earlier database versions - hacking the installation scripts won't work this time.

I say this with one caveat, though. Application Express 4.0 will still work with XE. Even though the database version of XE is 10.2.0.1, it's not really the same software as 10.2.0.1 of the released database software (i.e., Standard Edition). XE is really 10.2.0.1+.

7 comments:

  1. Have an issue installing it on the 11 db too. Can you send me via email the latest build, so i can retest the install? thanks :)

    ReplyDelete
  2. @thierry - APEX 4.0 isn't available. I'm not sure how you can install APEX 4.0 on 11 db.

    ReplyDelete
  3. Hi!

    First of all, I think it's understandable (and in fact a very good idea) to drop 9i support and use features of 10g in the new APEX version, e.g. regular expressions. Adoption of 4.0 might be more difficult than desired if it requires a newly patched 10.2, however. At least many of our customers have unpatched 10.1 and 10.2 databases for their back office systems. Rolling out an APEX 4.0 based product will be more difficult (and expensive) then simply dialing in, "cvs update" and running a few SQL scripts, as we expected. Well, it's a thing we'll have to deal with, then. Thanks for the warning, it's yet another reason to get them to the newest patchsets.

    Just out of technical interest: Can you explain which issues you had with 10.2.0.1? Out of memory I can't remember changes in PL/SQL, so there might be problems with (or lacking features of) pre-installed packages that could be of interest to a bigger audience.

    ReplyDelete
  4. @Chris - the biggest, if not the only, reason to require 10.2.0.3 versus 10.2.0.1 is the inclusion of the useLogonRoles parameter in the dynamic SQL parsing package SYS.DBMS_SYS_SQL. Without this ability to respect logon roles when parsing SQL, DBMS_SYS_SQL required direct object privileges instead of privileges granted through a role.

    In Application Express 3.2.1, you can access an object in SQL Commands where you have been granted privileges through a role. However, within a developed APEX application, you (really, your parsing database user) would need direct object privileges - the intent was to mirror functionality of PL/SQL. However, it is our intent in 4.0 to even remove this limitation from developed applications.

    This parameter useLogonRoles was added to DBMS_SYS_SQL in support of XE. XE is listed as database version 10.2.0.1. However, useLogonRoles didn't make it into the mainstream database releases until 10.2.0.3. That's why I always say that XE is really 10.2.0.1+.

    ReplyDelete
  5. APEX 4.0... I'll wait to play it ;)

    ReplyDelete
  6. Thank you for the Oracle XE and APEX 4.0 related information, Joel. I found the answer to my question (which I sent to David Peake, but haven't heard back) found it on your blog. Thanx again and best regards.
    Zafer, Monterey-CA.

    ReplyDelete