Oracle 19 что нового

Обновлено: 25.06.2024

Возможно, что сказывается общее еще непонимание этой версии, но на данный момент мне Oracle 19 не нравится. Какие-то совершенно неоправданные и непонятные косяки, при том, что обновляюсь я уже далеко не в первый раз. С самого начала не понравилось, что традиционное разархивирование дистрибутива загадило мне весь хомяк, поскольку вопреки традициям он не лежит в ./database, а вываливает все в текущую директорию. Второе, на чем я серьезно влип - процесс установки, не смейтесь, но каждый раз после нее я искал $ORACLE_HOME, который, почему-то, несмотря на тщательную проверку, ставился вообще не туда, куда просили, а один раз вообще поставился в директорию с дистрибутивом. Допускаю, что это потому, что я его ставил вместе с 11 версией на один хост.
Само обновление проходит без особых граблей, хотя я настоятельно рекомендую отключить по ходу процесса компиляцию инвалидов и сделать ее самостоятельно. У меня разрабы в базу инвалидов насовали много и в итоге процесс компиляции затянулся на 8 часов.

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

можете заранее. Обратите внимание CATNOAMD.SQL DOES NOT DROP OLAPSYS USER IN 11.2.0.4 (Doc ID 1900113.1), суть дока, что надо грохнуть его руками.

EM можете сразу убить (если не сделали это еще раньше) для этого возьмите файлик @?/rdbms/admin/emremove.sql из установленной 19 версии и положите его в установленную 11, где все еще работает база, сделайте из 11

Да, без этого дальше не пройдете, это ошибкой оформляется.
Не увлекайтесь параллельным выполнением задач (лучше обойдитесь без этого) и убедитесь, что хватает количества процессов и памяти для обновления. Мне с параллельными 300 процессов не хватило.
Как и следует ленивому человеку, делал все через dbua, процедура даже на мощном серваке занимает около 45 минут минимум. Основное, что у меня пробуксовывало - проц на одном ядре. Еще очень подленькая особенность, если кто-то страдает через Xming, диалоговые окна подныривают под основное, смотрите за панелью задач.

Oracle Database 19c предлагает ряд важных инноваций

Новая версия Oracle Database 19c является финальным релизом семейства продуктов 12c и 18с с долгосрочной поддержкой. Многие клиенты ждали появления 19c, чтобы перейти на нее с Oracle Database 11g или Oracle Database 12c. Хотя ключевой целью Oracle Database 19c является стабильность, она предлагает впечатляющий набор инноваций.

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

Эта функция будет прекрасно работать и с базой данных, для которой индексы уже построены. В этом случае автоматическое индексирование может помочь в тонкой настройке набора индексов в БД. После создания индексов база данных постоянно проверяет их использование и удаляет ненужные. Это важно, потому что с течением времени индексы накапливаются – крупные коммерческие приложения, работающие с Oracle Database, могут создавать за годы использования тысячи таких индексов.

Active Data Guard DML Redirect. Эта новая возможность Oracle Database 19c помогает эффективнее использовать резервную базу данных – зеркальную копию рабочей базы данных, предназначенную для аварийного восстановления.

Чтобы помочь клиентам эффективнее ее использовать, в Oracle Database 11g корпорация Oracle предложила опцию Oracle Active Data Guard, с помощью которой можно открывать резервную базу данных на чтение, создавать на ней отчеты и выполнять бэкапы.

В Oracle Database 19c реализована важная дополнительная возможность Active Data Guard DML Redirect, которая позволяет изменять данные в резервной базе данных. Active Data Guard DML Redirect работает одинаково хорошо при размещении резервной базы данных как в локальной среде, так и в облаке, а также когда и основная, и резервная базы данных выполняются в облачной среде.

Гибридные секционированные таблицы (Hybrid Partitioned Tables) позволяют совмещать в рамках одной таблицы как секции, которые находятся внутри стандартного табличного пространства, так и секции, которые размещаются на внешних дешевых системах хранения вне базы данных.

Поддержка JSON появилась еще в Oracle Database 12c, где было реализовано нативное хранилище документов JSON и SQL-доступ. Она получила дальнейшее развитие в версии 18c с внедрением высокопроизводительной аналитики для документов JSON . В Oracle Database 19c корпорация Oracle улучшила поддержку JSON. Для разработчиков все стало еще проще.

