Oracle_Path in 11.2.0.3
7:03 PMWhat is Oracle_Path ?
ORACLE_PATH is an environment variable (Linux and Windows) that specifies the path to look down when calling sql scripts from within, or calling, a database session.For example:
ORACLE_PATH=.:/u01/oracle/admin/dba/sql; export ORACLE_PATH
OS(/home/oracle): sqlplus @who.sql
With ORACLE_PATH set it will look in the current directory, /home/oracle, and if not found then in /u01/oracle/admin/dba/sql. This is a very useful env variable and saves having to fully qualify a sql script that you want to call or run.
So what's the problem ?
Up until 11.2.0.3 this has worked fine, dating back to very early Oracle versions even. A bug was identified in 11.2.0.3 and a patch was supplied to fix, bug 9438890. It was this patch, 11.2.0.3.1, that has caused the reference to ORACLE_PATH to fail.In Oracle's words ...
Diagnostic Notes
~~~~~~~~~~~~~~~~
The problem looks to be introduced in 11.2.0.3 by the fix
for bug 9438890. With that fix in place:
szaudinit() has this call to convert "@" to a name:
But sltln() is meant for file names - it expands names just before return:
ie: If a file with the same name as $ORACLE_SID is found in ORACLE_PATH
then sltln() returns the absolute filename of that file. This
expanded name is then plugged in to the full audit filename
making an incorrect filename.
0 comments