JRF enabled domain in weblogic 12c:
Weblogic’s latest release 12c is out a while ago with some great new features and while we were trying to come up with a new ConfigNOW release to support this release, we identified few really interesting requirements and aspects of this release. Here is one among them and thought we might not be the only ones to miss this.
When creating a JRF enabled domain via WLST we were hit with a confusing jps-context issue. Firstly here is the code snippet to reproduce this issue. Once you create a simple plain WLS domain try to extend that using the below WLST script. This JRF extension is a required template for creating SOA/OSB/EM domains as most of us know already.
print 'Adding JRF Template to domain.' addTemplate('C:/Oracle12c/oracle_common/common/templates/wls/oracle.jrf_template_12.1.3.jar') # making the ServiceTable connection(Kind of Registry table where # information about all other RCU schemas will be maintained). # Please make sure they are correct for your database/environment cd('/JDBCSystemResource/LocalSvcTblDataSource/JdbcResource/LocalSvcTblDataSource') cd('JDBCDriverParams/NO_NAME_0') set('DriverName','oracle.jdbc.OracleDriver') set('URL','jdbc:oracle:thin:@localhost:1521/xe') set('PasswordEncrypted', 'oracle') cd('Properties/NO_NAME_0') cd('Property/user') cmo.setValue('DEV1_STB') # Simulates the RCU Auto Configuration step of Configuration Wizrd. This step fatches the other schema details from # Service table and caches it. At this point opss-data-source gets configured with correct JDBC connection details obtained from #Service table however they are not yet committed getDatabaseDefaults() #This tries to save those cached Datasource details, but fails updateDomain()
But while updating the domain (very last step in the above code snippet) with this new Datasource configuration, a completely misleading error message is displayed which goes like below.
oracle.security.opss.tools.lifecycle.LifecycleException: Fail to find default JPS Context in C:Oracle12cdomainsosb_domain_12Cconfigfmwconfigjps-config-jse.xml.
After a series of painful trial and errors, what we realized is this is caused by a missing environment variable called COMMON_COMPONENTS_HOME (to be set to MW_HOME/oracle_common directory). Ideally we should have invoked the wlst using
Oracle XE Time Zone issue:
If you are running DB client tools such as rcu/even weblogic datasources via JDBC drivers in a Linux environment against freshly installed Oracle XE11g DB instance (could even be other latest Oracle Database versions but we haven’t tested them yet) , you might be encountered with an error message like below.
ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found Apparently the latest editions of Oracle Databases don’t come up with a default TimeZone setup already, but they actually expect the DB client (whatever it is) to provide this information while trying to connect to it. So you can expect to see this from even weblogic server logs while the database driver is trying to create data sources etc or even while running tools such as RCU.
Thankfully this one is easy to find and fix. If you are running a simple java client (which most of them are) pass this as a JAVA option using –D parameter as below.
-Duser.timezone=UTC (or whatever time zone you prefer to be default)
Or if you are running any third party tool to connect to Database, you could even try to set this as an environment variable as below.
Hope this helps!