When you're alone and life is making you lonely, you can always go... Troubleshooting
When you've got worries, all the noise and the hurry, seems to help, I know...Troubleshooting

GUI Installation

Remote Installation / X11

Having problems running the installer remotely in graphical mode?

Did you remember to use the '-Y' option on SSH? Example:

ssh -Y oracle@adminserver

If you cannot connect directly as the 'oracle' user, here's an example of how to connect with a different user to create an X11 tunnel.

You must determine the "magic cookie" and "display" to be used later.

jeff@gamera ~ % ssh -Y opc@admin.blade.vorpal.net

[opc@admin ~]$ xauth list $DISPLAY
[admin_server]/unix:10  MIT-MAGIC-COOKIE-1  ca9a9f1c859a3e1ec180d93f2d25e226

[opc@admin ~]$ echo $DISPLAY
localhost:10.0

[opc@admin ~]$ sudo su - oracle

[oracle@admin ~]$ touch /home/oracle/.Xauthority

[oracle@admin ~]$ xauth add [admin_server]/unix:10  MIT-MAGIC-COOKIE-1  ca9a9f1c859a3e1ec180d93f2d25e226

[oracle@admin ~]$ export DISPLAY=localhost:10.0


MacOS

Did you install XQuartz?

Is the GUI horrible looking? On the Linux server you're installing to, add the following environment variable:

export _JAVA_OPTIONS="-Dsun.java2d.xrender=false"


Windows

Did you install Xming?


Default Inventory Pointer Location

Getting errors like this?

Exception in thread "main" java.lang.NullPointerException
at com.oracle.cie.nextgen.common.inventory.InventoryUtils.getDefaultInvPtrLoc(InventoryUtils.java:131)
at com.oracle.cie.nextgen.launcher.PlatformHelper.getDefaultInventoryPointerFile(PlatformHelper.java:496)
at com.oracle.cie.nextgen.launcher.Utils.getInvPtrLoc(Utils.java:449)

Create a file called 'oraInst.loc' and place it somewhere you won't forget about. The default location is usually /etc/oraInst.loc, but ~/oraInst.loc is another common choice. Edit the file to look something like this:

inventory_loc=/opt/oracle/oraInventory
inst_group=oinstall

Now run the installer again, like this...

java -jar occas_generic.jar -invPtrLoc /etc/oraInst.loc


Failed Prerequisites

Getting errors like this?

Checking if CPU speed is above 300 MHz.  Actual unknown.   Failed <<<<
Checking monitor: must be configured to display at least 256 colors.   Actual 16777216    Passed
Checking temp space: must be greater than 300 MB.   Actual 16427 MB    Passed

Some system prerequisite checks failed.
You must fulfill these requirements before continuing.

Continue? (yes [y] / no [n]) [n]

You can always type 'y' to continue, but if you would like the error message to go away, use the 'ignoreSysPrereqs' option, like so:

java -jar occas_generic.jar -ignoreSysPrereqs -invPtrLoc /etc/oraInst.loc


Silent Install and Configuration

You've tried all the tips above, but still can't get the GUI installer to work?

It is time to try the Silent Installation and Configuration.


Multicast

Use of multicast for clustering is more efficient than 'unicast', but it can lead to some configuration heartache.

If you get an error similar to:

<Sep 24, 2014 10:48:26 PM CDT> <Error> <Cluster> <BEA-000109> <An error occurred while sending multicast message: java.io.IOException: Invalid argument
java.io.IOException: Invalid argument
        at java.net.PlainDatagramSocketImpl.send(Native Method)
        at java.net.DatagramSocket.send(DatagramSocket.java:676)
        at weblogic.cluster.MulticastFragmentSocket.sendThrottled(MulticastFragmentSocket.java:206)
        at weblogic.cluster.MulticastFragmentSocket.send(MulticastFragmentSocket.java:158)
        at weblogic.cluster.FragmentSocketWrapper.send(FragmentSocketWrapper.java:91)
        Truncated. see log file for complete stacktrace

Solve the problem by telling WebLogic to prefer the IPv4 stack.

export JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true"

You can use the Multicast Monitor to check that heartbeat messages are being sent or received. Run this on any or all WebLogic servers:

java weblogic.cluster.MulticastMonitor <multicast_address> <multicast_port> <domain_name> <cluster_name>

Example:

source setDomainEnv.sh
java weblogic.cluster.MulticastMonitor 239.192.0.0 7001 replicated_domain BEA_ENGINE_TIER_CLUST


TLS / SSL

Enable Debugging

To enable SSL debugging, add this line to the startup script:

-Djavax.net.debug=all -Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true


Hostname Verification

Experiencing errors like this?

javax.net.ssl.SSLKeyException: Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=ip-10-108-160-71.us-east-2.compute.internal.
at weblogic.security.SSL.jsseadapter.JaSSLEngine.doPostHandshake(JaSSLEngine.java:691)
at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:762)

The CN in your certificate doesn't match the hostname of one of the managed nodes. You can try to fix it, or just turn off hostname verification by following these steps...

In the Admin Console, navigate to the server. Click on the Configuration >> SSL tab, then "Advanced".
Set the Hostname Verification to "None".