Кроме того, в Oracle Database 19c появилась поддержка интерфейсов прикладного программирования Simple Oracle Document Access (SODA) для Java, Python, C и Node.js.

Общая производительность витрины данных или хранилища данных может резко упасть при частом выполнении запросов с очень высокими требованиями к ресурсам ЦПУ и вводу-выводу. СУБД Oracle Database 19c может автоматически помещать эти запросы в карантин (Query Quarantine) и блокировать их выполнение, если уровень потребления ресурсов превосходит заданные для них пороговые значения.



Сучкова Елена Анатольевна Начальник отдела обучения информационных технологий
Целевая аудитория
Профессиональные разработчики PL/SQL запросов и модулей, которые будут использовать новые возможности сервера базы данных 19с
Необходимая подготовка: знание PL/SQL, основы настройки и функционирования сервера базы данных в объеме моего курса «Профессиональный SQL и PL/SQL». Стандартные курсы Oracle SQL и PL/SQL, основы Java, основы оптимизации SQL запросов, работа с планами выполнения SQL запросов.
Программа

Архитектура сервера с точки зрения разработчика запросов.

  • Несколько баз данных в одном контейнере, которые используют общие ресурсы сервера.
  • Корневая и подключаемая база данных. Принципы взаимодействия.
  • Пример создания и подключения базы данных к общему контейнеру. Клонирование базы данных для проведения тестов разработчика.
  • Триггеры или команды для автоматического запуска подключаемых баз данных
  • Архитектура используемой памяти сервером. Новые разделы памяти. InMemory область для работы с таблицами в памяти. Сравнение с областью ResultCache.
  • Глобальные и локальные пользователи. «Перемещение» сессий пользователя между схемами в подключаемых базах данных.

Порядок выполнения SQL запросов

  • Построение плана запроса. Адаптивные планы и адаптивные статистики. Изменение плана выполнения запроса в процессе его выполнения. Параметры базы данных, воздействующие на адаптивные планы и адаптивные статистики.
  • Result Cache и таблицы InMemory - сравнение. Индексы и InMemory таблицы - когда что использовать. Особенности подготовки сервера для работы с таблицами в памяти. Сравнение доступа к таблицам InMemory и к таблицам, запросы к которым используют индексы.
  • Особенности 19с при работе с индексами. Несколько индексов для одной колонки. Невидимые индексы. Подсказки оптимизатору для работы с невидимыми индексами.

Новые особенности 12с при построении таблиц.

  • Расширение типа данных varchar2 до 32к.
  • Невидимые колонки. Виртуальные колонки. Идентификационные колонки. Использование детерминированных функций в виртуальных колонках.
  • Автоматическое управление индексами
  • Версии функций и вычисляемые колонки таблиц на практических примерах. Подготовка сервера базы данных для работы с вычисляемыми колонками.
  • Сокрытие информации в колонках от непривилегированных пользователей. Пакет dbms_redact на практических примерах. Определение и перераспределение политик доступа к информации в колонках таблиц.
  • ILM и ADO механизмы сервера для управления жизненным циклом данных. Механизмы для архивации.
  • Перевод таблицы в режим архивации строк. Управление сессией пользовательского процесса для отображения или сокрытия архивированных строк. ILM-ADO механизмы для управления партициями таблиц - обзор.
  • Партиционные, интервально - ссылочные таблицы, создание и управление. Локальные индексы для партиций, включение и отключение части локального партиционного индекса. Каскадное удаление данных в ссылочных партиционных таблицах. Упраление партиционными сегментами.

Выполнение SQL запросов.

  • Боковые запросы и транзитивная передача параметров в подзапросы. Передача параметров в PipeLined процедуры в подзапросах. OuterJoin и передача параметров.
  • Ограничение количества возвращаемых строк из запросов - Fetch size, SizeOf, Sample и другие возможности в управлении количеством обрабатываемых строк.
  • PL/SQL функции и процедуры в SQL запросах. Сравнение вызовов с использованием java клиента. Различия между встроенными функциями и InLine функциями в SQL запросах.
  • Динамический SQL и возвращение результатов из хранимых процедур и функций - пример java клиента
  • Назначение полномочий на использование таблиц через роли для PL/SQL модулей. Представления и PL/SQL модули с правами вызывающего.
  • JSON в базе данных. Функции для извлечения информации из JSON документов. Ограничения на CLOB поля в таблицах для проверки целостности хранения JSON данных. Преобразование JSON данных к реляционным аналогам и обратно.
