sqlplus не фуд в докере - PullRequest
       1

sqlplus не фуд в докере

0 голосов
/ 30 января 2019

У меня проблема в том, что sqlplus не найден в моей базе данных Oracle.вы не могли бы мне помочь.у меня всегда sh: sqlplus: команда не найдена, я пытаюсь сделать базу данных докера;я новичок в докере, у меня есть попытка:

ENV ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/bin/sqlplus
RUN echo 'export ORACLE_HOME=u01/app/oracle/product/12.2.0/dbhome_1/bin/sqlplus' >> etc/bash.bashrc
RUN echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /etc/bash.bashrc

FROM registry-innersource.soprasteria.com/sib/docker/db-oracle-12.2.0.1

# Set Environment Variables
ENV SYS_USER SYS
ENV SYS_PASSW password
ENV JAVA_HOME /jdk1.8.0_201
ENV ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/bin/sqlplus

COPY DB_SIB_SET_OS_COMMON_VARIABLES.sh /u01/oracle/
COPY 2_create_tablespaces.sh /u01/oracle/
COPY 3_setup_SIB.sh /u01/oracle/
COPY apache-jmeter-5.0 /u01/jmeter/
COPY JmeterScenario /u01/jmeter/JmeterScenario
COPY jdk-8u201-linux-x64.tar.gz /u01/java/
COPY Environment /Environment
COPY _util /_util
USER root
RUN chmod a+xr /u01/java/
RUN chmod 777 /_util

RUN echo 'export ORACLE_HOME=u01/app/oracle/product/12.2.0/dbhome_1/bin/sqlplus' >> etc/bash.bashrc
RUN echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /etc/bash.bashrc

RUN u01/oracle/1_initialise_SIB.sh 2>&1 | tee /tmp/1_initialise_SIB.log
RUN u01/oracle/2_create_tablespaces.sh 2>&1 | tee /tmp/2_create_tablespaces.log
RUN u01/oracle/3_setup_SIB.sh 2>&1 | tee /tmp/3_setup_SIB.log
USER root
RUN chmod a+xr /u01/java/
RUN chmod 777 /_util
RUN tar xzf /u01/java/jdk-8u201-linux-x64.tar.gz

#RUN u01/jmeter/bin/jmeter -n -t u01/jmeter/JmeterScenario/Load_CSBroadcasts_FR.jmx

the error is always :
sh: sqlplus: command not found

1 Ответ

0 голосов
/ 30 января 2019

Если предположить, что установка Oracle в образе registry-innersource.soprasteria.com/sib/docker/db-oracle-12.2.0.1 завершена и пути указаны правильно, переменные среды Oracle будут иметь вид:

ENV ORACLE_BASE=/u01/app/oracle
ENV ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
ENV PATH=$PATH:/u01/app/oracle/product/12.2.0/dbhome_1/bin
ENV TNS_ADMIN=/u01/app/oracle/product/12.2.0/dbhome_1/network/admin

. Проверенный Dockerfile может быть, т. Е .:

FROM registry-innersource.soprasteria.com/sib/docker/db-oracle-12.2.0.1

ENV ORACLE_BASE=/u01/app/oracle
ENV ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
ENV TNS_ADMIN=/u01/app/oracle/product/12.2.0/dbhome_1/network/admin
ENV PATH=$PATH:/u01/app/oracle/product/12.2.0/dbhome_1/bin

RUN echo 'export ORACLE_BASE=/u01/app/oracle' >> /etc/bash.bashrc
RUN echo 'export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1' >> /etc/bash.bashrc
RUN echo 'export TNS_ADMIN=$ORACLE_HOME/network/admin' >> /etc/bash.bashrc
RUN echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /etc/bash.bashrc

# Set Environment Variables
ENV SYS_USER SYS
ENV SYS_PASSW password
ENV JAVA_HOME /jdk1.8.0_201

COPY DB_SIB_SET_OS_COMMON_VARIABLES.sh /u01/oracle/
COPY 2_create_tablespaces.sh /u01/oracle/
COPY 3_setup_SIB.sh /u01/oracle/
COPY apache-jmeter-5.0 /u01/jmeter/
COPY JmeterScenario /u01/jmeter/JmeterScenario
COPY jdk-8u201-linux-x64.tar.gz /u01/java/
COPY Environment /Environment
COPY _util /_util
USER root
RUN chmod a+xr /u01/java/
RUN chmod 777 /_util

RUN /u01/oracle/1_initialise_SIB.sh 2>&1 | tee /tmp/1_initialise_SIB.log
RUN /u01/oracle/2_create_tablespaces.sh 2>&1 | tee /tmp/2_create_tablespaces.log
RUN /u01/oracle/3_setup_SIB.sh 2>&1 | tee /tmp/3_setup_SIB.log
USER root
RUN chmod a+xr /u01/java/
RUN chmod 777 /_util
RUN tar xzf /u01/java/jdk-8u201-linux-x64.tar.gz

Примечание : удален дубликат RUN, добавляющийся к /etc/bash.bashrc.Кроме того, неспособность найти команду sqlplus является ошибкой конфигурации, требует знания конфигурации базы данных Oracle / операционной системы, а не docker, скажем, (ошибка не docker специфична).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...