Oracle express edition как работать

Обновлено: 05.07.2024

Версия XE содержит ряд ограничений:

  • поддерживается база данных размером до 4 Гбайт;
  • на одном компьютере может быть запущен только один экземпляр базы Oracle XE;
  • при наличии на сервере нескольких процессоров Oracle XE использует только один из них;
  • Oracle XE использует не более 1 Гбайт независимо от объема доступной оперативной памяти.

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

В настоящее время существуют версии Oracle XE для платформ Linux (Debian, Mandriva, Novell, Red Hat и Ubuntu) и Windows.

Инсталляция

Процесс установки максимально упрощен, но, к сожалению, управление этим процессом практически невозможно. База данных и программный код устанавливаются в одну папку (которую можно задать), затем требуется ввести пароли для пользователей SYS и SYSTEM.

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

Установка сервера

- в параметре Dir группы «*SdComponentDialog-0» нужно указать путь к папке для установки Oracle XE,

- в параметре SYSPassword группы «*AskSYSPassword-13011» следует указать пароль пользователя SYS (по умолчанию в этом файле задан пароль oraclexe);

Кроме данных Oracle XE, для бесплатной загрузки доступен Oracle-клиент для Windows, установка которого может производиться в ручном и автоматическом режимах.

Web-интерфейс

правление базой данных предельно просто и осуществляется через Web-интерфейс. Подобный подход облегчает администрирование, особенно в случае дистанционного управления через Интернет.

Web-интерфейс управления базой

Web-интерфейс управления базой

В текущей версии Oracle XE Web-интерфейс содержит четыре группы инструментов: Administration, Object Browser, SQL и Utilities.

Administration

Этот набор средств предназначен для администрирования и мониторинга базы:

Object Browser

Данный инструмент является браузером объектов базы данных, позволяющим просматривать существующие объекты в базе и манипулировать ими. Возможности этого средства достаточно широки, причем большинство операций выполняются визуально, а от пользователя не требуется знание языка SQL. Этот инструмент очень удобен для начинающих, так как позволяет визуально создавать объекты всех основных типов.

Сюда входят средства для выполнения SQL-команд:

Выполнение запроса к базе

Выполнение запроса к базе

Визуальное построение запроса

Визуальное построение запроса

Utilities

Utilities содержит различные утилиты для работы с базой данных:

Как можно понять из этого краткого описания, Web-интерфейс содержит все основные средства для начального этапа работы с базой данных. Тестирование этого инструмента показало его устойчивую работу и неплохое быстродействие. Разумеется, разработчикам и администраторам подобного средства будет недостататочно, но для выполнения простейших операций и изучения Oracle оно вполне пригодно.

Управление запуском базы

осле установки Oracle XE в системе появляются новые службы:

Обе службы имеют тип запуска «Auto» и запускаются при старте системы. Если автозапуск Oracle XE нежелателен, то необходимо изменить режим запуска этих служб на «Запускать вручную» и запускать эти службы перед началом работы с базой при помощи командных файлов StartDB.bat и StopDB.bat (эти файлы размещены в папке oraclexe\app\oracle\product\10.2.0\server\BIN\) или при помощи диспетчера служб Windows.

Следует отметить, что на загрузку базы и процесс закрытия оказывают влияние следующие параметры ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ KEY_XE:

Режим закрытия normal является самым корректным, поскольку при закрытии базы в этом режиме блокируется создание новых сессий и происходит ожидание завершения всех текущих. Закрытие реальной базы в данном режиме маловероятно, так как если обнаружится хотя бы одна открытая пользовательская сессия, то это заблокирует закрытие базы.

Режим закрытия immediate является оптимальным: в этом режиме прерываются все текущие операции, производится закрытие всех пользовательских процессов и сессий, а затем производится закрытие базы.

Таким образом, рекомендуются следующие значения параметров:

  • ORA_XE_AUTOSTART = TRUE;
  • ORA_XE_ SHUTDOWN = TRUE;
  • ORA_XE_ SHUTDOWN=immediate;
  • ORA_XE_SHUTDOWN_TIMEOUT= 90.

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

Проблема поддержки русского языка и ее решение

сли вы установили версию Oracle Database 10g Express Edition (Western European), то после установки базы у вас возникнет проблема с поддержкой русского языка: попытка ввода русскоязычных данных в таблицы будет происходить без ошибок, но символы будут отображаться как «?». Причину этого найти довольно просто при помощи запроса:

SELECT NAME, VALUE$, COMMENT$

FROM SYS.PROPS$

CONNECT SYS/пароль AS SYSDBA;

UPDATE SYS.PROPS$

SET VALUE$ = ‘CL8MSWIN1251’

WHERE NAME = ‘NLS_CHARACTERSET’;

COMMIT;

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER DATABASE OPEN;

ALTER DATABASE XE CHARACTER SET CL8MSWIN1251;

ALTER DATABASE XE NATIONAL CHARACTER SET CL8MSWIN1251;

