Разработчики: | Oracle |
Дата последнего релиза: | 2019/04/29 |
Технологии: | СУБД |
Oracle Database - объектно-реляционная система управления базами данных компании Oracle.
СУБД Oracle имеет большое количество различных версии и типов.
Хроника
2021: Выпуск СУБД Oracle Database 21c
13 января 2021 года компания Oracle анонсировала доступность СУБД Oracle Database 21c - актуальной версии конвергентной базы данных. Oracle Database 21c теперь доступна в Oracle Cloud, включая бесплатный облачный сервис Always Free Tier для автономной базы данных Oracle Autonomous Database. Oracle Database 21c включает более 200 возможностей, в том числе поддержку неизменяемых блокчейн-таблиц, встроенную в СУБД поддержку языка программирования JavaScript, поддержку типа данных JSON в бинарном формате, который встроен в БД, автоматизированное машинное обучение (AutoML) для машинного обучения в базе данных (ML) и поддержка энергонезависимой памяти (Persistent Memory), а также усовершенствования в технологии Oracle Database in-Memory, производительности обработки геоинформации, шардинге, технологии подключаемых баз данных (pluggable database) и безопасности. Подробнее здесь.
2020: Добавление в TranzAxis поддержки Oracle Standard Edition
9 октября 2020 года стало известно, что Compass Plus добавил в свою открытую программную платформу TranzAxis, оптимизированную для работы в облаке, поддержку Oracle Standard Edition. Подробнее здесь.
2019
Исправление 10 уязвимостей
17 октября 2019 года стало известно, что компания Oracle исправила 219 опасных уязвимостей в разных линейках продуктов. Oracle Database получила 10 исправлений.Подробнее здесь.
Обзор ключевых функций Oracle Database 19c
25 апреля 2019 года стало известно о том, что корпорация Oracle представила ключевые функции, включенные в Oracle Database 19c. Сама версия была представлена на Oracle Live SQL в начале 2019 года.
Функция Automatic Indexing создает индексы автоматически с использованием алгоритмов машинного обучения, причем, как показали тесты, она часто справляется с этой задачей лучше, чем человек.
«Эта база данных может сама определить оптимальный набор индексов. При их создании учитываются структура данных, сами данные и запросы. Это означает, что базу данных можно создать и начать использовать вовсе без каких-либо индексов или с очень небольшим набором индексов. База данных проанализирует ресурсоемкие запросы, чтобы понять, какие индексы потенциально нужны, проверит полезность отобранных кандидатов, а затем сама построит индексы, причем все это займет меньше времени, чем создание индексов вручную». Доминик Джайлс, главный менеджер Oracle по продуктам Oracle Database |
Эта функция будет работать и с базой данных, для которой индексы уже построены. В этом случае автоматическое индексирование может помочь в тонкой настройке набора индексов в БД. После создания индексов база данных постоянно проверяет их использование и удаляет ненужные. Это важно, потому что с течением времени индексы накапливаются — крупные коммерческие приложения, работающие с Oracle Database, могут создавать за годы использования тысячи таких индексов.
«Часто они создаются для отчетов или пакетных заданий, в которых уже больше нет нужды. Это не так безобидно, поскольку индексы увеличивают потребность базы данных в вычислительных ресурсах и ресурсах хранения». Доминик Джайлс |
Эта возможность Oracle Database 19c помогает эффективнее использовать резервную базу данных, зеркальную копию рабочей базы данных, предназначенную для аварийного восстановления. «Группа Астра» в свободном доступе опубликовала курс по российской службе каталога ALD Pro для обучения администраторов
Для этого в Oracle Database 11g корпорация Oracle предложила опцию Oracle Active Data Guard, с помощью которой можно открывать резервную базу данных на чтение, создавать на ней отчеты и выполнять бэкапы. В Oracle Database 19c реализована дополнительная возможность Active Data Guard DML Redirect, которая позволяет изменять данные в резервной базе данных.
«Одна из причин такого нововведения в том, что многим приложениям при создании отчетов требуется не только читать данные, но и делать некоторые записи в базе данных. С помощью Active Data Guard DML Redirect операции записи немедленно и прозрачно перенаправляются в первичную базу данных и после занесения в нее реплицируются в резервную БД. С точки зрения пользователя это выглядит так, как будто он обновляет данные в резервной базе данных». Доминик Джайлз |
Active Data Guard DML Redirect работает одинаково качественно при размещении резервной базы данных как в локальной среде, так и в облаке, а также когда и основная, и резервная базы данных выполняются в облачной среде.
Гибридные секционированные таблицы (Hybrid Partitioned Tables) позволяют совмещать в рамках одной таблицы как секции, которые находятся внутри стандартного табличного пространства, так и секции, которые размещаются на внешних дешевых системах хранения вне базы данных.
Все возможности аналитики СУБД Oracle можно использовать тогда, когда данные размещены на внешней недорогой системе хранения. Эти системы хранения данных могут располагаться как в локальном ЦОД клиента, так и в облаке. Некоторые секции таблицы, размещенные в БД вашего ЦОД, могут лежать в облаке. Данные вне базы данных Oracle доступны только для чтения и не нуждаются в регулярном бэкапе, но к ним можно обращаться из Oracle Database.
Поддержка JSON появилась еще в Oracle Database 12c, где было реализовано нативное хранилище документов JSON и SQL-доступ. Она получила дальнейшее развитие в версии 18c с внедрением аналитики для документов JSON.
В Oracle Database 19c появилась поддержка интерфейсов прикладного программирования Simple Oracle Document Access (SODA) для Java, Python, C и Node.js.
«Вы можете работать с широким спектром API-интерфейсов NoSQL, которые получают строки из документов JSON в базе данных. Общая производительность витрины данных или хранилища данных может резко упасть при частом выполнении запросов с очень высокими требованиями к ресурсам ЦПУ и вводу-выводу. СУБД Oracle Database 19c может автоматически помещать эти запросы в карантин (Query Quarantine) и блокировать их выполнение, если уровень потребления ресурсов превосходит заданные для них пороговые значения». Доминик Джайлс |
Oracle Database обеспечивает стабильность приложений и локальных инсталляций баз данных.[1]
«Стабильность является целью Oracle Database 19c — это релиз с долгосрочной поддержкой. Циклы обновления локальных СУБД у наших клиентов достаточно длительные, и многие клиенты ждали релиз Oracle Database 19c, чтобы перейти на него с Oracle Database 11g или Oracle Database 12c». Доминик Джайлс |
2018: Amazon хочет отказаться от ПО Oracle. Ларри Эллисон говорит, что это невозможно
7 августа 2018 года соучредитель Oracle Ларри Эллисон прокомментировал слухи о планах Amazon отказаться от использования программного обеспечения Oracle. По словам бизнесмена, Amazon едва ли сможет это сделать, поскольку раньше это не получилось ни у самой компании, ни у конкурентов Oracle. Подробнее здесь.
2015: Облачная платформа Oracle Database Cloud
18 ноября 2015 года корпорация Oracle выпустила продукты Oracle Database Cloud, дополняющие портфолио сервисов Oracle Cloud Platform для разворачивания в облаке надежных, масштабируемых, защищенных решений и приложений, основанных на базах данных.
Представление Oracle Database Cloud (2015)
Теперь доступны критически важные возможности:
- кластеризация для обеспечения отказоустойчивости и масштабируемости по требованию,
- аварийное восстановление с нулевыми потерями данных
- сервис Oracle Database Exadata Cloud Service.
Oracle также представила бесплатный сервис, позволяющий администраторам баз данных и разработчикам испытать возможности Oracle Database в среде Oracle Cloud без финансовых затрат и рисков.
Возможности Oracle Database Cloud:
- Платформа для критически важных приложений: Сервис Oracle Database Exadata Cloud Service обеспечивает непревзойденную масштабируемость, производительность и доступность Oracle Database. Предприятия могут в полной мере использовать преимущества Oracle Exadata Database Machine для выполнения критически важных приложений и консолидации баз данных в среде Oracle Cloud.
- Доступность и масштабируемость: предприятия могут эффективно использовать решение Oracle для кластеризации баз данных в облачной среде. Продукт Oracle Real Application Clusters, входящий в состав Oracle Database Cloud Service и Oracle Database Exadata Cloud Service, обеспечивает масштабируемость по требованию и отказоустойчивость баз данных.
- Аварийное восстановление: теперь можно развернуть облачное решение для аварийного восстановления в реальном времени, которое защищает базы данных Oracle в случае сбоя на уровне площадки или региона. Продукт Oracle Active Data Guard, входящий в состав Oracle Database Cloud Service и Oracle Database Exadata Cloud Service, обеспечивает непрерывную репликацию баз данных, развернутых непосредственно на предприятии или в среде Oracle Cloud, в активную резервную базу данных в Oracle Cloud с нулевыми потерями данных. Также предприятия могут более эффективно использовать ресурсы и повысить продуктивность, переместив операции подготовки отчетов, выполнения специальных запросов и резервного копирования на активную резервную базу данных Oracle Database.
- Сервисы разработки и тестирования: Oracle предлагает бесплатные пробные версии, которые разработчики могут эффективно использовать для создания облачных приложений уровня подразделения, предприятия и web-приложений. Разработчикам предлагается полный комплекс сервисов для разработки/тестирования с Oracle Database Cloud, включая новый бесплатный сервис и доступ к Oracle Java Cloud Service, Oracle Database Backup Service и Oracle Storage Cloud Service.
Портфолио сервисов Oracle Database Cloud
Oracle Database Cloud предлагает обширное портфолио облачных сервисов для обеспечения мощности и уровней обслуживания в соответствии с потребностями разработчиков, небольших компаний и глобальных предприятий. Базы данных могут развертываться в облаке за несколько минут, предлагая полную совместимость с локальными базами данных и встроенную безопасность со сквозным шифрованием. Клиенты могут выбрать управляемое Oracle или полностью автоматизированное администрирование, которое включает автоматическое применение пакетов исправлений и обновлений, резервное копирование и восстановление. В результате ИТ-службы могут значительно повысить гибкость и сократить затраты.
- Oracle Database Cloud Service: Компании могут развернуть полностью управляемую базу данных для быстрой разработки и внедрения приложений уровня подразделения или автоматизированную облачную базу данных для поддержки критически важных корпоративных приложений. Доступен широкий спектр вариантов использования функций и опций Oracle Database для максимального повышения производительности, доступности, безопасности и консолидации.
- Oracle Database Exadata Cloud Service: Предприятия теперь могут развертывать критически важные производственные базы данных OLTP и хранилища данных в среде Oracle Cloud. Этот сервис работает на платформе Oracle Exadata, используемой на тысячах площадок по всему миру. Oracle Database Exadata Cloud Service имеет встроенные средства обеспечения высокой производительности и доступности, такие как Oracle Multitenant, Oracle Database In-Memory, Oracle Real Application Clusters, Oracle Active Data Guard, InfiniBand Fabric и Smart Flash Cache.
- Oracle Database Backup Service: Семейство Oracle Database Cloud также включает масштабируемое и недорогое решение, позволяющее предприятиям хранить резервные копии баз данных Oracle, развернутых непосредственно на предприятии или в среде Oracle Cloud, не заботясь о сокращающихся окнах для резервного копирования, потерях данных или неполном восстановлении. Резервное копирование баз данных в Oracle Cloud может выполняться с использованием того же процесса, который применяется для локального резервного копирования на диск или ленту. Данные шифруются на источнике и трижды зеркалируются в облаке для обеспечения безопасности и восстановления в любых ситуациях.
2013
В числе лидеров мирового рынка СУБД
На 2013 год на мировом рынке корпоративных систем управления базами данных (СУБД) доминирующее положение занимает традиционная тройка продуктов: IBM DB2, Microsoft SQL Server и Oracle. Более 80% рынка СУБД в течение долгих лет контролируется тремя компаниями производителями: IBM, Oracle и Microsoft.
Oracle9i - СУБД для средних компаний
Ядром СУБД Oracle9i является сервер базы данных, который поставляется в одной из четырех редакций в зависимости от масштаба информационной системы, в рамках которой предполагается его применение. [2]
Для интернет-систем (public) и систем масштаба крупной организации (enterprise) предлагается продукт Oracle9i Database Enterprise Edition (корпоративная редакция), для которого имеется целый набор опций, архитектурно и функционально расширяющих возможности сервера. Продукт Oracle9i Database Standard Edition (стандартная редакция) ориентирован на организации среднего масштаба или подразделения в составе крупной организации (workgroup). Для персонального использования предлагается "персональный Oracle" (Oracle9i Database Personal Edition), и для систем мобильной связи и небольших офисов - Oracle9i Database Lite. В стандартной, персональной и мобильной редакциях основной акцент сделан на невысокую стоимость, простоту установки и сопровождения. При этом все варианты сервера Oracle имеют в своей основе один и тот же исходный код и функционально идентичны , за исключением некоторых дополнительных опций, которые необходимы для специфических конфигураций (например, для поддержки кластерных архитектур необходима опция Oracle9i Real Application Clusters).
Основное преимущество такого подхода к построению СУБД - это идентичность кода для всех вариантов сервера баз данных. Для всех компьютерных платформ и архитектур существует единая СУБД Oracle, поставляемая в различных версиях, которая ведет себя одинаково и предоставляет одинаковую функциональность вне зависимости от платформы, на которой она установлена.
Одной из основных характеристик СУБД Oracle является функционирование системы на большинстве платформ. В том числе на больших ЭВМ, UNIX-серверах, персональных компьютерах и т. д.
Другой важной характеристикой является поддержка Oracle всех возможных вариантов архитектур, в том числе симметричных многопроцессорных систем, кластеров, систем с массовым параллелизмом и т. д. Очевидна значимость этих характеристик для крупномасштабных организаций, где эксплуатируется множество компьютеров различных моделей и производителей. В таких условиях фактором успеха является максимально возможная типизация предлагаемых решений, ставящая своей целью существенное снижение стоимости владения программным обеспечением. Унификация систем управления базами данных -один из наиболее значимых шагов на пути достижения этой цели.
Поддержка Oracle большинства популярных компьютерных платформ и архитектур достигается за счет жесткой технологической схемы разработки кода СУБД. Разработку серверных продуктов выполняет единое подразделение корпорации Oracle, изменения вносятся централизованно. После этого все версии подвергаются тщательному тестированию в базовом варианте, а затем переносятся на все платформы, где также детально проверяются. Возможность переноса Oracle обеспечивается специфической структурой исходного программного кода сервера баз данных. Приблизительно 80% программного кода Oracle - это программы на языке программирования C, является платформо-независимым. Примерно 20% кода, представляющее собой ядро сервера, реализовано на машинно-зависимых языках; и эта часть кода, разумеется, переписывается для различных платформ.
Однa из отличительных особенностей сервера Oracle - возможность хранения и обработки различных типов данных. Данная функциональность интегрирована в ядро СУБД и поддерживается модулем interMedia в составе Oracle Database. Он обеспечивает работу с текстовыми документами, включая различные виды поиска, в том числе контекстного; работу с графическими образами более 20-ти форматов; работу с аудио и видеоинформацией.
СУБД Oracle не только предоставляет расширенный набор встроенных типов данных, но и позволяет за счет использования Object Option конструировать новые типы данных со спецификацией методов доступа к ним. Это означает фактически, что разработчики получают в руки инструмент, позволяющий строить структурированные типы данных, непосредственно отображающие объекты предметной области.
Oracle включает в себя очень много различных компонентов и модулей, вот некоторые из них:
Модуль interMedia обеспечивает поддержку всех типов данных, в том числе выполнение операций поиска по большим текстовым документам различных форматов.
Компонент Oracle Enterprise Manager представляет собой универсальное средство администрирования баз данных, снабженное удобным графическим интерфейсом и позволяющее администратору баз данных выполнять широкий спектр операций над множеством баз данных Oracle,включая создание, модификацию и удаление любых объектов внутрикаждой из них.
Модуль Advanced Replication Option позволяет выполнять репликацию данных в широком диапазоне возможностей, включая синхронную, асинхронную, каскадную и другие типы репликации.
Модуль Oracle Workflow представляет собой средство для автоматизации стандартных бизнес-процедур организации, для разработки процедур управления потоками работ. Он предлагает расширенные возможности автоматизации прохождения и обработки информации произвольного типа и формализации сложных бизнес процедур и алгоритмов обработки информации.
Одна из ключевых возможностей сервера БД Oracle - механизм хранения и обработки очередей сообщений, который называется Oracle Advanced Queuing (AQ). Он поставляется вместе с сервером баз данных, и его не нужно лицензировать отдельно. Компонент AQ относится к классу Message Oriented Middleware (ПО промежуточного слоя для обработки сообщений). Наличие такого компонента позволяет построить на базе сервера полнофункциональную инфраструктуру для обработки сообщений и исключает необходимость приобретения для этой цели дополнительных средств третьих фирм (таких как IBM MQ Series), обеспечивая, в то же время, связь с ними в неоднородных средах за счет продукта Oracle Messaging Gateways.
Начиная с версии Oracle8i, в состав сервера (во все редакции) включена виртуальная Java-машина (JServer Enterprise Edition) .
Компонент Oracle Obects for OLE предоставляет возможность доступа к базам данных Oracle-приложений, разработанных на C++, Microsoft Visual Basic, OLE 2.0. Полная поддержка языка макроопределений в Visual Basic позволяет получать данные из Oracle непосредственно в электронных таблицах Microsoft Excel.
2012
Редакции: от Express Edition до Enterprise Edition
На 2012 год компания предлагает следующие редакции СУБД:
- Oracle Express Edition (XE): это редакция начального уровня. Является бесплатной для разработки, развертывания и распространения. Так же является отличным выбором для разработчиков, студентов и маленьких организаций. Редакция Oracle XE очень проста в установке и администрировании, может быть установлена практически на любой компьютер, с любым количеством процессоров и объемом памяти. Но, существует ряд ограничений, а именно объем пользовательских данных не может превышать 4 Гб, и Oracle XE не может использовать более 1 Гб оперативной памяти. На данный момент, эта редакция не сопровождаеться службой поддержки Oracle - My Oracle Support (ранее Metalink), но зачастую ответы на интересующие вопросы можно найти на форумах посвященных Oracle и разработке под эту СУБД.
- Oracle Personal edition (PE): Эта редакция поддерживает однопользовательские среды для разработки и развертывания, которые требуют полную совместимость с Oracle Database Standard Edition One, Oracle Database Standard Edition и Oracle Database Enterprise Edition. Oracle PE содержит все компоненты, опции и функциональность, которые включены в редакцию Enterprise Edition, за исключением опции Oracle Real Application Clusters (RAC). Из отрицательных сторон этой редакции - она доступна только для Windows платформы (Windows 2000, Windows NT, Windows XP, Windows Vista и Windows Server 2003/32-bit и 64-bit версии), так же в эту редакцию не включен Management Pack.
- Oracle Standard Edition One (SEO): хорошее соотношение цена/производительность, подходит для рабочих групп, отдельных подразделений и создания Web-приложений. Эта редакция рекомендована для использования в различных средах, от выделенного сервера, для небольшого бизнеса, до распределенных сред, практически любого масштаба. Oracle Database SEO содержит все необходимое для построения бизнес-критичных приложений.
- Oracle Standard Edition (SE): Предлагает недорогую альтернативу для небольшого и среднего бизнеса, или приложений уровня подразделений, которые хотят иметь всю мощь Oracle. Эта редакция содержит все преимущества Oracle SEO, плюс поддержку больших машин и кластеризации с использованием Real Application Clusters (бесплатно в этой редакции). Ранее, RAC не включался в редакции Standard Edition, до версии Oracle Database version 10g.
- Oracle Enterprise Edition (EE): Является самой дорогой и функциональной редакцией, предоставляет наибольшую, по сравнению с другими редакциями, производительность, доступность, масштабируемость и безопасность, критичные для бизнес-приложений. Например, приложений OLTP, хранилищь данных с высоким количеством обращений, распределенных приложений. Oracle Database EE включает все доступные компоненты Oracle Database, и позволяет расширить свои функциональные возможности, за счет приобретения дополнительных пакетов и компонент.
Политика лицензирования
На 2012 год распространение программных продуктов Oracle (далее "Программы") осуществляется путем предоставления лицензий на их использование.
Продажа лицензий в России и странах СНГ производится только уполномоченными партнерами компании Oracle.
Техническая поддержка лицензируемых программ предоставляется в течение одного года и приобретается вместе с лицензиями. По окончании срока действия технической поддержки, она может быть продлена на очередной годовой период.
Стоимость лицензий и технической поддержки рассчитывается на основании всемирного Прейскуранта Oracle (Oracle Global Price List). Лицензируемые программы предоставляются по каналам электронной связи или на носителях CD-ROM. Лицензирование Программ означает приобретение прав на их использование, а не покупку самих программных продуктов.
База данных Oracle может быть достаточно большой, поэтому кто-то должен управлять этой системой.
Поддержка языков программирования
На 2012 год СУБД поддерживаются следующие языки программирования:
Также обеспечивается ряд Pro предкомпиляторов, которые позволяют включать SQL и МН / SQL в C, C ++, COBOL или прикладные программы FORTRAN. Обеспечивается поддержка для ODBC посредством Oracle's ODBC Driver. Имеется Oracle Call Interface (OCI), которое является прикладным программным интерфейсом (API) для языков третьего поколения.
Oracle Database может взломать любой пользователь
Базы данных Oracle может взломать любой пользователь, такие выводы представили эксперты 20 сентября 2012 года на конференции по безопасности в Аргентине, сообщил TechCrunch.
Аналитик AppSec Inc Эстебан Мартинез Файо (Esteban Martinez Fayo) представил концепцию атаки на базы данных Oracle, согласно которой любой человек, имеющий доступ к именам пользователей и протоколу аутентификации, может воспользоваться брешью в продукте корпорации.
AppSec Inc не в первый раз сообщает о возможности взлома продукции Oracle. Ранее компания сообщила о бреши в мае 2010 года, ошибка была зафиксирована вендором в середине 2011 года. При этом, в последние несколько месяцев Oracle выявил несколько серьезных недостатков в безопасности своих систем. На этом фоне, эксперты прогнозируют возможный всплеск хакерской активности в отношении продуктов компании.
По словам Эстебана Мартинеза Файо? Oracle пока не планирует как-либо реагировать на новую брешь в продукте. "Они никогда не исправляли текущих версий, поэтому версии 11.1 и 11.2 могут потенциально быть взломаны", - сказал он.
Утечка происходит на этапе аутентификации — не существует промежуточного этапа для обеспечения дополнительной безопасности. Эксперты в области ИБ советуют системным администраторам обратить на это внимание и разработать пути устранения бреши в компаниях.
Во второй декаде сентября 2012 года Salesforce.com объявил о возможности единого входа для корпоративных приложений на Dreamforce. Таким образом, появление новой бреши в Oracle делает вопросы безопасности и идентификации еще более актуальными.
2010: Доля СУБД Oracle на российском рынке — 60%
По данным на 2010 год на рынке России лидирующее положение занимает СУБД Oracle с долей 60%, в то время как на мировом рынке доля этого продукта только около 30%.
1992: Выпуск СУБД Oracle 7
Помимо общего повышения эффективности ввода/вывода, использования центрального процессора и работы с памятью, версия СУБД Oracle 7 обладала рядом инновационных архитектурных решений: разделяемый SQL-кэш на сервере (сервер распознает посылаемые клиентами SQL-утверждения, которые ранее уже были проанализированы и скомпилированы и в данный момент находятся в кэш-памяти, за счет чего экономится время анализа, оптимизации и трансляции, а также память, требуемая для хранения SQL-утверждения) и разделяемый пул процессов сервера вместо отдельного процесса для каждого клиента, что позволяет сэкономить значительный объем памяти. В области администрирования баз данных также был введен ряд новшеств: зеркальный журнал транзакций, динамическое создание журналов данных, команда ANALYZE, позволяющая собирать статистику об использовании таблиц, индексов и других физических объектов (эта статистика используется оптимизатором запросов), профили пользователей на использование системных ресурсов: ЦПУ, ввода/вывода и т.д.
В версии 7 были полностью реализованы декларативные ограничения референциальной целостности в соответствии со стандартами ANSI/ISO. В рамках этих ограничений (первичные и внешние ключи) пользователь может специфицировать каскадное удаление связанных с некоторым первичным ключом записей. Процедуры PL/SQL могут описываться на уровне схемы базы данных (хранимые процедуры) и вызываться любым приложением, другими процедурами и триггерами. Взаимосвязанные процедуры могут быть сгруппированы в пакеты и использовать общие переменные и определения. Значения переменных, объявленных на уровне пакета, сохраняются в течение всей пользовательской сессии и могут совместно использоваться процедурами и функциями пакета. Другим важным нововведением явились триггеры базы данных.
Триггер представляет собой пару (событие+действие), где событие — это удаление/занесение/обновление записей таблицы, а действие (тело триггера) — процедура PL/SQL, выполняемая при совершении события. Триггеры могут определяться на уровне утверждений (DELETE, INSERT, UPDATE) или на уровне отдельных строк (FOR-EACH-ROW-триггеры, которые, к тому же, могут работать со старыми и новыми значениями строк). С помощью триггеров можно реализовать сложные правила контроля целостности, прав доступа, вывода значений и пр. Управление безопасностью и целостностью существенно упростилось благодаря введению ролей. Роль — это совокупность прав доступа к объектам базы данных (INSERT, UPDATE, SELECT и др.) и системных прав (CREATE TABLE, ALTER SYSTEM и т.д.). Определив роль, администратор базы данных может с помощью одной команды дать пользователю привилегии для работы с некоторым приложением. Эффективность выполнения распределенных запросов была повышена за счет глобальной оптимизации: в версии 7 оптимизатор обладает информацией об индексах и статистике удаленных таблиц, и, например, скорость соединения таблиц, расположенных в разных узлах сети, существенно возрастает благодаря тому, что из удаленных таблиц выбираются лишь строки, соответствующие строкам локальной таблицы.
1988: Выпуск СУБД Oracle 6
Разработчики версии 6 стремились создать инструмент построения крупномасштабных информационных систем, ориентированных на обработку транзакций в режиме реального времени. Были введены генераторы последовательностей и блокировка на уровне записи, а это вместе с моделью "непротиворечивости чтения" означало, что процессы чтения и записи больше не блокируют друг друга (в состояние ожидания переходит лишь процесс записи при попытке обновить строку таблицы, которая уже контролируется другим процессом записи). В это же время Oracle стал первым многопользовательским сетевым сервером баз данных для OS/2, Xenix, Banyan Vines и Macintosh.
В версии 6 были заложены принципиально новые возможности, в полном объеме реализованные позже. Во-первых, SQL-утверждения могли использоваться совместно с утверждениями процедурного языка PL/SQL и посылаться для исполнения на сервер как анонимные процедуры. Во-вторых, тот же язык PL/SQL был введен в язык четвертого поколения SQL*Forms в качестве средства программирования приложений (в версии 7 расширенный язык PL/SQL стал средством описания процедур и триггеров базы данных). В-третьих, в описание схемы базы данных на синтаксическом уровне были введены (в соответствии с ANSI/ISO-стандартом) декларативные определения ограничений референциальной целостности.
1986: Выпуск СУБД Oracle 5.1
В 1986 году в версии 5.1 были впервые разрешены распределенные запросы — запрос мог обращаться к данным, физически размещенным в разных узлах. Несколько взаимодействующих серверов могли создать у пользователя многих физически разнесенных баз данных иллюзию единой логической базы данных.
1985: СУБД Oracle 5.0
В 1985 году Oracle выпустила на рынок версию СУБД: 5.0, в которой была впервые введена архитектура клиент/сервер и реализована программа SQL*Net, поддерживающая неоднородные среды.
1983: Выпуск Oracle 3
Следующая версия — Oracle 3, выпущенная на рынок в 1983 году, — была уже полностью написана на языке C. Решение использовать C и поддерживать одно множество исходных кодов стало ключом к решению проблемы переносимости Oracle на широкий спектр платформ. Были внесены изменения в язык SQL, существенно улучшена эффективность, расширена архитектура системы и введено атомарное выполнение SQL-утверждений и транзакций (SQL- утверждение либо выполнялось полностью, либо не выполнялось вообще, соответственно, транзакция либо завершалась успешно по всем изменениям базы данных, либо откатывала все сделанные ею изменения).
С появлением третьей версии Oracle стала многоплатформенной, то есть появилась возможность устанавливать эту СУБД на разнообразные компьютерные системы (их тогда было не менее 20), популярность ее стала расти еще быстрее.
В версии 4 была существенно повышена надежность Oracle, выполнены переносы системы на большие компьютеры в ОС VM и MVS, а также на персональный компьютер с 640 килобайтами оперативной памяти. Была реализована модель контроля доступа к базе данных, которая гарантировала, что результат запроса не противоречит состоянию базы данных на начало запроса (благодаря этому было устранено известное противоречие между процессами чтения и записи).
1979: Выпуск СУБД Oracle 2
В июне 1979 года появилась первая система компании Эллисона — Oracle 2. В маркетинговом отношении Эллисон оказался талантливее Билла Гейтса. В отличие от основателя Microsoft, который первую версию Windows так и назвал — Windows 1.0, он проявил маркетинговую смекалку, поэтому свет увидела сразу вторая версия продукта. Это должно было как бы дать понять заказчикам, что система надежна и даже прошла проверку временем. Эллисона можно понять: у него не было одобрения со стороны IBM, которое было у Гейтса. Даже напротив: Эллисон создавал продукт, который мог стать конкурентом решениям IBM.
Главным конкурентным преимуществом СУБД Oracle была высокая скорость обработки огромных массивов информации, которую тогда отметили все эксперты. В отличие от System R, для работы которой был необходим мощный суперкомпьютер — мейнфрейм, Oracle 2 справлялась с обработкой информации на гораздо более скромных машинах. Это и поспособствовало невероятно широкому распространению детища Эллисона в начале 80-х годов.
Oracle стала исторически первой и одной из наиболее развитых реализацией архитектуры клиент/сервер. Открытость (переносимость + масштабируемость) всегда была основной идеей разработчиков Oracle. Успех компании на рынке СУБД, безусловно, стал прямым следствием открытости системы.
Вторая версия Oracle (первой не существовало вообще) работала на мини-компьютере PDP-11 фирмы Digital Equipment в операционной среде RSX-11. Большая часть Oracle была написана на ассемблере PDP-11, а отдельные компоненты — на новом для того времени языке C. Уже в те дни система была портируемой и работала в других операционных средах PDP-11: IAS, RSTS и UNIX. Тогда же было принято решение о переносе Oracle в новую ОС VMS. Благодаря этому СУБД Oracle заняла обширную нишу корпоративных информационных систем на быстро растущем рынке VAX.
Тогда самое сильное впечатление на пользователей произвела полная реализация возможностей нового языка запросов SQL — подзапросы, операция соединения и непроцедурность, — благодаря чему многократно выросла производительность программирования. Стандартный SQL (IBM) был расширен утверждением CONNECT BY, позволяющим обрабатывать древовидные структуры, что становится уникальным для SQL-систем.
Конечно, вторая версия Oracle была чрезвычайно проста — в частности, не поддерживалось понятие транзакции, и, если в процессе обновления базы данных происходил сбой, состояние базы данных могло стать некорректным, поэтому пользователи были вынуждены часто делать резервные копии базы данных во избежание потерь информации.
1977: Основание Oracle для разработки реляционной СУБД
История Oracle началась в Кремниевой долине, штат Калифорния, США. В 1977 году молодой программист Ларри Эллисон бросил учебу в Йельском университете, чтобы начать собственный бизнес. Ларри Эллисон, в распоряжении которого тогда было всего 1200 долларов, уговорил Боба Майнера и Эда Оутса, своих бывших коллег, создать собственную компанию. До этого все трое разрабатывали по заказу ЦРУ проект под названием… Oracle.
16 июня 1977 года Эдом Оутсом, Бобом Майнером и Ларри Эллисоном в Калифорнии (США) была основана компания Software Development Laboratories, вскоре переименованная сначала с Relational Software Inc. Молодые программисты, чьи общие вложения в бизнес составили $2 тыс., начали разработку системы управления базами данных (СУБД), построенной на принципах реляционной алгебры.
Позднее все сложные СУБД стали реляционными, но, когда в 1970 году сотрудник исследовательской лаборатории IBM Эдгар Кодд предложил новый метод организации баз данных, у многих специалистов были сомнения в том, что он вообще оправдает себя. Поэтому до середины 1970-х годов информация в базах данных распределялась по старинному иерархическому, или "древовидному", принципу, который до сих пор используется для представления файлов в ПК.
В IBM, впрочем, профинансировали создание прототипа системы на принципах, предложенных Коддом, и в 1976 году появился проект System R, который вдохновил будущих основателей Oracle на создание реляционной СУБД.
Платформы
На 2013 год СУБД Oracle поддерживают свыше 80 вариантов операционной среды в широком диапазоне, включая мэйнфреймы IBM, мини-компьютеры DEC VAX, UNIX, Windows и множество других платформ.
Локальная
Oracle database портирована на большое количество платформ: Linux x86, Linux x86-64, Linux на zSeries, Linux Itanium, Linux на POWER, Microsoft Windows (32-бит), Windows NT (x64), Windows NT (64-бит Itanium), Solaris x86, Solaris AMD64/EM64T, Solaris SPARC (64-бит), AIX5L, HP-UX PA-RISC, HP-UX Itanium, HP Tru64 UNIX, HP OpenVMS Alpha, IBM z/OS, Mac OS X Server.
для Linux x86
- сентябрь 1998 года — Oracle 8.0 (8.0.5)
- 23 февраля 1999 года — Oracle 8.0 (8.0.5.1.0)
- 22 ноября 2000 года — Oracle 8i Release 3 (8.1.7.0.1)
- 25 марта 2003 года — Oracle 9i Release 2 (9.2.0.4)
- 21 декабря 2004 года — Oracle 10g Release 1 (10.1.0.3)
- 2 июля 2005 года — Oracle 10g Release 2 (10.2.0.1)
- 10 августа 2007 года — Oracle 11g Release 1 (11.1.0.6)
- 1 сентября 2009 года — Oracle 11g Release 2 (11.2.0.1)
для Linux x86-64
- 16 октября 2007 года — Oracle 11g Release 1 (11.1.0.6)
- 1 сентября 2009 года — Oracle 11g Release 2 (11.2.0.1)
для Solaris x86
- 14 мая 1999 года — Oracle 8i Release 1 (8.1.5) для Intel UNIX (DG/UX Intel, SCO UnixWare, Solaris Intel)
для Solaris x86-64
- 23 марта 2006 года — Oracle 10g Release 2 (10.2.0.1)
- 25 ноября 2009 года — Oracle 11g Release 2 (11.2.0.1)
для Solaris SPARC 64-bit
- 6 ноября 2009 года — Oracle 11g Release 2 (11.2.0.1)
для Windows x86
- март 1997 года — Oracle 7 (7.3.3) для Windows NT 3.51/4.0
- октябрь 1997 года — Oracle 7 (7.3.4) для Windows NT 3.51/4.0
- 1 июля 1998 года — Oracle 8.0 (8.0.5) для Windows NT
- 10 марта 1999 года — Oracle 8i Release 1 (8.1.5) для Windows NT
- 20 сентября 1999 года — Oracle 8.0 (8.0.6) для Windows NT
- январь 2000 года — Oracle 8i Release 2 (8.1.6) для Windows NT
- 16 ноября 2000 года — Oracle 8i Release 3 (8.1.7) для Windows NT
- 14 мая 2002 года — Oracle 9i Release 2 (9.2.0.1) для Windows 32-bit
- 26 марта 2004 года — Oracle 10g Release 1 (10.1.0.2) для Windows 32-bit
- 7 сентября 2005 года — Oracle 10g Release 2 (10.2.0.1) для Windows 32-bit
- 15 октября 2007 года — Oracle 11g Release 1 (11.1.0.6) для Windows 32-bit
- 5 апреля 2010 года — Oracle 11g Release 2 (11.2.0.1) для Windows 32-bit[3]
для Windows x86-64
- 16 апреля 2003 года — Oracle 9i Release 2 (9.2.0.2.1) для Windows 64-bit Itanium 2 Systems
- 31 октября 2005 года — Oracle 10g Release 2 (10.2.0.1) для Windows x64
- 7 ноября 2007 года — Oracle 11g Release 1 (11.1.0.6) для Windows x64
- 2 апреля 2010 года — Oracle 11g Release 2 (11.2.0.1) для Windows x64
Примечания
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (733)
Сапиенс солюшнс (Sapiens solutions) (7)
Navicon (Навикон) (3)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
IFellow (АйФэлл) (2)
Другие (35)
РДТЕХ (1)
IBS (1)
Ред Софт (Red Soft) (1)
InnoSTage (Инностейдж) (1)
Сбербанк-Технологии (СберТех) (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 126)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
Другие (263, 242)
SAP SE (3, 11)
Microsoft (3, 11)
PostgreSQL Global Development Group (3, 10)
Oracle (2, 4)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
Другие (10, 13)
PostgreSQL Global Development Group (4, 9)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
Arenadata (Аренадата Софтвер) (3, 2)
Oracle (2, 2)
Другие (9, 9)
PostgreSQL Global Development Group (3, 13)
Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
Arenadata (Аренадата Софтвер) (3, 5)
Apache Software Foundation (ASF) (3, 4)
Тантор Лабс (Tantor Labs) (2, 3)
Другие (8, 10)
PostgreSQL Global Development Group (4, 11)
Arenadata (Аренадата Софтвер) (3, 6)
VMware (2, 6)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
Сбербанк-Технологии (СберТех) (2, 2)
Другие (5, 7)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
PostgreSQL СУБД - 80
SAP HANA (High Performance Analytic Appliance) - 72
Другие 374
Microsoft SQL Server - 9
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8
PostgreSQL СУБД - 7
Oracle Database - 3
SAP HANA (High Performance Analytic Appliance) - 3
Другие 21
Postgres Pro СУБД - 5
ADB - Arenadata DB - 2
PostgreSQL СУБД - 2
Tarantool Платформа in‑memory вычислений - 2
Oracle Database - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
ADB - Arenadata DB - 3
Tantor СУБД - 3
Apache Kafka - 2
Другие 10
PostgreSQL СУБД - 5
ADB - Arenadata DB - 5
Postgres Pro СУБД - 3
Diasoft Digital Q.Database - 2
ADH - Arenadata Hadoop - 2
Другие 9