Sometimes when SQL*Plus is executed, you will see the following error:
Message file sp1.msb not found
Error 6 initializing SQL*Plus
This occurs when SQL*Plus is unable to find the message file needed
during program initialization. The most common cause is that
ORACLE_HOME has not been set properly. This prevents the message files
being found and SQL*Plus would be unable to display error messages or
text required for normal operation. Other causes are when the message
file is corrupt or cannot be read.
Make sure that all the environment variables or registry entries
needed to run SQL*Plus are set. The variables are platform specific but
may include ORACLE_HOME, ORACLE_SID, NLS_LANG, ORA_NLS33, and
LD_LIBRARY_PATH.
Also check that the file sp1XX.msb is present in the
$ORACLE_HOME/sqlplus/mesg or %ORACLE_HOME%\sqlplus\mesg directory. The
"XX" stands for the country prefix associated with your NLS_LANG
environment variable. SQL*Plus reads only one of the sp1XX.msb files.
For example sp1ja.msb is read if NLS_LANG is JAPANESE_JAPAN.JA16EUC. If
NLS_LANG is not set, then the default (English language) sp1us.msb is
used. Check that the appropriate file is of non-zero size and that the
file permissions allow you to read it. Note the ".msb" files are
binary. The contents may be meaningless when viewed or printed. If you
are unsure which language file is being used, try unsetting NLS_LANG
and run SQL*Plus to verify it can read the sp1us.msb file.
The error message has changed in SQL*Plus Release 9.0.1 to be more informative:
Error 6 initializing SQL*Plus
Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