SHUTDOWN IMMEDIATE;

STARTUP;

Данный скрипт модифицирует значение NLS_CHARACTERSET в таблице PROPS$ (что само по себе является некорректным действием), после чего фиксирует произведенное изменение, останавливает базу в режиме IMMEDIATE и перезапускает ее с включением режима RESTRICTED SESSION (в указанном режиме с базой могут работать только пользователи с привилегией RESTRICTED SESSION; перевод базы в этот режим необходим для выполнения ALTER DATABASE CHARACTER SET). Затем производятся открытие базы данных и модификация ее кодовой страницы, а после чего база перезапускается. После выполнения данного скрипта проблема с поддержкой русского языка исчезает. Важно отметить, что такие манипуляции допустимы только сразу же после установки (пока в базе нет объектов пользователя и данных) и могут производиться лишь на учебной базе. При установке Oracle Database 10g Express Edition (Universal) подобная проблема не должна возникнуть, так как в этом случае база хранит данные в формате Unicode. Однако Unicode-база медленнее работает со строками, а для хранения текстовой информации требуется вдвое больший объем. Данные проблемы возникают исключительно с Oracle XE, так как его старшие братья содержат средства для генерации базы, позволяющие настроить кодировку базы данных при ее создании.

Подготовка к работе

ледующим шагом является создание пользователей. В принципе, можно работать от имени пользователя SYS или SYSTEM, но настоятельно рекомендуем вам использовать данные учетные записи лишь для администрирования базы. По этой причине для дальнейших опытов создадим пользователей TESTER и SCOTT:

CONNECT SYS/пароль AS SYSDBA;

CREATE USER TESTER

IDENTIFIED BY tester

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP;

GRANT SELECT ANY TABLE TO TESTER;

GRANT CONNECT TO TESTER;

GRANT RESOURCE TO TESTER;

ALTER USER TESTER DEFAULT ROLE CONNECT, RESOURCE;

GRANT UNLIMITED TABLESPACE TO TESTER;

CREATE USER SCOTT

IDENTIFIED BY TIGER

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP;

GRANT CONNECT TO SCOTT;

GRANT RESOURCE TO SCOTT;

ALTER USER SCOTT DEFAULT ROLE CONNECT, RESOURCE;

GRANT UNLIMITED TABLESPACE TO SCOTT;

@C:\oraclexe\app\oracle\product\10.2.0\

server\RDBMS\ADMIN\scott.sql

Данный скрипт следует выполнять с помощью утилиты SQL Plus. В случае установки Oracle XE в отличную от C:\oraclexe папку необходимо изменить путь в последней строке скрипта. Пользователь SCOTT с паролем TIGER и принадлежащие ему объекты обычно используются для изучения Oracle, скрипт для создания этих объектов входит в дистрибутив и размещается в файле RDBMS\ADMIN\scott.sql.

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12


В настоящем обзоре мы рассмотрим модель моноблока от компании HP, которая является признанным лидером в производстве компьютеров как для домашнего использования, так и для офисов. Моноблок HP 205 G4 22 — модель нового семейства, которая построена на базе процессоров AMD последнего поколения и отличается неплохой производительностью вкупе с привлекательной ценой


Швейцарская компания Logitech G представила беспроводную игровую мышь Logitech G PRO X Superlight. Новинка предназначена для профессиональных киберспортсменов, а слово Superlight в ее названии указывает на малый вес этой модели, который не превышает 63 г. Это почти на четверть меньше по сравнению с анонсированным пару лет тому назад манипулятором Logitech G PRO Wireless


Как показало недавнее исследование Кембриджского университета — количество людей, которые пользуются сегодня криптовалютами, приближается к размеру населения небольшой страны и это только начало, мир меняется. Поэтому компания ASRock разработала и выпустила в продажу весьма необычную материнскую плату — H110 PRO BTC+, которую мы и рассмотрим в этом обзоре


Компания Rapoo анонсировала в Китае беспроводную клавиатуру Ralemo Pre 5 Fabric Edition. Новинка выполнена в формате TKL (без секции цифровых клавиш) и привлекает внимание оригинальным дизайном. Одна из отличительных особенностей этой модели — верхняя панель, обтянутая тканью с меланжевым рисунком


Линейку компьютерных мониторов MSI пополнила модель Optix MAG301 CR2, адресованная любителям игр. Она оборудована ЖК-панелью типа VA со сверхширокоформатным (21:9) экраном изогнутой формы (радиус закругления — 1,5 м). Его размер — 29,5 дюйма по диагонали, разрешение — 2560×1080 пикселов


Каталог продукции компании SilverStone пополнил комплект MS12. Он позволяет создать портативный накопитель на базе стандартного SSD типоразмера M.2 2280 с интерфейсом PCI Express


Компания ADATA Technology анонсировала твердотельные накопители серии XPG Spectrix S20G. Они предназначены для оснащения игровых ПК и, как утверждают их создатели, сочетают высокую производительность и эффектный внешний вид


