Program
BIOVIA Direct (all versions)
Operating System
All supported Linux versions
Description
BIOVIA Direct consists of a library that extends Oracle with the capability to store, search and retrieve chemical structures and reactions. To make the library available to Oracle, BIOVIA Direct requires the configuration of an Oracle extproc listener. On the Linux platform, you can configure the extproc listener to run from an operating system account with limited permissions. The chapter "Prepare the EXTPROC Listener to Run from a Non-privileged Operating System Account" in the BIOVIA Direct "Installation and Configuration Guide (Linux)" document describes the steps to setup this configuration.
One of the configuration steps involves ensuring that the designated non-privileged user account can start the Oracle Extproc Agent executable 'extproc'. You have two options to achieve this: you can either change the original file permissions of the Extproc Agent, or use a copy of the Extproc Agent with the correct permissions.
This configuration interacts with the regular maintenance task of installing patches and patchsets for the Oracle database. Such patches may include updated versions of the Exproc Agent executable. Accordingly, you must update the BIOVIA Direct configuration every time an Oracle patch includes an update of the 'extproc' executable.
The following solution outlines the update procedures for the two options to ensure the extproc start as mentioned above.
Solution
For the purposes of this solution, it is assumed that the Oracle installation (\\\$ORACLE_HOME) is located in the directory /opt/oracle/product. Furthermore, it is assumed that the Oracle software is installed under the operating system account 'oracle'.
Solution A: If you changed the file permissions of the original 'extproc' file. This refers to step 3a in the chapter "Prepare the EXTPROC Listener to Run from a Non-privileged Operating System Account" in the BIOVIA Direct "Installation and Configuration Guide (Linux)".
Login to the Oracle server through a terminal as user 'oracle'. Navigate to the \\\$ORACLE_HOME/bin directory.
[oracle@myserver bin]\\\$ cd /opt/oracle/product/binList the file permissions of the 'extproc' file. By default, the 'extproc' file has the SGID bit set as seen by the 's' in the file permissions section (file permissions 2751).
[oracle@myserver bin]\\\$ ls -l *extproc* -rwxr-s--x 1 oracle oinstall 209976 Oct 23 16:40 extprocClear the SGID bit from the file, that is change the file permissions from 2751 to 751:
[oracle@myserver bin]\\\$ chmod 751 extprocConfirm the updated file permissions.
[oracle@myserver bin]\\\$ ls -l *extproc* -rwxr-x--x 1 oracle oinstall 209976 Oct 23 16:40 extprocIf required, you can revert to the original file permissions by running the following command.
[oracle@myserver bin]\\\$ chmod 2751 extproc
Solution B: If you use a copy of the original 'extproc' file with the required file permissions. This refers to step 3b in the chapter "Prepare the EXTPROC Listener to Run from a Non-privileged Operating System Account" in the BIOVIA Direct "Installation and Configuration Guide (Linux)". It is assumed that the name of the copy is 'direct_extproc'.
Login to the Oracle server through a terminal as user 'oracle'. Navigate to the \\\$ORACLE_HOME/bin directory.
[oracle@myserver bin]\\\$ cd /opt/oracle/product/binList the file permissions of the 'extproc' file and its original copy 'direct_extproc'.
[oracle@myserver bin]\\\$ ls -l *extproc* -rwxr-x--x 1 oracle oinstall 212696 May 6 2025 direct_extproc -rwxr-s--x 1 oracle oinstall 209976 Oct 23 16:40 extprocCheck the file sizes and dates. If they are different, and the date of the 'extproc' file is newer than the date of the 'direct_extproc' file, create a new copy of the 'extproc' file.
[oracle@myserver bin]\\\$ cp extproc direct_extprocConfirm that the copy has the same size as the original extproc file, and the file permissions of the copy are set to 751
[oracle@myserver bin]\\\$ ls -l *extproc* -rwxr-x--x 1 oracle oinstall 209976 Oct 24 15:34 direct_extproc -rwxr-s--x 1 oracle oinstall 209976 Oct 23 16:40 extproc
