Вопрос или проблема
Я установил Oracle Sql Developer и Podman на своем клиенте/хосте Ubuntu 24.04.
С Podman я выполнил
podman run -d --name oracle-db -p 1521:1521 container-registry.oracle.com/database/free:latest
затем установил простой пароль с помощью этой команды:
podman exec oracle-db ./setPassword.sh Password1
podman port oracle-db
1521/tcp -> 0.0.0.0:1521
но когда я подключаюсь к нему, я продолжаю получать всевозможные ошибки, смотрите изображение.
Итак, я понимаю, что теперь я должен иметь возможность подключаться к localhost:1521 как SYSDBA, используя FREE sid. Увы, я продолжаю получать ошибку ORA-01017. Кто-нибудь знает, как мне к нему подключиться?
Документация здесь https://www.oracle.com/eg/database/free/get-started/ и здесь https://container-registry.oracle.com/ → базы данных → бесплатно. Я запускаю образ, но не могу подключиться к нему с помощью Sql Developer.
Ответ или решение
Чтобы успешно подключиться к образу Oracle Free, запущенному в Podman, с помощью Oracle SQL Developer, следуйте приведенной ниже пошаговой инструкции. Эта процедура включает в себя корректную настройку контейнера, а также подключение к базе данных.
Шаг 1: Убедитесь, что Podman запущен и контейнер работает
После выполнения команды:
podman run -d --name oracle-db -p 1521:1521 container-registry.oracle.com/database/free:latest
Убедитесь, что контейнер запущен:
podman ps
Вы должны увидеть, что контейнер oracle-db
запущен. Если контейнер не запущен, возможно, вы столкнулись с проблемами на этапе инициализации.
Шаг 2: Установка пароля
Вы правильно установили пароль для пользователя SYS, выполнив команду:
podman exec oracle-db ./setPassword.sh Password1
Это важный шаг, так как пароль будет использоваться для подключения к базе данных.
Шаг 3: Проверьте порты
Команда:
podman port oracle-db
Убедитесь, что порт 1521 правильно перенаправлен с 0.0.0.0:1521
. Это подтверждает, что ваш локальный хост правильно принимает соединения на необходимом порту.
Шаг 4: Подключение к базе данных через SQL Developer
-
Запустите Oracle SQL Developer.
-
Создайте новое соединение:
- Введите имя соединения, например
OracleFreeDB
. - Введите
localhost
в поле Host. - Убедитесь, что значение порта —
1521
(что соответствует предыдущей настройке). - Введите SID как
FREE
. - В поле Username введите
SYS
и в поле Password —Password1
(если вы установили его на предыдущем шаге). - Включите параметр "Требовать привилегию SYSDBA" (Check "Connect as SYSDBA").
- Введите имя соединения, например
-
Тестируйте соединение:
- Нажмите на кнопку Test. Если вы увидите ошибку "ORA-01017: invalid username/password; logon denied", это может означать, что были неверно введены имя пользователя или пароль.
Шаг 5: Возможные причины ошибок
Если соединение не устанавливается, рассмотрите следующие факторы:
- Неправильный SID: Убедитесь, что он задан как
FREE
. - Пароль пользователя SYS: Проверьте, правильный ли пароль был установлен.
Шаг 6: Дополнительные шаги по устранению неполадок
-
Проверьте логи контейнера:
Выполните следующую команду, чтобы просмотреть логи работы контейнера:podman logs oracle-db
Обратите внимание на возможные ошибки, которые могут дать понимание проблемы.
-
*Попробуйте подключение через SQLPlus:*
Убедитесь, что проблема не связана исключительно с SQL Developer. Подключитесь через SQLPlus, используя:sqlplus sys/Password1@localhost:1521/FREE as sysdba
Заключение
Следуя указанным шагам, вы должны будете успешно подключиться к контейнеру Oracle Free через Podman с использованием Oracle SQL Developer. Если ошибка ORA-01017
продолжает появляться, внимательно проверьте все параметры соединения и убедитесь, что база данных правильно запущена и настроена.
Если возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.