Линейку видеоадаптеров ASUS на базе графических процессоров NVIDIA пополнила модель GeForce RTX 3070 Turbo (заводской индекс TURBO-RTX3070-8G), предназначенная для оснащения игровых ПК. Одной из особенностей новинки является конструкция системы охлаждения


КомпьютерПресс использует

Недавно я с удивлением обнаружил, что, оказывается, толковых туториалов по Oracle Application Express (он же APEX, он же апекс, но не путать с языком apex, который используется в Salesforce) в природе не существует.

Это не самая распространенная технология, конечно, но, тем не менее, довольно востребованная. Есть десятки блогов об апексе (англоязычные, в основном), пара тысяч вопросов на Stackoveflow, специальный раздел по апексу на официальных форумах оракла, сам апекс существует уже 15 лет и все время развивается. Я был уверен, что и хороших туториалов полно. Но нет!

Мне тут же пришла в голову гениальная мысль восполнить этот пробел.

Оглавление

Почему существующие туториалы — плохие

Я немного поясню, почему я считаю существующие туториалы плохими. Апекс — это не язык программирования, это такой очень высокоуровневый инструмент разработки, ближайшим идейным аналогом которого я бы назвал MS Access. Соответственно, большая часть разработки на апексе состоит из работы с веб-интерфесом этой среды: нажимания на кнопки, перехода по ссылкам, заполнение полей с названиями компоментов, выбора значений из списков и так далее. Что делает типовой туториал? Он показывает скриншоты этих самых экранов с подписями "нажмите туда-то". При этом сама IDE достаточно удобная и понятная, почти все элементы снабжены справочными пояснениями, есть встроенная помощь. В итоге, если нужно объяснить пользователю, как создать приложение, в туториале будет большой скриншот, объясняющий, как нажать на кнопку "Create a new app". Вот, посмотрите сами на официальный оракловый туториал:

Скриншот примера туториала по апексу

Они бы еще объяснили со скриншотами, что "клик" — это однократное нажатие на левую кнопку манипулятора типа "мышь".
Конечно, полезная информация в таких туториалах тоже есть, но ее там крохи. Процентов на 80 туториалы состоят из таких вот скриншотов, причем по своему опыту я могу сказать, что человек, не читавший никаких туториалов вообще, самостоятельно найдет, как создать приложение, добавить страницу, поместить на нее отчет и так далее. А потом ему нужно будет организовать более-менее нетривиальное взаимодействие нескольких элементов апекса, и оказывается, что этот вопрос туториалом почти не покрывается. Приведу аналогию: вы только-только учитесь программировать, изучили переменные, массивы, циклы, условия, и получили задание, в рамках выполнения которого вам нужно отсортировать массив. Как-то отсорировать массив — достаточно просто, но как только задание усложнится до "отсортировать большой массив быстро", окажется, что имеющихся у вас знаний недостаточно. Погуглив, покопав Stackoverflow и форумы, вы найдете алгоритм быстрой сортировки. Конечно, кто-то и сам переизобретет этот алгоритм рано или поздно, но более эффективным путем было бы сразу прочитать книжку с разбором типовых алгоритмов. И вот как раз такого набора "типовых алгоритмов" для апекса обычно нигде нет, а на помощь приходят те же самые метод научного тыка, поисковики, форумы и Stackoverflow (и, я надеюсь, этот туториал).

Вводная информация

Предполагается, что читатель знаком с Oracle Database версии хотя бы с 11-й, SQL, PL/SQL и особенно с тем, что такое EXECUTE IMMEDIATE и как оно работает.

Я начну с обзора наиболее часто используемых разделов IDE. Я тоже покажу несколько скриншотов. Куда же без них, раз всё здесь сделано из визуальных компонентов. Но их будет не так много, как в плохих туториалах, и в основном они будут в начальных главах, а дальше я буду просто указывать название раздела IDE, в котором находятся необходимые вещи. Сразу обращу ваше внимание, что это просто первое знакомство с IDE. Более подробная информация о том, когда на какую кнопку нажимать и где что смотреть, будет дана дальше, когда я перейду к конкретным темам.

Обзор IDE

Стартовый экран, который вы увидите сразу после входа в IDE:

Главные элементы здесь — это 4 большие кликабельные картинки:

  1. "App Builder": это, собственно, то место, где можно создавать приложения и где вы будете проводить до 99% времени.
  2. "SQL Workshop": заменитель обычной IDE для работы с СУБД Oracle. Там вы можете посмотреть объекты БД (таблицы, индексы, пакеты, и т. п.) и выполнять SQL-запросы. Если у вас есть возможность делать все это через "обычные" IDE (вроде Oracle SQL Developer или PL/SQL Developer) — делайте через них. Тем не менее, этот раздел тоже может быть полезен и о нем я тоже расскажу.
  3. "Team Development": инструменты для командной разработки. Честно говоря, я ни разу не видел, чтобы хоть кто-то ими пользовался на практике (включая меня). Любопытства ради я туда тоже заглядывал и совсем бесполезным этот раздел я бы не назвал, хотя и очень хочется.
  4. "App Gallery": раздел с демо-приложениями. К тому моменту, когда он появился, я уже неплохо знал апекс и почти не заглядывал туда, но начинающим, думаю, это будет полезно. Там много разных простеньких приложений, на их примере можно изучать, как использовать те или иные возможности.

