ORACLE_HOME specifies the directory containing the Oracle software for a given release. It corresponds to the environment in which Oracle Database products run. This environment includes the location of installed product files, the PATH variable pointing to the binary files of installed products, registry entries, net service names, and program groups.The Optimal Flexible Architecture (OFA) recommended value is: $ORACLE_BASE/product/release/db_1/ . For example : /u01/app/oracle/product/10.2.0/db_1.
ORACLE_BASE specifies the directory at the top of the Oracle software and administrative file structure. The value recommended for an OFA configuration is software_mount_point/app/oracle.
For example: /u01/app/oracle. If we are not using an OFA-compliant system, then we do not have to set ORACLE_BASE, but it is highly recommended that we should set it.We can find the ORACLE_HOME from below steps : Oracle 9i /10g/11g SQL> select NVL(SUBSTR(FILE_SPEC, 1, INSTR(FILE_SPEC, '\', -1, 2) -1) , SUBSTR(FILE_SPEC, 1, INSTR(FILE_SPEC, '/', -1, 2) -1)) FOLDER FROM DBA_LIBRARIES WHERE LIBRARY_NAME = 'DBMS_SUMADV_LIB' ; Output : FOLDER ------------------------------------- C:\app\neerajs\product\11.2.0\dbhome_1 Oracle 10g SQL > VAR OHM VARCHAR2(100); SQL > EXEC DBMS_SYSTEM.GET_ENV('ORACLE_HOME', :OHM) ; SQL > PRINT OHM ; Linux/Unix echo $ORACLE_HOME If we fire command ps -ef | grep tns then tns entry details and also shows full path of oracle home.Because if env is not set then echo$ORACLE_HOME does not work. Windows : 1. Click Start > Run 2. Type "regedit" and press Return/Enter 3. The registry will now be displayed 4. Expand the folder as HKEY_LOCAL_MACHINE – SOFTWARE – ORACLE