среда, 8 февраля 2012 г.

Работа с СУБД Oracle дома. Быстрый старт

Цель заметки

Пошаговое описание того, как в домашних условиях с наименьшими трудозатратами установить и запустить СУБД Oracle (для начала в академических целях). И чем-нибудь к нему подключиться и выполнить простой запрос. Замечу, что можно пойти разными путями, я выбрал, как мне кажется, максимально гибкий и минимально трудоёмкий.

Лирическое отступление

Моя программистская деятельность тесно связана с разработкой программ, работающих с базами данных. По мере моего взросления, мне удалось/пришлось поработать с разными СУБД. Были проекты и на Delphi 5 + BDE + Paradox, были и MS Access + VBA, были и Delphi 2006 + ADO + MS SQL Server. Но так получилось, что в компании, в которую я пришёл в 2006 году, использовалась СУБД Oracle. И надо признать, эта СУБД меня сильно впечатлила. И, хотя, моё основное направление – это разработка интерфейсов для работы с БД (т.е. Delphi), у меня достаточно задач и по проектированию структуры БД и реализации бизнес-логики на PL/SQL. И самое главное, я по сей день открываю всё новые и новые возможности этой СУБД :с)

Я не буду больше нахваливать эту СУБД, приведу лишь пару интересных ссылок: Oracle vs MSSQL2k и Oracle 10g vs SQL Server 2005.

Это бесплатно?

Oracle предоставляет несколько версий своей СУБД, есть и бесплатные её редакции. А самое главное, у Oracle есть бесплатный набор для ознакомительных целей разработчиков, им и воспользуемся.

Что для этого нужно?

Во-первых, надо зарегистрироваться на официальном сайте Oracle. Ссылка для регистрации находится в самом верху, надо не побояться вбить свои контактные данные. (Или побояться, и вбить чужие:))

Во-вторых, нам понадобится виртуальная машина. С этой страницы, Вы можете скачать дистрибутив VirtualBox последней версии для своей платформы (Windows/Mac/Solaris/Linux). Установка виртуальной машины тривиальна (можно выбрать русский язык). А вот её сетевые настройки – не совсем, но об этом позже.

В-третьих, чтобы не заниматься скачиванием/разворачиванием/настройкой СУБД, просто скачиваем уже подготовленный для VirtualBox образ виртуальной машины, на которой это уже всё сделано за нас. Надо заметить, Oracle предоставляет разработчикам несколько инструментов уже собранных и установленных на виртуальную машину. Последние версии образов виртуальных машин можно скачать отсюда. Нам же понадобится Database App Development VM - по этой ссылке вы попадёте на страницу с описанием, как всё установить (ссылка действительна на момент написания заметки, если она не работает, то просто найдите пункт “Database App Development VM” по предыдущей ссылке). А вот и сам образ (внимание: 4.2 Гб!). После скачивания, образ импортируется в VirtualBox (Файл \ Импорт конфигурации). Ну и после импорта проверяем, правильно ли импортировалось. Запускаем двойным кликом по Oracle Developer Days. Как только прогрузится операционная система и Вы увидите экран c надписью “Enterprise Linux 5”, воводите oracle/oracle – позволяем системе донастроится (ждём, пока не появится окно терминала). Теперь мы готовы продолжать, а если не готовы, то гостевую машину можно выключить – либо через саму операционную систему (System \ Shut Down – это выключит гостевую машину), либо через меню VirtualBox (тут есть варианты, через меню лучше ставить машину на паузу, но не выключать).

Итак, теперь у нас есть:

  • VirtualBox – менеджер виртуальных машин;
  • виртуальная машина Oracle Developer Days с предустановленной ОС (Linux) и предустановленной СУБД Oracle (Enterprise Edition). А ещё тут предустановлен ряд инструментов, нам понадобится Oracle SQL Developer.

Пробуем выполнить запрос?

Конечно! Запускаем Oracle Developer Days (если успели выключить), логинимся (username: oracle, password: oracle). В окне терминала запускаем СУБД командой

emctl start dbconsole

эту строку можно скопировать из самого же терминала, чуть выше. Ждём немного, и в окне терминала видим, что СУБД стартанула.

Запускаем Applications \ Oracle Dev Days \ Oracle SQL Developer. Заводим запись для подключения к нашей базе: File \ New… –> Database Connection (либо на вкладке Connections нажимаем плюсик). Заполняем окно:

image

Здесь: Connection Name – произвольное имя для инструмента Oracle SQL Developer, Username – имя пользователя БД (scott – стандартное имя для предустановленной СУБД), Password – пароль пользователя (вводим oracle; все пароли на данной машине одинаковы). Connection Type – способ подключения к БД, выберем самый простой в данном случае – подключение с использованием TNS. Network Alias – это сетевое имя БД, известное службе TNS (у этой службы есть свой конфигурационный файл, в котором прописаны алиасы; за алиасом скрываются детали подключения к БД, такие как хост, порт, сид (имя экземпляра БД, он же инстанс) и другие), выбираем ORCL. Для проверки жамкаем Test, и над кнопкой Help увидим Status : Success (или увидим причину, по которой не удалось подключиться). Жамкаем Save и закрываем окно. Теперь подключаемся – двойной клик на только что созданную запись, в правой (основной) части окна вводим простейший запрос:

select * from emp

и нажимаем Ctrl+Enter. Должно получиться примерно так:

image

Вкладка Query Result показывает результат выборки.

 

Спасибо за внимание

На этом пока всё, жду комментариев. В принципе, я планирую развить тему как минимум двумя пунктами:

  1. Подключение к данной Oracle из хост-ситемы и из другой виртуальной машины.
  2. Пишем простое приложение на Delphi.

Если Вас это заинтересовало, пишите, это будет мне стимулом для продолжения :с)

5 коммент.:

Анонимный комментирует...

Интересный пост и ссылки, заинтересовало.

vsmihaylovsky комментирует...

Когда то на работе надо было работать с данной СУБД. На уровне запросов.
Я всегда работал с ФБ и тут натолкнулся на не совсем понятную мне вещь: Мы подключились как scott - мы теперь видим его таблицы или все таблицы? И как увидеть тогда чужие...

Анонимный комментирует...

Продолжайте, было бы интересно.

Николай Зверев комментирует...

Хорошо, в следующей заметке я отвлекусь в сторону "Ключевые особенности СУБД Oracle". Я постараюсь выделить самые основные, с которыми сталкивается программист на начальном уровне работы с ораклой.
А потом продолжу задуманное.

Анонимный комментирует...

заинтересовало написание приложения на делфи под оракл

Отправить комментарий

.

.