В меню в самом верху страницы продублированы эти же 4 пункта.

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

Рассмотрим App Builder и SQL Workshop подробнее.

App builder

Эта страница выглядит примерно вот так:


Основные элементы этой страницы: четыре большие кнопки как на предыдущей странице, список уже имеющихся приложений, правая колонка со списком последних измененных приложений и дополнительными действиями. Четыре кнопки — это:

  1. "Create": создать новое приложение. Эта же функция продублирована чуть ниже (синяя кнопка "Create" над отчетом со списком приложений). Кнопка запускает мастер создания приложений.
  2. "Import": импортировать приложение. Апекс позволяет переносить приложения с одного сервера на другой в виде текстовых файлов (которые, по сути, являются длииииными PL/SQL скриптами с вызовами функций создания всех элементов приложения).
  3. "Dashboard": малополезное сборище статистики разработки приложений. Кто, когда, где, сколько изменений сделал. Думаю, даже вашему начальнику будет неинтересно туда смотреть.
  4. "Workspace Utilities": набор дополнительных инструментов для управления приложением. Честно говоря, туда я тоже почти не заглядываю.

Так же хочу обратить ваше внимание на вот такую маленькую кнопочку в панели отчета:

Переключатель вида отчета

Она переключает вид отчета с такого, как на скриншоте выше (с "картинками" приложений) на отчет в виде таблицы:

App builder в Oracle APEX

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

После того, как вы создадите приложение или откроете существующее, вы увидите следующую страницу (очень похожую на предыдущую по структуре):

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

  1. "Run Application": эта кнопка запускает ваше приложение. Оно откроется в отдельном окне. По умолчанию — именно в окне, а не во вкладке браузера, но это поведение настраивается (об этом позже).
  2. "Supporting Objects": этот раздел служит для решения вопросов, связанных с установкой, обновлением и удалением приложений. Обычно им почти не пользуются.
  3. "Shared Components": я бы сказал, это первый или второй по важности раздел IDE (еще один — редактор страниц). Если вы будете много разрабатывать на апексе, то очень скоро заметите, что выучили структуру этого раздела как "Отче наш".
  4. "Utilities": еще один набор (мало)полезных вспомогательных функций.
  5. "Export / Import": позволяет экспортировать или импортировать приложения или отдельные части приложения.

И две дополнительные кнопки, которые обведены оранжевой рамкой на скриншоте:

  1. Кнопка "Edit application properties". Нажав на нее, вы попадете на страницу настроек свойств приложения. Возможно, вы не будете заходить в этот раздел часто, но он очень важен, потому что там хранятся настройки приложения, от которых много чего зависит. Далее, если я буду упоминать где-то "свойства приложения" — ищите их в этом разделе.
  2. В кои-то веки полезная функция в правой панели: "Delete this Application". В то время как многие функции в апексе продублированы в разных местах, эта функция есть только здесь, и с непривычки первый раз ее найти сложно.
Application properties

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

Application properties

Настройки сгруппированы в 4 группы (см. верхнюю рамку), а в каждой группе есть еще по нескольку подгрупп (см. нижнюю рамку), у каждой группы есть свое название. Похожим образом настройки организованы в очень многих местах в апексе. В дальнейшем я буду просто указывать путь к нужной настройке примерно так: "Application Properties" → "Definition" → "Name" → "Version".

Также, если вы посмотрите на хлебные крошки вверху страницы, вы увидите, что там написано "Edit Application Definition", хотя заходили вы, казалось бы, в "Application Properties". Просто не обращайте внимания.

Shared Components

Shared Components — это наше всё. Этот раздел является промежуточным пунктом на пути к конкретным компонентам приложений. Покажу здесь общий вид, просто чтобы вы представляли, где что находится:

Shared Components

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

  1. "Application Logic": средства управления логикой приложения.
  2. "Security": вопросы безопасности и управления доступом к приложению целиком и к отдельным компонентам в зависимости от ролей пользователей.
  3. "Other Components": это "все остальные компоненты". По-хорошему, этому разделу следовало бы быть последним, но он почему-то здесь. А подпункт "List of Values" я бы вообще в Application Logic перенес.
  4. "Navigation": компоненты приложения для обеспечения навигации.
  5. "User Interface": настройка внешнего вида приложения, стилей и т. п.
  6. "Files": раздел для файлов (например, css или js). Незаменим, если у вас нет доступа к ОС, и все равно удобен, даже если доступ есть.
  7. "Data Sources": работа с источниками данных (для загрузки и выгрузки).
  8. "Reports": отчеты, очевидно.
  9. "Globalization": раздел для перевода приложений на другие языки.

