In the past few years, Oracle has released its latest version of Oracle Database: version 12c. Oracle Database 12c contains all the latest features, bug fixes, and security patches. Many applications built on Oracle Forms, ADF, APEX, or even non-Oracle applications rely on a connection to an Oracle database to query, insert, and update data. When an Oracle database is upgraded to 12c, it is important to also upgrade or modernize your application to the latest version in order to decrease the possibility of compatibility issues occurring between your application(s) and your 12c Oracle database. For Oracle Forms, Oracle has certified Forms version 11gR2 (22.214.171.124.x) and 12c (12.2.x) with Oracle Database 12c as Oracle has tested the compatibility between these versions, and both work successfully together. Without upgrading your Oracle Forms application to the latest version, the odds of running into errors when connecting an older Oracle Forms application to a 12c database increases.
For example, with Oracle Forms version 6i, the following issues have been encountered when trying to connect to a 12c Oracle database (or even to an 11g database):
- Errors such as ORA-3113 and ORA-28040 during authentication
- SQL*Plus hanging issues when using a SQL*Plus client from Oracle Forms 6i to connect to an 11gR2 or 12c database
- The possibility that a user may be asked to re-authenticate upon accessing a new form in the same application if the user was able to log in successfully
The reason for these errors is because Oracle Forms 6i is meant to run on older Oracle Database versions which are no longer supported. Newer Oracle Database versions such as 11gR2 and 12c contain newer features and settings which were not tested against older Forms versions because the older releases were replaced by newer versions of Oracle Forms. As newer versions of Oracle Forms are released, older releases are taken out of support.
There have been reports that some workarounds have been known to fix some of the issues noted above. However, they are neither recommended nor supported by Oracle. Some workarounds may even lower the security of your Oracle database. The following workarounds have been reported to work, but there are no guarantees if they will work. Some users reported that they either needed to create new configuration files, restart the database several times temporarily in restricted mode, or even re-configure database instances from scratch:
- Configure “SQLNET.ALLOWED_LOGON_VERSION_SERVER=8” and “SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8” in sqlnet.ora
- Setting the parameter “SEC_CASE_SENSITIVE_LOGIN” to FALSE
- Setting the system parameters, JOB_QUEUE_PROCESSES and AQ_TM_PROCESSES, to 0
- Changing the database character set to WE8MSWIN1252 using “ALTER DATABASE CHARACTER SET INTERNAL_USE WE8MSWIN1252; or changing the character set to a UTF8 character set such as AL32UTF8
The above workarounds may work, but there is a possibility that they may not fix all problems when connecting an Oracle Forms 6i application with Oracle Database 12c. These will need to be carefully tested in a development or test environment before they are rolled out to production. PITSS will not be held responsible for any problems which happen as a result of implementing any of these workarounds to get Oracle Forms 6i to work with Oracle Database 12c due to Forms 6i being out of support for about a decade.
The safest, most secure, and best approach to have your Forms application work with the latest and greatest release of Oracle Database (version 12c) is to either upgrade to the latest version of Oracle Forms (also version 12c), or modernize it to a newer technology. PITSS has the expertise to upgrade your Oracle Forms application to the latest release which is compatible with the latest release of Oracle Database as well as to digitally transform your Forms application to a more robust technology.
Relying on legacy Oracle Forms applications?
Have you considered modernizing your legacy Oracle Forms applications? PITSS can help your business keep up with the latest technology and bring your systems into the modern world.