Ошибка Sqlplus при импорте файла дампа базы данных с использованием файла dockerfile с образом oracle 12c - PullRequest
0 голосов
/ 11 января 2019

У меня проблемы с использованием sqlplus в dockerfile Oracle 12c. Когда я пытаюсь запустить dockerfile, он возвращает команду not found .

Я пытался указать прямой путь к sqlplus в контейнере, но, к сожалению, это не помогло.

    FROM store/oracle/database-enterprise:12.2.0.1

    ENV ORACLE_BASE=/opt/oracle \
        ORACLE_PWD=Oradoc_db1 \
        DUMP_DIRECTORY="/home/oracle/dump/" \
        USER_SCRIPT_DIRECTORY="/home/oracle/scripts/" \
        DUMP_FILE="test.dmp" \
        INIT_SQL_SCRIPT_FILE="init.sql"

    RUN mkdir $DUMP_DIRECTORY && mkdir $USER_SCRIPT_DIRECTORY

    COPY test.dmp $DUMP_DIRECTORY 
    COPY $INIT_SQL_SCRIPT_FILE $USER_SCRIPT_DIRECTORY
    RUN sqlplus system/${ORACLE_PWD} as sysdba @$USER_SCRIPT_DIRECTORY/$INIT_SQL_SCRIPT_FILE

Запустив контейнер, созданный с помощью этого dockerfile без части RUN, и выполнив эту команду вручную (после входа в контейнер), он обнаружит sqlplus и выполнится без ошибок. Сценарий, который выполняется, содержит учетные данные для пользователя, указанного в файле дампа.

...