Перевод приложений в апексе сделан просто ужасно (честно, я пытался придумать, как сделать его хуже — и не смог), и нет никаких свидетельств того, что в будущем станет лучше.
Ужасно с точки зрения архитектуры и удобства работы над переводом. Могу только сказать разработчикам: "Спасибо, что хотя бы без багов" (но тут как посмотреть: переводы устроены так, что некоторые особенности их работы мало чем отличаются от багов).
Приходится с этим жить.

Page Designer

Page Designer — редактор страниц. Это, наверное, главное место в IDE. Здесь вы будете создавать то, с чем напрямую взаимодействует пользователь, — страницы приложения. Здесь просто куча функций, почти как в кабине самолета. Чтобы попасть в Page Designer, нужно кликнуть по ссылке с названием страницы на странице приложения (извините за тавтологию). На скриншоте разноцветными рамками выделены основные составляющие редактора:

Page Designer

Панель кнопок вверху (в красной рамке):

  • Поле для ввода номера страницы, стрелки вверх и вниз и кнопка "Go": навигация по страницам приложения. Каждая страница имеет номер, тут вы можете либо ввести номер нужной страницы, либо стрелками перейти к следующей/предыдущей, либо нажать на самую левую кнопку и в появившемся модальном окне выбрать страницу из списка.
  • Кнопка с замком: позволяет заблокировать страницу от изменений другими разработчиками.
  • Кнопки Undo/Redo
  • Две кнопки с доступом к вспомогательным функциям.
  • Кнопка-ссылка на Shared Components. Полезная, потому что туда-сюда ходить приходится постоянно. (Я сам, правда, предпочитаю просто держать Shared Components в отдельной вкладке — так еще быстрее).
  • Кнопка "Save": сохраняет изменения на странице.
  • Кнопка "Run": "запускает" страницу, то есть вы ее видите так, как ее потом увидит пользователь.

Слева (в оранжевой рамке) — панель с компонентами страницы. В этой панели есть 4 закладки:

  • "Rendering": показывает, из каких составных частей состоит страница, какие процессы выполняются при рендеринге;
  • "Dynamic Actions": действия, выполняемые на клиенте (например, обработчики событий javascript);
  • "Processing": серверные процессы, связанные со страницей;
  • "Page Shared Components": для прямого перехода к используемым на странице общим компонентам (те самые Shared Components).

По центру (в зеленой рамке) — панель, содержащая много разнородной информации. В верхней части панели есть 5 закладок, на которых можно найти:

Также центральная панель имеет снизу еще одну дополнительную панель, которую можно использовать для быстрого добавления компонентов на страницу.

Справа (в синей рамке) — панель свойств. Тут все просто — она показывает свойства выбранного в данный момент компонента. Часть свойств компонентов — простые: текст, число, значение из списка. Но у более сложных свойств компонентов есть дополнительные интерфейсные возможности, сильно облегчающие жизнь при работе с ними.
Свойство, представляющее собой большой текст. Например, код на PL/SQL или JavaScript. Выглядит так:

Memo property screenshot

Можно писать код прямо так, в этом поле, а можно щелкнуть по кнопке вверху страва, и тогда откроется модальное окно с редактором кода, где доступны подсветка синтаксиса (для SQL, JavaScript, CSS, HTML), поиск в тексте и другие функции редактора.

Свойство — Shared Component. Если свойство является одним из компонентов приложения (Shared Component), то выбирать конкретный компонент можно из списка, а нажав на кнопку справа от списка

Go to Shared Components button

можно переместиться в раздел Shared Components непосредственно в свойства выбранного компонента (чтобы, например, их изменить).

Если у вас значение свойства выбирается из списка, иногда справа можно увидеть другую дополнительную кнопку:

quick pick

Она называется "Quick pick" и используется, когда вариантов очень много. "Quick pick" дает чуть более быстрый доступ к небольшому подмножеству вариантов — как правило, там находятся наиболее часто используемые варианты. "Часто используемые варианты" здесь — не вами используемые, а "вообще". Это жестко заданный список и со временем не меняется.

SQL Workshop

Как я уже говорил, SQL Workshop — это заменитель обычной IDE (если у вас по каким-то причинам нет возможности ее использовать).

SQL Workshop

Он состоит из 5 разделов:

  1. "Object Browser": браузер объектов БД (таблиц, пакетов, функций и процедур, индексов, сиквенсов и прочего);
  2. "SQL Commands": раздел, где можно выполнить любой SQL запрос или PL/SQL код;
  3. "SQL Scripts": здесь можно загрузить текстовый файл со скриптом и выполнить его;
  4. "Utilities": разные дополнительные возможности, связанные с БД: например, есть графический построитель запросов (но не только);
  5. "RESTful Services": создание REST сервисов. Апекс тоже имеет REST (причем давно, еще в версии 4.2 они уже были)!
