cancel
Showing results for 
Search instead for 
Did you mean: 

7.20_EXT kernel in a 3-tier environment

Former Member
0 Kudos

We recently opened a problem report about our development system not restarting. The problem was parameter DIR_LIBRARY_RMT not being set.  In the course of asking "extra" questions, I became concerned about our production environment since it's running 3 tier.

I"m looking for as much detail as I can find on a 3 tier environment running the 7.20_EXT kernel. Can anyone tell me what the parameter DIR_LIBRARY_RMT does exactly? I've been informed a remote app server needs to have a value of pointing to the database DIR_EXECUTABLE thru qfilesvr.400. We also use opticonnect over HSL. Will anything special need to be done for this to function with the new kernel?

thanx
Mark

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

Hi Mark,

DIR_LIBRARY_RMT is needed to find the kernel library on the database server from a remote application server. In earlier releases, the kernel was trying to resolve the symbolic link '/usr/sap/<sid>/SYS/exe/run/DBSLDB4RMT' to find the kernel library, in 7.20 the application server is calling program R3<sid>400/R3INLPGM to get the kernel library SAP<sid>IND returned. So first of all it appears to be important that program R3<sid>400/R3INLPGM exists on the database server and is up-to-date. Additional information about things to check for DIR_LIBRARY_RMT can be found in SAP Note 1634303. I don't see a reason why DIR_LIBRARY_RMT needs to go through /QFileSvr.400, as far as I can see, the directory is resolved locally on the database server (through a remote program call from the application server to the database server through XDA/XDN).

Kind regards,

Christian Bartels.

Former Member
0 Kudos

Thanks for the response Christian.  Here was an OSS response when I asked about an ECC 6.0 app server running with the 7.20_EXT kernel.

If it´s on the same LPAR, you can set DIR_LIBRARY_RMT to

$(DIR_EXECUTABLE) or

/usr/sap/<SID>/SYS/exe/run as well. If the app

server is remote, the

parameter must point to IFS kernel directory of

the DB server (e.g. using

/sapmnt).

I was thinking this meant a symbolic link to our db server and the dir_executable.  What do you think?

thanx

Mark

0 Kudos

Hi Mark,

the story is getting a bit complicated now, but I am trying to explain it as good as I can. For a detailed description of the background, you may want to have a look at SAP Note 1078134. My first reply is still valid: DIR_LIBRARY_REMOTE needs to contain a value for the executable directory that is valid locally on the database server and not including /QFileSvr.400, an NFS mount or a Windows share.

In systems prior to SAP Basis release 7.10, directory /sapmnt/<SID>/exe contained (PASE) executables and symbolic links to programs in the kernel library. /usr/sap/<SID>/SYS/exe/run was a symbolic link, pointing to /sapmnt/<SID>/exe. DIR_EXECUTABLE would typically point to /usr/sap/<SID>/SYS/exe/run, and you could set DIR_LIBRARY_RMT on IBM i application servers to $(DIR_EXECUTABLE) or /usr/sap/<SID>/SYS/exe/run. On Windows application servers, /usr/sap/<SID>/SYS/exe/run was the only valid option, because DIR_EXECUTABLE would return the Windows directories and not work for the database server. This directory setup is still valid when you later upgraded to the downward-compatible 7.20 or 7.20 EXT kernel, unless you convert it as described in SAP Note 1632754.

Beginning with SAP Basis release 7.10, the kernel would reside in directories /sapmnt/<SID>/exe/uc/as400_pase_64 for Unicode systems or /sapmnt/<SID>/exe/nuc/as400_pase_64 for non-Unicode (ASCII) systems. Each time when an instance is started, new and changed executables are copied from these central directories into instance-specific directories /usr/sap/<sid>/<instance>/exe (or: $(DIR_INSTANCE)/exe) and executed from there. Here, you could define DIR_LIBRARY_RMT as $(DIR_CT_RUN), but /usr/sap/<SID>/SYS/exe/run does still exist and can also be used.

DIR_LIBRARY_RMT is checked through program R3<sid>400/R3INLPGM on the database server, and in 7.20 the check is done by looking for a stream file named .ilelibSAP<sid>IND in the directory specified by DIR_LIBRARY_RMT.

So in general a setup DIR_LIBRARY_RMT = /usr/sap/<SID>/SYS/exe/run in the default profile or all instance profiles should work. To be on the safe side, you can logon with <sid>ADM on the database server and verify with WRKLNK that a file named /usr/sap/<SID>/SYS/exe/run/.ilelibSAP<sid>IND exists there and can be accessed. This is basically the message of SAP Note 1634303, only that it is not explained in that much detail there. I will talk to the owner and see if we can update it.

Kind regards,

Christian.