Fixing component Load failed with IOException Error when Configuring OHS with OEM

I ran across this today. It took me a long time to find the right solution, so I thought I would post it here.

The error message I was getting was:

Failed to invoke operation load on MBean oracle.as.management.
mbeans.register:type=component,name=ohs1,instance=asinst_1,
Location=AdminServer
Load failed with IOException

The logs further showed the following:

OHS-2079 nzos handshake error, nzos_Handshake returned 
28860(server obscured.server.com:9999, client 111.127.66.159)
OHS-2171 NZ Library Error: SSL fatal alert

The fix I found towards the end of a thread at https://forums.oracle.com/forums/thread.jspa?threadID=1054032:

ORACLE_HOMEopmnbinupgradenonj2eeapp.bat
-oracleInstance Instance_Home_Location
-adminHost WebLogic_Server_Host_Name
-adminPort administration_server_port_number
-adminUsername administration_server_user

Change it to .sh for Linux/Unix. I found I only had to run this on the first server in the farm rather than all of them as one might expect. Your mileage may vary.

Facebooktwitterredditlinkedinmail
© Scott S. Nelson

WLS 10.3.x Silent Install Gotcha

I ran into an issue where I couldn’t figure out why I was getting the following error when running a WebLogic Server 10.3.2 upgrade in silent mode pert the documentation:

C:tempten_two_domain1>java weblogic.Upgrade -mode silent
-type domain Calling Wizard framework for upgrade: args2:
[-mode=silent,-file=wcf/plugin_silent_wizard.xml,
-p:plugin:plugin.silent.response.file=weblog
ic-upgrade-domain-responses.xml,
-log=stdout,-p:plugin:plugin.executionPlan.file=weblogic/
upgrade/domain/execplan.xml,-p:plugin:I18N_PLUGI N=weblogic/
upgrade/i18n_upgrade,
-p:plugin:TARGET_VERSION=10.3.2.0] 2011-05-03 12:12:25,926
ERROR [inputAdapter_silent] com.bea.plateng.wizard.
WizardController - Uncaught Exception java.lang.
ArrayIndexOutOfBoundsException: 0 at weblogic.upgrade.domain.
directoryselection.SelectWebLogicVersionPlugIn.
validateInputAdapter(SelectWebLogicVersionPlugIn.java:50) at
com.bea.plateng.wizard.plugin.silent.tasks.
InputAdapterSilentTask.execute(InputAdapterSilentTask.java:178)
at com.bea.plateng.wizard.silent.tasks.AbstractSilentTask.
run(AbstractSilentTask.java:28) at java.lang.Thread.run(
Thread.java:619) A fatal error has occurred. This application 
will terminate.

I thought I had followed the example from http://docs.oracle.com/cd/E15523_01/web.1111/e13754/xml_ref.htm#g1066162 perfectly:

<?xml version="1.0" encoding="UTF-8"?>

<plugin-silent-responses>
</plugin-silent-responses>

<!-- SAMPLE BELOW -->
<!--
<plugin-silent-responses>
  <group name="DomainSelectionGroup">
    <plugin name="SelectWebLogicVersionPlugIn">
      <input-adapter name="ChoiceIA">
        <bind-property name="selectedChoiceIds">
          <value>__WEBLOGIC_VERSION__</value>
        </bind-property>
      </input-adapter>
    </plugin>
    <plugin name="DomainDirectorySelectionPlugIn">
      <input-adapter name="IA">
        <bind-property name="selectedFile">
          <value>__DOMAIN_DIR__</value>
        </bind-property>
      </input-adapter>
    </plugin>
  </group>
  <group name="PostDirSelectionGroup">
    <plugin name="AdminServerSelectionPlugIn">
      <input-adapter name="IA">
        <bind-property name="selectedChoiceIds">
          <value>__ADMIN_SERVER_NAME__</value>
        </bind-property>
      </input-adapter>
    </plugin>
    <plugin name="NodeManagerCredentialsPlugIn">
      <input-adapter name="UsernameIA">
        <bind-property name="value">
          <value>__NODE_MANAGER_USERNAME__</value>
        </bind-property>
      </input-adapter>
      <input-adapter name="PasswordIA">
        <bind-property name="value">
          <value>__NODE_MANAGER_PASSWORD__</value>
        </bind-property>
      </input-adapter>
      <input-adapter name="PasswordConfirmIA">
        <bind-property name="value">
          <value>__NODE_MANAGER_PASSWORD__</value>
        </bind-property>
      </input-adapter>
    </plugin>
    <plugin name="OptionalGroupsSelectionPlugIn">
      <input-adapter name="IA">
        <bind-property name="selectedChoiceIds">
          <value>__OPTIONAL_ACTION_1__</value>
          <value> . . . </value>
        </bind-property>
      </input-adapter>
    </plugin>
  </group>
  <group name="PostDirSelectionPost81Group">
    <plugin name="AdminServerSelectionPlugIn">
      <input-adapter name="IA">
        <bind-property name="selectedChoiceIds">
          <value>__ADMIN_SERVER_NAME__</value>
        </bind-property>
      </input-adapter>
    </plugin>
    <plugin name="OptionalGroupsSelectionPlugIn">
      <input-adapter name="IA">
        <bind-property name="selectedChoiceIds">
          <value>__OPTIONAL_ACTION_1__</value>
          <value> . . . </value>
        </bind-property>
      </input-adapter>
    </plugin>
  </group>
  <group name="DomainBackupGroup">
    <plugin name="DomainDirectoryBackupPlugIn">
      <input-adapter name="FileSelectionIA">
        <bind-property name="selectedFileNames">
          <value>__BACKUP_DIR__</value>
        </bind-property>
      </input-adapter>
      <input-adapter name="TextIA">
        <bind-property name="value">
          <value>___BACKUP_FILE_NAME__</value>
        </bind-property>
      </input-adapter>
    </plugin>
  </group>
</plugin-silent-responses>

-->

But, as it turns out, where I wanted to be literal on the  SelectWebLogicVersionPlugIn value with 10.2, the correct format is to be a bit broader, with:

    <plugin name="SelectWebLogicVersionPlugIn">
      <input-adapter name="ChoiceIA">
        <bind-property name="selectedChoiceIds">
          <value>9.0 or higher</value>
        </bind-property>
      </input-adapter>
    </plugin>

Note the value 9.0 or higher

I hope this saves some folks the time I spent figuring it out 🙂

Facebooktwitterredditlinkedinmail
© Scott S. Nelson

Running Two WLS Domains with Pointbase

I hope this guy’s blog lasts forever so I don’t have to manually write the steps to run two WLS domains using Pointbase on the same machine: http://www.jroller.com/gmazza/entry/reconfiguring_pointbase_databases_on_weblogic.

You would think that you could plan ahead and simply change the values for DBMS and Port on the Configure JDBC Data Sources screen, but the “wizard” still spits out config files using the default 9093 port for Pointbase.

My alternative approach is to search for .cmd, .properties, and .xml files containing “9093” and change it to “9094” for the second domain. Not as step-by-stepish, but easy to remember 🙂

Facebooktwitterredditlinkedinmail
© Scott S. Nelson

Creating SAML Token Tip for Non-WLS Admins

The documentation for setting up SAML for WLP WSRP is very straight-forward except for one small item that us non-admins may not think of: Once you have your command window open, you need to run the setDomainEnv script in that window before calling the keytool. Otherwise, you get a nice response from the commands, but the domain is not configured to use the results!

Facebooktwitterredditlinkedinmail
© Scott S. Nelson