Object Browser

Object Browser

Здесь есть все, что нужно для работы с объектами БД: создание, изменение, удаление, просмотр свойств объектов, ввод данных в таблицы — для всего этого в этом разделе есть графический интерфейс. Вверху слева в выпадающем списке можно выбрать тип объектов (на скриншоте показаны таблицы), вверху справа можно выбрать схему, объекты которой вы можете посмотреть. В списке доступных схем вы не увидите все схемы сразу — это нормально. Как сделать схемы видимыми в апексе, я расскажу, когда дойду до администрирования.
Также я не вижу большого смысла описывать этот раздел подробнее: если вы знаете, что значит фраза "добавить столбец в таблицу", вы без труда догадаетесь, когда вам нужно будет нажимать на кнопку "Add Column" и что вас может ждать дальше.

SQL Commands

В этом разделе можно выполнять SQL запросы и PL/SQL код.

SQL Commands

По возможностям этот раздел почти не уступает полноценным средам разработки. Не хватает разве что автодополнения кода и подсветки синтаксиса (а в Object Browser подсветка синтаксиса есть, кстати). Имеющиеся возможности:

  • выполнение SQL, в том числе с параметрами (для ввода значений параметров появится отдельное окно);
  • выполнение PL/SQL с возможностью вывода текста через dbms_output (вывод появится в окне ниже);
  • выполнение только выделенной части кода (выделить текст мышкой, затем "Run");
  • просмотр плана запроса;
  • сохранение запросов.

Это, как вы понимаете, далеко не всё, что есть в IDE APEX, но на данном этапе не имеет смысла углубляться дальше. Отдельные элементы интерфейса апекса будут разобраны более подробно в темах, которые имеют к ним непосредственное отношение.

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

В посте рассматривается способ разблокировки и доступа к учебному и тестовому пользователю (схемы) HR в базе данных Oracle Database 18c Express Edition. Рассмотрены следующие вопросы:

  • Краткий обзор Multitenant архитектуры
  • Разблокировка пользователя HR
  • Multitenant
  • Flashback Table
  • Flashback Database
  • Oracle Partitioning
  • In-Memory Column Store и Aggregation
  • Advanced Analytics и Security
  • Online Index Rebuild
  • Online Table Redefinition
  • Query Results Cache и PL/SQL Function Result Cache
  • Oracle Advanced Compression
  • Materialized View Query Rewrite
  • Oracle Spatial and Graph
  • Bitmap Indexes

Разблокировка пользователя (схемы) HR

Предполагается, что есть успешно установленная Oracle Database 18c Express Edition. При необходимости, можно установить Oracle Database 18c Express Edition используя следующие материалы: установка Oracle Database 18c Express Edition на Linux и установка Oracle Database 18c Express Edition на Windows. Нижеописанные шаги будут работать с Oracle Database 18c Express Edition, установленной, как на операционную систему Linux, так и на Windows.

Вариант разблокировки с помощью SQL*Plus.

Шаг 1. Подключение к CDB

Выполняется подключение к CDB с помощью пользователя sys с ролью as sysdba:

Подключение успешно прошло к CDB. Далее проверяется имя и идентификатор CDB.

Результат запроса показывает, что CDB имеет имя XE и ее уникальный идентификатор = 0. По умолчанию, после установки Oracle Database 18c Express Edition есть одна PDB с именем XEPDB1. Следующий запрос покажет существующие PDB.

Проверяется наличие пользователя HR в CDB.

Запрос не вернул данные. Это означает, что пользователя HR нет в CDB. Далее необходимо подключиться к PDB и найти там HR.

Шаг 2. Подключение к PDB

Есть два способа подключиться к PDB с использованием SQL*Plus.

Способ 1. Находясь в CDB, подключиться к PDB используя команду alter session. В примере ниже происходит переключение из сеанса CDB к PDB с именем XEPDB1:

Переключение прошло успешно. Для того, чтобы удостовериться в корректности подключения, проверяется имя и идентификатор PDB базы:

Запросы показывают характеристики существующей PDB (Шаг 1.).

Способ 2. Можно подключиться к PDB с консоли операционной системы, указав параметры подключения.

Ниже выполняется подключение к PDB под пользователем sys с указанием IP адреса сервера БД, порта и имени PDB (по умолчанию для созданной PDB (XEPDB1) используется порт 1539):

Подключение прошло успешно.

Для информации: Администраторы баз данных временами выполняют подключение к БД используя аутентификацию на уровне операционной системы с помощью команды sqlplus / as sysdba и без указания пароля. При запуске этой команды в среде с Multitenant архитектурой будет осуществлено подключение к CDB. Для того, чтобы напрямую подключиться к PDB минуя CDB, используется sqlplus / as sysdba и без указания пароля, также необходимо в переменную среду операционной системы добавить новый системный параметр ORACLE_PDB_SID и в его значении указать название PDB. Этот параметр для подключения к PDB без указания пароля могут осуществлять только пользователи sys и system. Остальные пользователи будут автоматически подключены к CDB, если не укажут параметры подключения к PDB. Ниже описываются шаги подключения к PDB для пользователя sys с применением параметра ORACLE_PDB_SID в переменной среде операционной системы. Это очень удобный способ для администраторов баз данных:

