Встроенный или управляемый экземпляр Oracle для интеграционных тестов

Для MySQL коннектор MXJ упрощает запуск управляемого экземпляра MySQL.

Я знаю, что Oracle предоставляет Oracle XE для быстрой настройки, но я Я нашел только дистрибутив RPM, который необходимо установить. Есть ли аккуратно упакованная банка, которую я могу просто добавить в путь к классам и запустить, вызвав определенный URL-адрес JDBC, а-ля HSQLDB или MXJ?

Я заинтересован в том, чтобы разработчики использовали это локально для запуска тестов, а также на нашем сервере непрерывной интеграции.


person oksayt    schedule 27.06.2011    source источник


Ответы (2)


Короткий ответ: нет. Oracle — это большой мясистый кусок базы данных. Среди прочего, он обычно ожидает, что его запустит его собственный специальный пользователь, а не клиентский пользователь.

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

person Gary Myers    schedule 27.06.2011
comment
Это обескураживает, как и тот факт, что сценарий запуска oracle-xe состоит ровно из 666 строк. Но спасибо! Я попытаюсь посмотреть, как далеко я смогу запустить оракул, не устанавливая его. - person oksayt; 29.06.2011

Хотя Oracle не предоставляет встроенную базу данных, развертывание локального контейнера Docker с Oracle XE может быть идеальным способом проведения локальных интеграционных тестов Oracle. Поскольку контейнеры Docker по своей природе эфемерны по своей природе, базу данных также можно полностью разобрать по желанию, обеспечивая чистую песочницу.

Образ alexeiled/docker-oracle-xe-11g на DockerHub, который я нашел, содержит особенно четкие инструкции по настройке и документации: https://hub.docker.com/r/alexeiled/docker-oracle-xe-11g/

После запуска контейнера Docker обязательно:

  • Сначала подключитесь к веб-консоли APEX, авторизуйтесь в соответствии с инструкциями.
  • Затем откройте Oracle SQL Developer и сначала выберите Reset Password.... В противном случае может быть выдано следующее сообщение об ошибке: >java.lang.ArithmeticException при попытке установить соединение в Oracle 11.2.0.2.0 (64-разрядная версия)

Как описано в документации, команда docker run также может быть предназначена для автоматического запуска сценариев SQL при запуске контейнера, что также может быть очень полезным в рабочем процессе CI/интеграционного тестирования.

Надеюсь это поможет!

person NaanProphet    schedule 03.01.2018