February 15, 2010

If you are an Oracle expert, when installing products, configuring software, or setting up servers, for hostnames, domain names, and subdomain names...

Do not use underscores ("_")

Do not use dashes ("-")

In fact, don't use any special characters at all if you can control it

Don't even think of uppercasing or camelcasing

Example #1 - OEM Grid Control issues due to underscore in hostname

In 2007, we had a BEA WebLogic Server 9.1 running on a hostname called SERVER_A and wanted to use OEM 10g Grid Control R3 to monitor this WebLogic instance. This Oracle web page indicated that the "Plug-in for BEA WebLogic is built into Oracle Enterprise Manager 10g Grid Control Release 2, Release 3, and Release 4."

BEA WebLogic Server 9.1 was already installed on Windows 2003 Enterprise and we successfully installed the OEM Agent 10.2.0.3 on the same server. However, we were not able to add the Weblogic server as a target.

Cause of problem

Underscore in the hostname.

Explanation

In our case here, as a product, OEM 10g Grid Control was unable to register targets with underscore in their hostname.

In 2010, we were installing Oracle E-Business Suite 11i (11.5.10) for Linux on a server hostname taking the format ORADEV.MY-DOMAIN.ORG. Now I had ran into a few snags installing it the first time due to missing prerequisites, but those were quickly resolved and installation proceeded fine.

During the installation, the adrundb.sh script reported "Cannot create control file for..." and threw "RW-50010" and "RW-50004" error codes.

Basically, the Oracle database cannot do an ALTER DATABASE with a fully qualified hostname that includes dashes (if not surrounded by double quotes). I was pretty much unable to work around this as the command was automatically created and executed by the installer. We had no choice but to rename the server and restart the installation.

In 2009, I had a colleague who would use all uppercase ("WWW.GOOGLE.COM") or camelcase ("www.Google.com") when updating configuration files of various Oracle software. I tried explaining that although this was technically and syntactically correct, "why the $#%! would you do that?!"

He came from a Windows background, and I tried explaining that although it was indeed valid and case insensitive, "you do understand that what comes AFTER the domain name could be case sensitive?" in an attempt to convince him not to be creative.

The point is, yes, it's valid. But from the two scenarios above, some software either will strictly adhere to the standard (rightly so) or is just badly written that it doesn't factor in the "creative" people who want to name their servers "This_Server!.is-Awesome.com".

Final word:In the DNS world, there is some industry confusion surrounding the ability to use underscore in subdomains, but it it is not a valid character in a domain name. There are cases where RFC-compliant mail servers will refuse to deliver mail for Windows computers with domain names containing underscores. In another example, Microsoft SQL Server maps underscores to backslashes. We have already shown above how 2 Oracle products behave when using underscores or dashes in hostnames.

The point here being that the more creative you get with your hostnames and domain names, the higher chance that the software you install or configure will have issues.