Подключение к PDB прошло успешно напрямую из операционной системы без указания пароля и параметров подключения PDB. Далее проверяется имя и идентификатор PDB.

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

Запускается запрос поиска пользователя HR среди всех существующих пользователей в XEPDB1:

Получен результат, подтверждающий наличие пользователя HR в PDB.

При помощи запроса определяется имя, статус и дата блокировки пользователя HR:

Шаг 3. Разблокировка пользователя HR

После установки Oracle Database 18c Express Edition учетная запись HR заблокирована и пароль у нее просрочен (необходимо задать новый пароль) (см. предыдущий шаг – Шаг 2.). В этом случае, система позволяет сделать запросы к объектам HR (таблицам, представлениям, функциям и т.п.) от имени других пользователей при наличии соответствующих привилегий. Например, при выполнении запроса на определение количества строк в таблице EMPLOYEES пользователя HR под пользователем SYS система успешно выдаст следующий результат:

Для пользователя HR назначается новый пароль:

При попытке подключения к PDB, не разблокировав пользователя, можно получить следующую ошибку:

Необходимо заново подключиться к PDB под пользователем sys:

и разблокировать пользователя HR следующей командой:

Операции назначения пароля и разблокировки пользователя HR прошли успешно. Проверяется статус пользователя:

Пользователь HR разблокирован и новый пароль активен. Это означает, что теперь можно подключиться к PDB с именем XEPDB1 под учебным тестовым пользователем HR и начать работу.

Шаг 4. Подключение к PDB с учетной записью HR.

Используя данные для подключения к PDB, выполняется вход систему под учетной записью HR и запускается запрос для определения количества строк в его таблице EMPLOYEES.

На этом завершается определение наличия пользователя, назначение ему пароля и разблокировка HR в PDB Oracle Database 18c Express Edition, а также выполнение запроса к его объекту с помощью SQL*Plus.

Вариант разблокировки с помощью SQL Developer.

Шаг 1. Подключение к CDB

Для этого создается новое подключение в SQL Developer и указываются необходимые параметры подключения к CDB, такие как:

Name: XE_18c
Указывается имя соединения, которое позволяет однозначно идентифицировать CDB при подключении.

IP: 192.168.0.1
IP адрес сервера БД.

Port: 1539
Порт подключения к БД.

SID: XE
SID или имя CDB.

Username: sys
Указывается имя пользователя для подключения к БД.

Role: SYSDBA
Подключение к БД осуществляется пользователем sys. Данный пользователь может подключиться только с ролью SYSDBA.

Password:
Пароль пользователя sys, который был назначен во время установки базы данных.


После нажатия Connect произойдет успешное подключение к CDB с именем XE. Далее проверяется имя, идентификатор и версия CDB, а также выводятся существующие PDB.


Как и ожидалось, выведенные выше данные идентичны полученным с помощью SQL*Plus.

Далее проверяется наличие пользователя HR в CDB.


Запрос не вернул данные, это означает, что пользователя HR нет в CDB. Теперь необходимо подключиться к PDB и проверить наличие HR в PDB.

Шаг 2. Подключение к PDB

Создается новое подключение в SQL Developer и указываются необходимые параметры подключения к подключаемой базе данных XEPDB1, такие как:

Name: XEPDB1_18c
Указывается имя соединения, которое позволяет однозначно идентифицировать PDB при подключении.

IP: 192.168.0.1
IP адрес сервера БД.

Port: 1539
Порт подключения к БД.

SID: XEPDB1
SID или имя PDB.

Username: sys
Указывается имя пользователя для подключения к БД.

Role: SYSDBA
Подключение к БД осуществляется пользователем sys. Данный пользователь может подключиться только с ролью SYSDBA.

Password:
Пароль пользователя sys, который был назначен во время установки базы данных. Пользователи sys и system могут подключиться с одним и тем же паролем и к CDB и к PDB.


После нажатия Connect произойдет успешное подключение к подключаемой БД XEPDB1. Далее проверяется имя и идентификатор.


Результаты показывают, что было подключение к PDB с именем XEPDB1 и идентификатором 3. Определяется наличие пользователя HR в этой PDB. В иерархии дерева надо выбрать «Other Users» в соединении с именем XEPDB1_18c как показано на скриншоте:


В списке пользователей необходимо найти пользователя HR и нажать на правую кнопку. Из контекстного меню выбрать «Edit User». Откроется новое модальное окно «Edit User» как показано на скриншоте. Как видно на скриншоте учетная запись HR заблокирована (Account is Locked) и пароль у нее просрочен (Password Expired):


Шаг 3. Разблокировка пользователя HR:

