I've installed Oracle XE 11.2 on Fedora 18 but have trouble starting SQLPlus. It quits with the following error:

Error 6 initializing SQL*Plus
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory


All of the environment variables are properly set (copied from installation guide)

# ~/.zshrc
ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe # It is in fact installed there
ORACLE_SID=XE
NLS_LANG=$ORACLE_HOME/bin/nls_lang.sh PATH=$ORACLE_HOME/bin:$PATH  NLS_LANG is AMERICAN_AMERICA.AL32UTF8. As far as I understand Oracle ignores system language related variables but here they are anyway: LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8  Any suggestions? - did you export the variables, e.g. 'export ORACLE_HOME' – miracle173 Aug 6 '13 at 5:35 It is probably a permissions problem. Does the user you are trying to execute SQL*Plus as have permissions on the directories on $ORACLE_HOME? Easiest fix is to add the user to the dba group. –  Phil Aug 6 '13 at 18:46

This error usually occurs if you are executing sqlplus as a different user (other than the one which installed Oracle software), due to permission issues

Check Oracle Note: 356850.1

-

export LD_LIBRARY_PATH==/u01/app/oracle/product/11.2.0/xe/lib

Otherwise check to see if you can access the lib directory above.

-

I was able to resolve this issue by copying the contents of the SQLPLUS folder into the Instant_Client_12_1 folder. Then SQLPlus was able to launch.

-

I just deployed Instant Client in a directory and after updating LD_LIBRARY_PATH (including the lib directory of Instant Client) and ORACLE_HOME I was facing the same issue. I now have updated PATH (including the bin directory for Instant Client) and this solved the problem.

-

And sometimes following Oracle documentation solves quite some hassle.

Make sure Basic Instant Client is deployed before running the ODBC install script.

Unzip the ODBC Instant Client package, then execute the odbc_update_ini.sh script with Driver Manager installed directory as a command line argument. (For complete syntax, please run "odbc_update_ini.sh" without any command line argument.) For example, if Driver Manager is installed in /home/DriverManager directory

                                $odbc_update_ini.sh /home/DriverManger  It will add the DSN entry in$HOME/.odbc.ini and /etc/odbcinst.ini with DSN name as OracleODBC-11g

After the installation the environment needs to be configured in the following way. Add the directory to the LD_LIBRARY_PATH system environment variable. Otherwise ODBC manager will be not able to load/find the driver.

Define the TNS_ADMIN environment variable to point the .ora files directory for OCI.

This must be set for OCI to resolve the TNS name. If TNS_ADMIN is not set, OCI will examine an operating system dependent set of directories to find tnsnames.ora. This search path includes looking in the directory \$ORACLE_HOME/network/admin/tnsnames.ora. This is the only reason to set the ORACLE_HOME environment variable for Oracle Instant Client. If ORACLE_HOME is set when running Instant Client applications, it must be set to a directory where Instant Client exists (in this case C:\Oracle\instantclient_11_2). If ORACLE_HOME is not set, then looks in current directory for tnsnames.ora.

Set any Oracle globalization variables required for your locale. See the Oracle Database 11g Globalization Support Guide for more information. For example on Linux to set NLS_LANG: setenv NLS_LANG JAPANESE_JAPAN.JA16EUC

-
Why do you think that the OP wants to install ODBC? Also he don't want install a client (neither instance client nor any other one). He has installed Oracle XE 11.2 on Fedora 18. You should not adatp the problem to your solution :-) –  miracle173 Dec 15 '14 at 14:31