Oracle_Path in 11.2.0.3

7:03 PM

What 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.

The workaround

Change ORACLE_PATH to be SQLPATH in the profile (.bashrc)

You Might Also Like

0 comments

Contact Form

Name

Email *

Message *

Translate

Wikipedia

Search results