В продолжение предыдущего шага необходимо:

  1. Задать идентичный пароль в полях New Password (новый пароль) и Confirm Password (подтвердить пароль).
  2. Снять галочку из пункта Password Expired (user must change next login).
  3. Снять галочку из пункта Account is Locked для разблокировки пользователя.
  4. Нажать Apply.

Пользователь HR разблокирован и ему назначен пароль. Это означает, что теперь можно подключиться к PDB с именем XEPDB1 под учебным тестовым пользователем HR и начать работу.

Шаг 4. Подключение к PDB с учетной записью HR.

Создается новое подключение в SQL Developer и указываются необходимые параметры подключения к подключаемой базе данных XEPDB1 с пользователем HR, такие как:

Name: XEPDB1_18c_hr
Указывается имя соединения, которое позволяет однозначно идентифицировать PDB при подключении с пользователем HR.

IP: 192.168.0.1
IP адрес сервера БД.

Port: 1539
Порт подключения к БД.

SID: XEPDB1
SID или имя PDB.

Username: HR
Указывается имя пользователя для подключения к БД.

Role: default
Подключение к БД осуществляется пользователем HR. Данный пользователь не может использовать роль SYSDBA.

Password:
Пароль, который был назначен пользователю HR на третьем шаге, то есть hr.


После нажатия Connect произойдет успешное подключение к PDB с именем XEPDB1 под пользователем HR. Выполняется запрос для определения количества строк в таблице EMPLOYEES:


На этом завершается определение наличия пользователя, назначение ему пароля и разблокировка HR в PDB Oracle Database 18c Express Edition, а также выполнение запроса к его объекту с помощью SQL Developer.

Oracle Database Express Edition это бесплатная редакция системы для управления базами данных.

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

Oracle является известной в мире компанией, которая разрабатывает программное обеспечение для организаций.

Что такое Oracle Database Express Edition

Основным направлением

работы является разработка систем управления базами данных, например Oracle Database. Oracle Database реляционная система управления базами данных, которые используют крупнейшие компании во всём мире, чтобы хранить информацию.

Каждая версия Oracle Database имеет номер версии и букву. Например, в 2018 году вышла версия 18с, сейчас пользователи могут работать с версии 19с. Это система управления базами данных помогает пользователям работать на разных платформах, например Windows, Linux или, мак.

Это стандартная редакция, где есть средства

Для работы в Oracle Database используется язык программирования PL/SQL, его также разработала компания oracle.

Редакции Oracle Database

Есть несколько вариантов, которыми можно пользоваться локально и в облаке.

Oracle Database Standard Edition 2 (SE2)

Это стандартная редакция, где есть средства, которые нужны для приложений бизнеса. Однако эта редакция не содержит кластеризацию Oracle Real Application Clusters (Oracle RAC).

Oracle Database Enterprise Edition (EE)

Эту редакцию пользователи ценят за производительность, доступность, масштабируемость и безопасность в процессе разработки приложений. Разрабатываются пользователями различные приложения, такие, как хранилища данных с частыми запросами, приложения для интернета, также приложения для обработки больших объемов операций.

В Oracle Database Enterprise Edition есть все компоненты Oracle Database, но пользователь может дополнительно расширить с помощью приобретения опций и пакетов.

Oracle Database Enterprise Edition on Engineered Systems (EE-ES)

Это Специальная редакция. Используется для установки в локальной системе Oracle Exadata Database Machine. Пользователь может дополнительно расширить с помощью приобретения опций и пакетов.

Oracle Database Personal Edition (PE)

Данная редакция поддерживает однопользовательские среды разработки и развертывания, в которых нужна полная совместимость с Oracle Database Standard Edition 2 и Enterprise Edition.

В редакции есть все компоненты и опции, кроме опции Oracle RAC One Node и Oracle Real Application Clusters.

Oracle Database Express Edition (XE)

Oracle Database Express Edition является бесплатной редакцией, пользователь может ее использовать для обучения или для разработки маленьких приложений.

Также у данной редакции есть много ограничений, и в части функциональности, и в объеме использования ресурсов.

Для работы в Oracle Database используется язык программирования PL/SQL,

Cloud

Помимо редакций, которые устанавливаются локально, есть еще и облачные редакции:

Oracle Database Cloud Service Standard Edition (SE)

Oracle Database Cloud Service Enterprise Edition (EE)

Oracle Database Cloud Service Enterprise Edition – HP (DBCS EE-HP)

Oracle Database Cloud Service Enterprise Edition – Extreme Performance (DBCS EE-EP)

Oracle Database Exadata Cloud Service (ExaCS)

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

Oracle Database Express Edition

Является бесплатной редакцией системы управления базами данных. У данной редакции хороший функционал. Подойдет для компаний, которые начинают свой путь.

Есть у редакции и ограничения по функциональности, в объеме использования ресурсов. Размер баз данных ограничен 12 ГБ, а поддержка возможна только в формате онлайн-форума.

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

Читайте также: