0

I have

  • Oracle Linux 7
  • Oracle XE 18c
  • 2 vhosts Everything is local, so this should be simple.

Yesterday I finished setting up the vhosts, which need to connect to the database. I had to install php-oci8 (and some other missig php packages). After that, everything worked fine, and I even saved some data on the DB.

Then I shut down the system - not for the first time since I installed all the oracle DB stuff, but for the first time since I installed php-oci8. This morning I wanted to continue testing what's on the vhosts and I get the ORA-12546: TNS:permission denied error. I googled for a solution, followed some examples on how to change the permission, but to no avail.

I'm a QA person, not a developer or system administrator, so please keep answers simple for me. Also, tell me what else you need to know and I will provide the info.

1 Answer 1

1

Writing this question I got an idea, and further investigation showed that this is indeed a oci problem. The required PHP version can't be started correctly, and that's why my pages can't connect to the DB, whereas sqlplus, sqldeveloper etc have no problem.

I had to "downgrade" the version of InstantClient (to 18.3) in order to work with Oracle 18c, and apparently that's when something got mixed up as I still have this:

php-oci8-19c.x86_64 7.4.28-1.0.1.el7

Then I installed InstantClient 19.14 in /opt/oracle/ using the *.zip files, as the .*rpm files from the repo conflicted with XE 18c. This worked, I could install the PECL OCI-8.

Changed some environment variables (because of the changed path) and now my OCI run fine, but I still get the TNS-error message the moment I try to connect via the vhost (everything else works).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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