Преподаватели


Преподаватель Академии Информационных Систем в области информационных технологий

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


Основные направления, читаемых курсов:
Разработка программного обеспечения для сервера базы данных Oracle, с использованием языков программирования PL/SQL и Java.
Разработка серверных приложений в технологии JEE — SOA, WEB - React, Angular, Сервера баз данных Oracle и Postgresql - администрирование и разработка, оптимизация SQL запросов, разработка Отчетов и аналитика - Oracle BI, Администрирование серверов приложений - Oracle Weblogic, IBM Sphere, Redhat JBoss-Wildfly

Oracle Database

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

Oracle Database

Oracle Database — это объектно-реляционная система управления базами данных (RDBMS или Relational DataBase Management System). Многие крупнейшие компании мира в качестве системы хранения баз данных выбирают именно Oracle Database.

В названии каждой версий Oracle Database мы наблюдаем номер версии и букву, например 11g, где g – это «grid» или сеть, символизируя тем самым поддержку grid-вычислений.

В 2013 году вышла версия 12c, где c означает cloud (облако).

В 2018 году вышла версия 18c, а на текущий момент активно используется версия 19с, которая вышла в 2019 году.

Данная СУБД поддерживает работу на многих платформах, включая: Linux, Windows, Oracle Solaris, Mac OS X Server и т.д.

В Oracle Database используется язык программирования PL/SQL (Procedural Language / Structured Query Language) — это расширение языка SQL, которое разработала компания Oracle.

Редакции Oracle Database

У компании Oracle есть несколько предложений в отношении продукта Oracle Database, при этом есть редакции, которые можно использовать локально (On-Premise) и в облаке (Cloud).

Давайте коротко рассмотрим эти редакции.

On-Premise

Oracle Database Standard Edition 2 (SE2)

Стандартная редакция, включающая в себя все средства, необходимые для создания критически важных бизнес-приложений. Данная редакция не поддерживает кластеризацию Oracle Real Application Clusters (Oracle RAC).

Примечание. Oracle Database Standard Edition 2 доступна, начиная с Oracle Database 12 c Release 1 (12.1.0.2). Для версии 12.1.0.1 доступны Oracle Database Standard Edition One и Oracle Database Standard Edition.

Oracle Database Enterprise Edition (EE)

Oracle Database Enterprise Edition обеспечивает производительность, доступность, масштабируемость и безопасность для разработки приложений, таких как: приложения для обработки больших объемов транзакций (OLTP), хранилища данных с интенсивными запросами и требовательные интернет-приложения.

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

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

Специальная редакция для установки в локальной системе Oracle Exadata Database Machine или Oracle Database Appliance.

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

Политики лицензирования EE-ES различаются в зависимости от того, установлена ли она на Oracle Exadata Database Machine или Oracle Database Appliance.

Oracle Database Personal Edition (PE)

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

Данная редакция включает в себя все компоненты и опции, входящие в Enterprise Edition, за исключением опции Oracle RAC One Node и Oracle Real Application Clusters, которые нельзя использовать с Personal Edition. Кроме этого пакеты управления Oracle также не получится использовать с редакцией Personal Edition.

Oracle Database Express Edition (XE)

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

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

Кроме этого, поддержка предоставляется только на онлайн-форуме.

Cloud

Кроме редакций, которые можно установить локально, есть еще и несколько облачных редакций:

  • Oracle Database Cloud Service Standard Edition (DBCS SE)
  • Oracle Database Cloud Service Enterprise Edition (DBCS EE)
  • Oracle Database Cloud Service Enterprise Edition – High Performance (DBCS EE-HP)
  • Oracle Database Cloud Service Enterprise Edition – Extreme Performance (DBCS EE-EP)
  • Oracle Database Exadata Cloud Service (ExaCS)

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

Ну а мы перейдем к знакомству с редакцией Oracle Database Express Edition (XE), которую можно использовать абсолютно бесплатно.

Oracle Database Express Edition (XE)

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

Oracle Database Express Edition (XE)

