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 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 Database version 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, it's not really the same software as of the released database software (i.e., Standard Edition). XE is really


thierry said...

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 :)

Joel R. Kallman said...

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

Byte64 said...

Oracle XE rules!


Chris said...


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 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.

Joel R. Kallman said...

@Chris - the biggest, if not the only, reason to require versus 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 However, useLogonRoles didn't make it into the mainstream database releases until That's why I always say that XE is really

Surachart said...

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

Zafer said...

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.