Oracle в Docker :: Предупреждение: вы больше не подключены к ORACLE. SP2-0640: Не подключен

На скриншоте ниже вы можете видеть, как я могу успешно подключиться к базе данных, но команда отклонена, потому что... я не подключен к базе данных...

  1. Я вхожу в SQL*Plus и получаю подтверждение, что я подключен: Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0

  2. На всякий случай повторно вхожу в соединение: connect SYSTEM/SYSTEM@localhost:1521/ORCLCDB и получаю в ответ Connected.

  3. Я следую официальной инструкции примеров схем базы данных Oracle и запускаю @/home/oracle/db-sample-schemas-master/mksample.sql systempw syspw hrpw oepw pmpw ixpw shpw bipw users temp /var/opt/oracle/log/ localhost:1521/ORCLCDB, и вот когда дела начинают портиться.

Сначала я получаю ERROR: ORA-01017: invalid username/password; logon denied.

Затем Warning: You are no longer connected to ORACLE. SP2-0640: Not connected

введите здесь описание изображения

Как же так, это пароль Администратора.

Должен ли я предоставить этому пользователю что-либо еще?


person Francesco Mantovani    schedule 16.05.2020    source источник
comment
Ваш connect говорит, что системный пароль SYSTEM, а не systempw... вы предоставляете фактические допустимые значения или значения заполнителя/примера из документации?   -  person Alex Poole    schedule 17.05.2020
comment
Убедитесь, что вы запускаете скрипт в подключаемой базе данных, предполагая, что ORCLCDB является базой данных корневого контейнера.   -  person    schedule 17.05.2020
comment
@AlexPoole: SYSTEM также является паролем   -  person Francesco Mantovani    schedule 17.05.2020
comment
@Kumar, я новичок в Oracle, ORCLCDB определенно является базой данных корневого контейнера, так что мне делать?   -  person Francesco Mantovani    schedule 17.05.2020
comment
войдите в систему как Sysdba и введите show pdbs, в котором будет указана любая подключаемая база данных. Используйте это имя pdb в качестве идентификатора соединения, например, если orclpdb является PDB, попробуйте войти в систему как sys/passwd@orclpdb или из корневого контейнера вы можете переключиться на PDB alter session set container=orclpdb   -  person    schedule 17.05.2020


Ответы (1)


Предупреждение больше не подключено просто потому, что сценарий выдал свой собственный connect, который завершился ошибкой с ORA-01017. Попытка подключения обязательно сначала отключает текущий сеанс, поэтому при сбое нового подключения активного подключения не будет вообще. Вы должны успешно переподключиться, чтобы иметь возможность сделать что-нибудь полезное.

В документации, на которую вы ссылаетесь, говорится:

Запустите SQL*Plus и запустите сценарий установки верхнего уровня, как описано в README.txt:

sqlplus system/systempw@connect_string
@mksample systempw syspw hrpw oepw pmpw ixpw shpw bipw users temp /your/path/to/log/ connect_string

Примечание. Используйте абсолютный путь, а также добавьте косую черту в конце имени каталога журнала.

Используйте ваши текущие пароли SYSTEM и SYS, а также ваши фактические имена по умолчанию и временные имена табличных пространств. Пароли для новых пользователей HR, OE, PM, IX, SH и BI будут установлены в соответствии с указанными вами значениями.

Вы должны указать свой фактический текущий пароль для учетных записей SYSTEM и SYS, а не примеры в этой команде; и разумный пароль для новых учетных записей с образцом схемы, которые будут созданы. Например, из вашего успешного connect первым аргументом @mksample должно быть SYSTEM, а не пример systempw.

person Alex Poole    schedule 16.05.2020
comment
мой пароль для СИСТЕМЫ - СИСТЕМА, я использовал его для подключения, как вы можете видеть на скриншоте в зеленом поле - person Francesco Mantovani; 17.05.2020
comment
@FrancescoMantovani - да, но тогда вы все еще использовали systempw в вызове @mksample. - person Alex Poole; 17.05.2020
comment
Спасибо @Alex Poole, так какой пользователь/пароль мне следует использовать вместо этого? - person Francesco Mantovani; 17.05.2020
comment
Ну, как говорится в документе, фактические пароли для ваших учетных записей SYSTEM и SYS. Вы не сказали, какой у вас пароль SYS, но вам нужно использовать SYSTEM вместо systempw. - person Alex Poole; 17.05.2020