Данная редакция хоть и бесплатна, но обладает достаточно хорошим функционалом, это и Oracle Database In-Memory, и секционирование, функционал для аналитики и безопасности данных и многое другое.

Иными словами, не нужно думать, что в этой редакции нет никакого функционала, он есть, и может удовлетворить многие предприятия. Безусловно, для крупных компаний данная редакция не подойдет, но для компаний, которые только стартуют, Oracle Database Express Edition будет неплохим выбором, а если вдруг компания вырастет и ей нужно будет масштабироваться, то она легко может перейти на более функциональные редакции Oracle Database, и тем самым получать регулярные исправления и круглосуточную поддержку.

Ограничения редакции Oracle Database Express Edition (XE)

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

  • Размер баз данных до 12 ГБ
  • Объем оперативной памяти, который может быть задействован, 2 ГБ
  • До 2 потоков CPU
  • До 3 подключаемых баз данных
  • Поддержка только в формате онлайн-форума

Для чего можно использовать Oracle Database Express Edition (XE)

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

Для разработки приложений

Если Вы планируете разрабатывать различные приложения для клиентов, при этом эти приложения должны иметь возможность хранения и обработки данных, то в качестве системы хранения данных Вы можете использовать бесплатную редакцию Oracle Database Express Edition (XE) и тем самым снижать стоимость своего продукта и, как следствие, первоначальные расходы своих клиентов.

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

Для хранения и анализа небольших данных

Если в Вашей компании возникла необходимость в хранении, обработке и анализе данных, при этом текущая информационная система не обладает теми преимуществами, которыми обладает реляционная система управления базами данных, то Вы можете использовать бесплатную редакцию Oracle Database Express Edition (XE) и тем самым хранить какую-то часть данных в реляционном виде и решать определенные задачи.

Для изучения языка SQL

Если Вы хотите изучить язык SQL, то Вам обязательно необходима площадка для обучения, где бы Вы смогли практиковаться и решать различные задачки.

Однако для таких целей покупать целую систему управления базами данных, конечно же, не стоит, да и не требуется, так как есть бесплатные системы, которые отлично справятся с такой ролью. В число таких систем входит как раз Oracle Database Express Edition (XE), которую можно использовать для изучения языка SQL или языка PL/SQL, который является процедурным расширением языка SQL в Oracle Database.

Например, если Вы планируете устроиться в компанию, где используется Oracle Database и требуются знания языка SQL, или Вы уже работаете в такой компании и Вам предстоит работать с этой системой, то Вы можете абсолютно свободно установить Oracle Database Express Edition (XE) к себе на домашний компьютер с целью изучения языков SQL и PL/SQL.

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.

Для тестирования функционала Oracle Database

Безусловно, данную редакцию не стоит рассматривать в качестве системы хранения данных для крупных Enterprise проектов, так как ограничения этой редакции не позволят Вам в полном объёме использовать возможности и функционал этой системы.

Однако, крупные компании перед покупкой лицензии, с целью тестирования функционала системы, планирования инфраструктуры, а также тестирования приложений, могут абсолютно свободно использовать для таких задач бесплатную редакцию Oracle Database Express Edition (XE).

Для реализации разовых проектов

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

Например, у меня как-то раз стояла задача мигрировать данные с Microsoft SQL Server в Oracle Database, дело в том, что компания внедряла новую информационную систему, разработкой которой занимался подрядчик, и этому подрядчику необходимо было предоставлять данные из нашей прежней системы в формате дампа Oracle Database.

Но, как было уже отмечено, наша система работала с Microsoft SQL Server, поэтому чтобы представлять данные в формате дампа Oracle, мне пришлось установить бесплатную редакцию Oracle Database Express Edition (XE), загружать данные с Microsoft SQL Server в эту промежуточную систему, и затем выгружать данные в дамп.

Подробно о том, как создать дамп базы данных Oracle Database, я рассказывал в материале – Экспорт и импорт дампа базы данных Oracle с помощью утилит expdp и impdp.

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

На сегодня это все. В следующих материалах мы продолжим знакомство с Oracle Database Express Edition (XE) и начнем с рассмотрения процесса установки, поэтому следите за выходом новых статей в моих группах в социальных сетях: ВКонтакте, Facebook, Одноклассники, Twitter и Tumblr. Подписывайтесь, и Вы не пропустите выход нового материала!

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