Hello, I'm trying to ingest a oracle database: Get...
# ingestion
s
Hello, I'm trying to ingest a oracle database: Getting this error:
Copy code
'DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared '
           'object file: No such file or directory". See <https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html> for help\n'
           '(Background on this error at: <http://sqlalche.me/e/13/4xp6>)\n',
           "2022-03-01 09:16:17.371091 [exec_id=9a7d99e0-a12e-433e-ba3e-c4d384602ff6] INFO: Failed to execute 'datahub ingest'",
I did install the oracle package with pip install 'acryl-datahub[oracle]'. Any thoughts on where the error could be?
n
hi Sindre, take a look at https://stackoverflow.com/a/55825571
s
Thanks, not seeing any difference after adding the variable, is there some other things that should be done? Added with: export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/${LD_LIBRARY_PATH+$LD_LIBRARY_PATH}
I would also assume I don't have to install any other libraries etc, and what is required should be added with the datahub command. It did add cx_Oracle it seems
n
are you on linux or macos?
s
To test it out, DataHub is set up on a single linux EC2 in AWS, using the docker installation, having everything on the same server.
n
try installing libaio1
Copy code
Install the operating system libaio package with sudo or as the root user. For example:

sudo yum install libaio
On some Linux distributions this package is called libaio1 instead.

On recent Linux versions, such as Oracle Linux 8, you may also need to install the libnsl package when using Oracle Instant Client 19.
s
Package libaio-0.3.109-13.amzn2.0.2.x86_64 already installed and latest version And libaio1 is not found in yum
n
I guess you will need to install the instant client
s
Ok I will try this out soon hopefully, any reason why this does should not work with the default setup in DataHub?
b
It should!! If it doesn't that is an issue we need to raise
To unblock yourself, I'd go ahead and use the
datahub
client
f
I have it working from the Windows Command line but not through the datahub UI. Any reason why? Same error "'DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared '"
b
I recall this was an issue we were seeing for oracle specifically where there must be some additional system packages installed. cc @gray-shoe-75895 - do you remember this situation?
s
I was not able to do this with ingestion in command line as well
f
@square-solstice-69079 are you using windows?
s
I'm running all commands on the linux machine that we have it installed on
f
ah ok sorry can't help you then. I had to install the oracle instant client
s
no worries 🙂
f
s
no, but it seems like it was added when doing: pip install 'acryl-datahub[oracle]'
f
ok
g
@square-solstice-69079 in these instructions https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html#install-oracle-client, there’s a few extra steps you need to take to install the “oracle instant client”
s
I tried this and seem to be a bit stuck. Getting this error now: DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: "/opt/oracle/instantclient_19_14/lib/libclntsh.so: cannot open shared object file: No such file or directory". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help (Background on this error at: http://sqlalche.me/e/13/4xp6) I downloaded the 19.14 client (instantclient-basic-linux.x64-19.14.0.0.0dbru.zip) Extracted into opt/oracle/instantclient_19_14 My env variables are now: ORACLE_HOME=/opt/oracle/instantclient_19_14 LD_LIBRARY_PATH=/opt/oracle/instantclient_19_14: oracle folder:
For some reason it was expecting the files to be in /lib, but in the original client files, there is no files there:
So I tried to make the lib folder and copy the file(s) there
I used the symlink commands from there for example, to use the 19.1 files
Copy code
ln -s libclntsh.so.19.1 libclntsh.so
ln -s libocci.so.19.1 libocci.so
also tried to use 21_5 with the same result. Just using this python script to check the connection, and get the same error.
Copy code
import cx_Oracle
con = cx_Oracle.connect('<USER>/<PASSWORD>@<HOST>:<PORT>/<SID>')
Got it working with adding the oracle instant client with the rpm. I was not able to add the package with yum, but manually downloaded and installed worked.
g
That’s super strange - not sure why the yum install failed but the manual rpm worked. In any case, glad it’s working now! Let us know what we can do improve the docs
s
Yea the problem with using yum, was that it did not find the package, and I was a bit unsure on how to add a repo that got those oracle packages.
t
Hello, I have the same error but in versions 0.11 or higher. In version 0.10.5 this error does not appear.
r
Hey there! đź‘‹ Make sure your message includes the following information if relevant, so we can help more effectively! 1. Are you using UI or CLI for ingestion? 2. Which DataHub version are you using? (e.g. 0.12.0) 3. What data source(s) are you integrating with DataHub? (e.g. BigQuery)