Oracle Error :: PLS-00920

Experts,
I get the following error while trying to work on one of my databases,
"Error: PLS-00920: parameter plsql_native_library_dir is not set", i checked on google and i see the following notes, what parameter is this reffereing to , wher edo i set it? and what is the default?
Please advice!

Oracle Error :: PLS-00920 parameter plsql_native_library_dir is not set
Cause
A PL/SQL program is being compiled natively, but the compiler parameter plsql_native_library_dir, which denotes the directory to store the native shared objects (DLL), is not set.
Action
The DBA should set this paramet


crishna1Asked:
Who is Participating?
 
SujithConnect With a Mentor Data ArchitectCommented:
Why do you choose NATIVE compilation for your code? Any specific reason?

If you are looking to get rid of the error and compile your code then:

SQL> select * from user_stored_settings where object_name = '<YOUR PACKAGE NAME>';

It should show - NATIVE. Now change the compilation setting to INTERPRETED.

SQL> alter session set plsql_compiler_flags = 'INTERPRETED';


This setting gets stored with the object and everytime you compile the procedure next time it will be compiled as INTERPRETED.

If you are not planning to use NATIVE compilation; change the initialization parameter plsql_compiler_flags to INTERPRETED.

Setting up native compilation on a windows box is a lil difficult. YOu have to have components like VC++ installed. There used to be some docs online with the steps. I'll post if I can find the links.
Note that: generally porgrams that are more computation intensive benefit from NATIVE compilation.
0
 
slightwv (䄆 Netminder) Commented:
It's stored in the SPFILE for the database.

Log in as SYSTEM or SYS and issue the following:
show parameter plsql_native_library_dir


As for the default:  It isn't set by default.  If yours is set then it is for a reason and there is a directory problem.

Check out:
http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php
0
 
crishna1Author Commented:
Thanks slightwv,

Can you please provide me the sql statement to set this parameter on a windown machine.
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
crishna1Author Commented:
i meant , on a "Windows"  machine,  i see the UNIX one below, what do i point it to in a Windows machine, Oracle_Home?
-- Set the PLSQL_NATIVE_LIBRARY_DIR parameter.
CONN / AS SYSDBA
ALTER SYSTEM SET PLSQL_NATIVE_LIBRARY_DIR='/u01/app/oracle/native/' SCOPE=SPFILE;
SHUTDOWN IMMEDIATE
STARTUP
0
 
slightwv (䄆 Netminder) Commented:
>>what do i point it to in a Windows machine

I'm not familiar with the new 'native' compiler feature of Oracle so I don't know what to tell you to set it to.  Again, by default it isn't set.  If yours is set, then someone/something did it on purpose and I'd be afraid to tell you to just unset it.
0
 
crishna1Author Commented:
it is not set by default, i need to set it to fix this error , correct?
0
 
slightwv (䄆 Netminder) Commented:
My guess is that it is set on your system and there is a problem with the directory it is set to.  Again, if it is set on your system, it was done so on purpose and just unsetting it could cause more problems.

what is the output from the 'show parameter' command above?

repasted:
Log in as SYSTEM or SYS and issue the following:
show parameter plsql_native_library_dir
0
 
crishna1Author Commented:
the output is:
parameter plsql_native_library_dir defined as a string with no value
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.