What do the contents of extproc file look like? I'm aware that my extproc.ora file is missing, and I'd like to create one in it's absence.

The instructions here tell me to:

Configure the Oracle extproc.ora to point to the location of the ST_Geometry library file.

Make a backup copy of the extproc.ora file on the Oracle server. Open the extproc.ora file and alter it to point to the location of the st_shapelib.dll (Windows) or libst_shapelib.so (Linux or UNIX) library.

The following line is added to extrproc.ora to point to the ST_Geometry library in that directory:

SET EXTPROC_DLLS=ONLY:C:\mylibraries\st_shapelib.dll

Save and close the extproc.ora file.

I've tried creating an extproc.ora file from scratch, but I don't really know what I'm doing: SET EXTPROC_DLLS=ONLY:C:\mylibraries\st_shapelib.dll.

Not surprisingly, the file fails.

Rather than just dream up what I think the file should contain, I'd like to copy an existing example. I've searched the web, but have not come up with any complete examples of extproc.ora. Not even in the Oracle documentation: https://docs.oracle.com/database/121/NETAG/advcfg.htm#NETAG0133

What is an example of an extproc.ora file?


Why do you expect that "there must be more to it"? extproc.ora simply sets environment variables for the extproc daemon, which is used to execute code for external stored procedures, and for procedures themselves. There is some documentation in the application development guide.

The one environment variable that seems to be recognized by extproc itself is EXTPROC_DLLS that you mention, which determines the locations where the daemon looks for shared libraries. If set to ONLY:<path> it won't look in $ORACLE_HOME/bin or $ORACLE_HOME/lib.

Any other variables set in extproc.ora are simply passed on to the environment where the external code runs, so they would be specific to each library.



Frankly, I never got my homemade exproc.ora working with the st‌​_shapelib.dll library:

The extproc.ora file contains this text: SET EXTPROC_DLLS=ONLY:C:\mylibraries\st_shapelib.dll



ORA-28595: Extproc agent : Invalid DLL Path
ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 325
ORA-06512: at "SDE.ST_GEOMETRY_OPERATORS", line 1541
28595. 00000 -  "Extproc agent : Invalid DLL Path"
*Cause:    The path of DLL supplied for the extproc execution is invalid.
*Action:   Check if the DLL path is set properly using the EXTPROC_DLLS
           environment variable.

However, instead of using extproc, I just took a shortcut by placing the st‌​_shapelib.dll library file directly in the Oracle bin folder. Oracle apparently looks in the bin folder for libraries by default (Windows only).

  • 1
    The servers bin directors is the start directory and therefore searched automatically on Windows. – eckes Oct 31 '17 at 2:16
  • @eckes I wonder why the Oracle documentation doesn't mention that you can simply put the .dll libraries in the bin folder (with Windows)? It's a much simpler method than trying to configure extproc.ora or listener.ora to reference the file elsewhere. – Wilson Nov 1 '17 at 14:33
  • 1
    Maybe they don’t want you to rely on this, don’t know. – eckes Nov 1 '17 at 18:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.