невозможно подключиться к oracledb, работающему в док-контейнере - PullRequest
1 голос
/ 29 июня 2019

Mac OS и докер С консоли oracledb не могу подключиться как sys, пароль набираю в oracle и не захожу

SQL> connect sys as sysdba;
Enter password: 
ERROR:
ORA-12547: TNS:lost contact

как я дошел до этого ...

    docker pull absolutapps/oracle-12c-ee
    docker run -d --name oracle-12cR1-ee --privileged absolutapps/oracle-12c-ee
    docker logs -f oracle-12cR1-ee

в конце этого я получаю

PL/SQL procedure successfully completed.

Please login to http://<ip_address>:8080/em to use enterprise manager
User: sys; Password oracle; Sysdba: true
Fixing permissions...
Running init scripts...
Init scripts in /oracle.init.d/: Ignoring /oracle.init.d/*

Done with scripts we are ready to go

Следующая команда, которую я запускаю, -

docker exec -it 28b0f34f7a81 bash -c "source /home/oracle/.bashrc; sqlplus /nolog"

SQL*Plus: Release 12.1.0.2.0 Production on Fri Jun 28 23:08:41 2019


Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> connect sys as sysdba;
Enter password: 
ERROR:
ORA-12547: TNS:lost contact

на данный момент, я застрял ...

Мысли или видели это раньше?

1 Ответ

2 голосов
/ 29 июня 2019

Глядя на исходный код для того изображения, которое вы используете , я смог убедиться, что они используют gosu oracle sqlplus для подключения к базе данных с повышенными привилегиями, поэтому я попробовал это в своей среде и, кажется, идеально подходит для того, что вам нужно:

docker exec -it oracle-12cR1-ee sh -c 'gosu oracle sqlplus "sys as sysdba"'

получение ..

SQL*Plus: Release 12.1.0.2.0 Production on Sat Jun 29 00:33:12 2019

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter password: 

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> 

и затем возможность (например):

SQL> SELECT USERNAME from SYS.ALL_USERS;

Наслаждайтесь! ;)


Edit:

Использование только sqlplus / as sysdba также работает, так что это будет:

docker exec -it oracle-12cR1-ee sh -c 'gosu oracle sqlplus / as sysdba'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...