Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't logging into Oracle DB #23

Open
anubischpc opened this issue May 29, 2019 · 6 comments
Open

Can't logging into Oracle DB #23

anubischpc opened this issue May 29, 2019 · 6 comments

Comments

@anubischpc
Copy link

Hi,

I try ur Docker file to manage my Oracle Database and there's an error message

image

Plis ur help, i want to try this amazing management in my oracle's databases~

@taivokasper
Copy link
Owner

taivokasper commented Jun 2, 2019

Hi @anubischpc,

Could you please include the specific version of your db so I can try it out locally. The error indicates that some kind of Oracle Client library is missing from the docker container.

Once I know the database info I can try these instructions on installing the Oracle Instant Client.

If you are up for it then you can also try fixing this issue yourself and submitting a PR. I am happy to help you with the PR in any way.

@anubischpc
Copy link
Author

Hi @taivokasper

My oracle db version is 11.2.0

I appreciate very much ur time and be waiting for ur response.

@thomasboussekey
Copy link
Contributor

Hi @anubischpc ,

Searching on the OmniDB project, I found 2 issues related to the problem you are encountering:

As @taivokasper explained in a message: In order to use connection to ORACLE database, ORACLE instant client needs to be installed using the procedure described here.
This procedure isn't realized while building the current container image.

@taivokasper, I was wondering if omnidb plugin should be added to the container image, the same question occurs for ORACLE client.

Or is it possible to consider a modular approach?

@taivokasper
Copy link
Owner

Hi,

Getting Oracle Instant Client installed on Alpine linux is a lost cause. I will end up installing the whole world with no success. I believe any other distribution is better suited for this.

I did get connecting to Oracle database working by using the following Dockerfile based on debian:

FROM debian:stretch-slim

MAINTAINER Taivo Käsper <taivo.kasper@gmail.com>

ENV OMNIDB_VERSION 2.15.0

RUN apt-get update \
      && apt-get install -y curl unzip make build-essential python3-pip libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils \
      && curl -Lo /tmp/OmniDB.zip https://github.com/OmniDB/OmniDB/archive/${OMNIDB_VERSION}.zip \
      && unzip /tmp/OmniDB.zip -d /opt/ \
      && rm -f /tmp/OmniDB.zip \
      && mkdir /etc/omnidb

RUN cd /opt/OmniDB-${OMNIDB_VERSION} && pip3 install --upgrade pip==9.0.3 && echo "Begin install cherrypy" && pip3 install cherrypy && echo "Begin install requirements" && pip3 install -r requirements.txt

RUN curl "https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-basiclite-linux.x64-18.3.0.0.0dbru.zip" -o /tmp/oracle-instantclient-basiclite.zip \
      && mkdir /oracle-instant-client \
      && unzip /tmp/oracle-instantclient-basiclite.zip -d /oracle-instant-client

ENV LD_LIBRARY_PATH /oracle-instant-client/instantclient_18_3

USER omnidb

EXPOSE 8080 25482

WORKDIR /opt/OmniDB-${OMNIDB_VERSION}/OmniDB

ENTRYPOINT ["python3", "omnidb-server.py", "--host=0.0.0.0", "--port=8080", "-d", "/etc/omnidb"]

@thomasboussekey you raise a good question regarding Omnidb plugin and Oracle Instant Client. On one side installing all plugins and extra software to single Docker image would be the most convenient for me and people using the image. On the other hand this would make the image significantly bigger and more bloated. Having "modular" image with tag for every extra would make it a tag nightmare for me and users and would not solve the case where you need two or more plugins enabled in Omnidb. If you know any Docker images that have solved similar case and has good best practices then let me know.

I have 3 solutions to this issue:

  1. I do nothing and don't preinstall Oracle Instant Client or Omnidb plugins
  2. I install Oracle Instant Client and Omnidb plugins all to a single Docker image
  3. I have a docker tag for base Omnidb installation and based on that image I create more images with docker tag per extra software.

@anubischpc and @thomasboussekey which do you think is the best solution for this issue, question about Omnidb plugins and similar issues in the future?

@anubischpc
Copy link
Author

Hi! @taivokasper

I think that that a mix solution is the answer, for example, having a base docker image for omnidb and other with the full characteristics activated, like pluggings and the Oracle Instant Client.

I try to find more docker images for omnidb with the OIC but i can't find any.

Again, thanks for ur time and I'll be waiting for ur response.

@thomasboussekey
Copy link
Contributor

Hello @taivokasper & @anubischpc ,

Sorry for the delay!

The solution offering 2 types of install:

  • one minimal
  • the second all-inclusive
    seems the best compromise!

Have a nice day,
Thomas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants