Tuesday, May 26, 2009

How To Compile and Run Forms with a User Different from Oracle?

Starting with Forms version 9.0.4 and 10.1.2 when trying to compile forms with a user different from Oracle result in errors like:"Permission denied", "error while loading shared libraries: libig.so.0", FRM-91500, FRM-91108
This is the expected behavior and it is caused by a change in security rights:In previous versions the default permission was 755 but starting in these new versions „the default permission is 700 for the majority of binaries in the technology stack). This was also implemented by CPU patches.”.
To work around this issue, perform the following steps:


You can use 2 different solutions

A.)
Change permissions only for a small set of files1. Connect with the "oracle" user and execute the following script (specify a correct path for the ORACLE_HOME):ORACLE_HOME=/specify-the-path-to-the-ORACLE_HOMEexport ORACLE_HOMEchmod +rx $ORACLE_HOMEchmod +rx $ORACLE_HOME/binchmod +rx $ORACLE_HOME/bin/frm*chmod -R +rx $ORACLE_HOME/libchmod +rx $ORACLE_HOME/formschmod -R +rx $ORACLE_HOME/forms/mesgchmod -R +rx $ORACLE_HOME/forms/adminchmod -R +rx $ORACLE_HOME/oracorechmod +rx $ORACLE_HOME/nlschmod -R +rx $ORACLE_HOME/nls/datachmod +rx $ORACLE_HOME/rdbmschmod -R +rx $ORACLE_HOME/rdbms/mesgchmod +rx $ORACLE_HOME/ldapchmod -R +rx $ORACLE_HOME/ldap/mesgchmod -R +rx $ORACLE_HOME/ldap/adminchmod +rx $ORACLE_HOME/networkchmod -R +rx $ORACLE_HOME/network/admin

2. In order to avoid FRM-91500 one may have to add the following lines in the frmcmp_batch.sh:TERM=vt220export TERM

B.)

Change permissions for all files in ORACLE_HOME
1. Login into Server as Oracle or user who installed the Oracle Software

2. cd ORACLE_HOME
3. run this command: chmod -R +rx *Reason: This is required to be executed from ORACLE_HOME because there are several filesthroughout the Oracle Home that have the setuid bit set.
4. Logout and login as non-oracle user and execute the forms executable.

1 comment:

Unknown said...

once upon a time I have heard about a good way of sql server 2005 recovery. hope it helps