Odbc driver returned an error (SQLExecDirectW).
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. directory/dbhome/lib/libnnz10.so: cannot restore segment prot after reloc: Permission denied [nQSError: 46029] Failed to load the DLL Directory/OracleBI/server/Bin/libnqsdbgatewayoci10g.so. Check if 'Oracle OCI 10G' database client is installed. (HY000)
SQL Issued: SELECT Date."Day Date" saw_0 FROM "Reports" ORDER BY saw_0
Now I did some research around on this and I am getting that Selinux being 'enforced' was the cause of this error. Now we do have the requirement to enable to Selinux at all time, but this is not the point here..
The thing I find interesting is that, after I change the setting to 'permissive', OBIEE is running perfectly fine. Then when we change it again back to 'enforced', OBIEE is still running fine. But initially, there was an error.
In my other environment, because I was not able to change the setting of Selinux, the OBIEE was giving the same error after restarting the DB, OBIEE service. Then I restarted the OBIEE service again (OC4J, saw and sa scripts), then the error disappears..
Does anybody ever experience this kind of behavior in Linux?
Please share with me your thoughts to help me understand more about the inner working of this thing..
1) Make sure you got a FULL Oracle 10g client installed (check with your DBA). Oracle INSTANT CLIENT is NOT SUPPORTED.
2) Make sure the OBIEE user that you use to run the OBIEE services has read and execute permissions on all files under ORACLE_HOME for the Oracle client that you wish to use. Even better if you install the Oracle client with the same user as the OBIEE uses to run it's services.
3) Make sure your Oracle 10g client has the OCI 32bits libraries installed (check in the ORACLE_HOME/lib32 directory that the libclntsh.so.10.1 library exists and it's size is bigger than 0 bytes). OBIEE uses the 32bits libraries.
4) Configure your OBIEE /OracleBI/setup/user.sh file to make sure your ORACLE_HOME and TNS_ADMIN variables are correctly set to the correct values. You also need to set these two:
5) Export all the above 4 variables in your current session and test that you can resolve your database name(s) by doing "tnsping DB_NAME".
6) Restart all your OBIEE services and check that all variables are correctly set (type "env").
After you have done all that give it a test and let us know if it works.