oracle программа что это такое
Знакомство с Oracle Database Express Edition (XE) – что это такое?
Приветствую всех посетителей сайта Info-Comp.ru! Сегодня мы с Вами познакомимся с Oracle Database Express Edition (XE) – это бесплатная редакция системы управления базами данных Oracle Database. Мы поговорим о том, что это за система, какие ограничения у бесплатной редакции и для чего ее можно использовать.
Oracle Database
Oracle – это крупнейшая в мире компания по разработке программного обеспечения для предприятий. Специализацией Oracle является разработка систем управления базами данных, таких как 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 Express Edition (XE), которую можно использовать абсолютно бесплатно.
Oracle Database Express Edition (XE)
Oracle Database Express Edition (Oracle Database XE) – это бесплатная редакция системы управления базами данных Oracle Database.
Данная редакция хоть и бесплатна, но обладает достаточно хорошим функционалом, это и Oracle Database In-Memory, и секционирование, функционал для аналитики и безопасности данных и многое другое.
Иными словами, не нужно думать, что в этой редакции нет никакого функционала, он есть, и может удовлетворить многие предприятия. Безусловно, для крупных компаний данная редакция не подойдет, но для компаний, которые только стартуют, Oracle Database Express Edition будет неплохим выбором, а если вдруг компания вырастет и ей нужно будет масштабироваться, то она легко может перейти на более функциональные редакции Oracle Database, и тем самым получать регулярные исправления и круглосуточную поддержку.
Ограничения редакции Oracle Database Express Edition (XE)
Данная редакция имеет ограничения как в части функциональности, так и в объеме использования ресурсов, а также в формате поддержки:
Для чего можно использовать 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. Подписывайтесь, и Вы не пропустите выход нового материала!
История СУБД Oracle — первой коммерчески успешной реляционной СУБД
До середины 70-х годов информация в базах данных распределялась по старинному иерархическому, или «древовидному», принципу, который до сих пор используется в настольных операционных системах.
Первые прототипы реляционных СУБД существовали уже в 70-е годы ХХ века. Однако мало кто верил в возможность добиться эффективной реализации таких систем. Тем не менее, к концу 1980-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.
В связи с этим многие компании стали позиционировать свои СУБД как «реляционные» в рекламных целях. Но далеко не всегда они имели для этого достаточно оснований. Поэтому автор реляционной модели данных Эдгар Кодд в 1985 году опубликовал свои знаменитые «12 правил Кодда», которым должна удовлетворять каждая РСУБД.
16 июня 1977 года Эдом Оутсом, Бобом Майнером и Ларри Эллисоном в Калифорнии (США) была основана компания Software Development Laboratories, вскоре переименованная в Relational Software Inc. Молодые программисты начали разработку системы управления базами данных (СУБД), построенной на принципах реляционной алгебры.
Oracle 2
Первая коммерческая версия СУБД Oracle получила название Oracle 2. Такой ход должен был дать заказчикам понять, что система надежна и даже прошла проверку временем.
В конце 70-х главным конкурентным преимуществом СУБД Oracle была высокая скорость обработки огромных массивов информации, которую отметили все эксперты. В отличие от System R, для работы которой был необходим мощный суперкомпьютер — мейнфрейм, Oracle 2 справлялась с обработкой информации на более «миниатюрных» машинах. Эти и другие преимущества привели к тому, что в начале 80-х годов СУБД начала стремительно распространяться.
У Эллисона с коллегами возникли сложности при реализации совместимости с СУБД IBM System R. Нежелание IBM раскрывать исходные коды стало ключевой проблемой. В результате совместимости между двумя системами так и не удалось достичь.
Ларри Эллисон — основатель Oracle
Oracle стала исторически первой и одной из наиболее развитых реализаций архитектуры клиент/сервер. Переносимость и масштабируемость всегда имели высокий приоритет у разработчиков Oracle. Это сыграло ключевую роль в достижении успеха компании на рынке СУБД.
Oracle 2 работала на мини-компьютере PDP-11 фирмы Digital Equipment в операционной среде RSX-11. Большая часть Oracle была написана на ассемблере PDP-11, а отдельные компоненты — на новом для того времени языке C. Уже в те дни система была портируемой и работала в других операционных средах PDP-11: IAS, RSTS и UNIX. Тогда же было принято решение о переносе Oracle в новую ОС VMS. Благодаря этому СУБД Oracle заняла обширную нишу корпоративных информационных систем на быстро растущем рынке VAX.
Еще одной важной особенностью системы стала полная реализация возможностей нового языка запросов SQL — подзапросы, операция соединения и так далее. Благодаря этому многократно выросла производительность труда SQL-программистов.
Стандартный SQL (IBM) был расширен операцией CONNECT BY, позволяющим обрабатывать древовидные структуры, что становится уникальным для SQL-систем.
Конечно, над СУБД нужно было еще долго работать. В Oracle 2, например, не поддерживались транзакции: если в процессе обновления базы данных происходил сбой, предыдущее состояние БД восстановить было практически невозможно. Поэтому пользователи были вынуждены часто делать резервные копии базы данных во избежание потерь информации.
29 октября 1982 года компания переименована в Oracle Systems.
Oracle 3 и 4
В 1983 году на рынок вышла Oracle 3. Она была полностью переписана на С. Это во многом помогло решить проблему переносимости Oracle на широкий спектр платформ – их тогда было не менее 20. Кроме того, было реализовано атомарное выполнение транзакций: операция либо выполнялась полностью, либо не выполнялась вообще, соответственно, транзакция либо завершалась успешно по всем изменениям базы данных, либо откатывала все сделанные ею изменения.
С выходом Oracle 4 система была портирована на большие компьютеры c ОС VM и MVS, а также на персональный компьютер с 640 килобайтами оперативной памяти.
Также была реализована модель контроля доступа к базе данных, которая гарантировала, что результат запроса не противоречит состоянию базы данных на начало запроса. Благодаря этому было устранено известное противоречие между процессами чтения и записи.
Oracle 5
В 1985 году Oracle выпустила на рынок версию 5.0, в которой была впервые введена архитектура клиент/сервер. Кроме того, компания выпустила SQL*Net – сетевой продукт, обеспечивающий прозрачное соединение между клиентом и базой данных или между двумя базами данных.
В версии 5.1 были впервые реализованы распределенные запросы — это давало возможность обращаться к данным, физически размещенным в разных узлах. Несколько взаимодействующих серверов могли создать у пользователя многих физически разнесенных баз данных иллюзию единой логической базы данных.
Oracle 6
Разработчики версии 6 стремились создать инструмент построения крупномасштабных информационных систем, ориентированных на обработку транзакций в режиме реального времени.
Были введены генераторы последовательностей и блокировка на уровне записи. В это же время Oracle стал первым многопользовательским сетевым сервером баз данных для OS/2, Xenix, Banyan Vines и Macintosh.
В версии 6 были заложены принципиально новые возможности, в полном объеме реализованные позже:
Кризис
В 1990 году компания столкнулась с серьезными проблемами, сообщив о значительных убытках. Эллисону пришлось уволить более 400 сотрудников для сокращения издержек. Он также распустил практически весь топ-менеджмент, в числе которого были близкие Ларри люди, в течение 10 лет вместе с ним приумножавшие славу и благосостояние Oracle. Ларри оставил в компании Боба Майнера, которого всегда считал одаренным программистом и просто хорошим добрым человеком.
Столь жесткие методы Ларри объяснил так:
Кроме того, из-за совершенных ошибок в регистрации продаж и учёта ещё не прошедших сделок в бухгалтерских документах у Oracle возникли сложности с регуляторами на местном рынке.
В результате Oracle оказалась близка к банкротству, а такие конкуренты, как Informix и Sybase, начали медленно увеличивать свою долю на рынке.
На тот момент конкуренция между крупными игроками рынка достигла своего апогея — 90-ые могли запомниться многим, как период рекламной войны Oracle и Informix. Так, последняя выкупила билборд рядом с офисом Oracle и разместила на нем надпись «Осторожно, динозавры переходят дорогу», намекая на устаревшие технологии Oracle.
Однако Ларри все-таки нашел решение: он сформировал новый управленческий штат, который был «натаскан» на громадные объемы производства и жесткую конкуренцию. В результате через определенное время Oracle снова вернулась на прежние высоты.
А в 1992 году релиз Oracle 7 окончательно изменил ситуацию в лучшую сторону.
Oracle 7
Помимо общего повышения эффективности ввода/вывода, использования центрального процессора и работы с памятью, версия СУБД Oracle 7 обладала рядом инновационных архитектурных решений:
В версии 7 были полностью реализованы декларативные ограничения ссылочной целостности в соответствии со стандартами ANSI/ISO. В рамках этих ограничений (первичные и внешние ключи) пользователь мог специфицировать каскадное удаление связанных с некоторым первичным ключом записей. Процедуры PL/SQL могли описываться на уровне схемы базы данных (хранимые процедуры) и вызываться любым приложением, другими процедурами и триггерами.
Другим важным нововведением стали триггеры базы данных.
Триггер представляет собой пару (событие+действие), где событие — это удаление/занесение/обновление записей таблицы, а действие (тело триггера) — процедура PL/SQL, выполняемая при совершении события.
Триггеры могут определяться на уровне операций (DELETE, INSERT, UPDATE) или на уровне отдельных строк (FOR-EACH-ROW-триггеры, которые, к тому же, могут работать со старыми и новыми значениями строк). С помощью триггеров можно реализовать сложные правила контроля целостности, прав доступа, вывода значений и прочее.
Роль — это совокупность прав доступа к объектам базы данных (INSERT, UPDATE, SELECT и другие) и системных прав (CREATE TABLE, ALTER SYSTEM и так далее). Определив роль, администратор базы данных может с помощью одной команды дать пользователю привилегии для работы с некоторым приложением.
В 1994 году компания выпустила версию Oracle 7.1, в том числе и для IBM PC. Ранее Oracle не рассматривала эту платформу как серверную, а ограничивалась лишь созданием для нее клиентских частей своей СУБД.
В Oracle 7.1 появилась опция параллельных запросов (parallel query option), а также возможность определения количества серверных процессов, необходимых для выполнения SQL-запроса, на основе результатов работы оптимизатора запросов. В данной версии была достигнута полная интеграция PL/SQL и SQL, введен встроенный пакет DBMS_SQL и асинхронная симметричная репликация данных вместе с асинхронным вызовом удаленных процедур.
Oracle 8 и 9
В 1997 году вышла версия 8, в которой появились объектная модель, новые свойства и средства администрирования. Oracle 8.0 была более надежной по сравнению с предыдущей версией, обладала большей устойчивостью к высоким нагрузкам. Кроме того, в ней была реализована возможность партиционирования таблиц.
В 1998 году компания анонсировала Oracle 8i Release 1 (8.1.5). Буква «i» означает, что версия обладает поддержкой Интернета.
Начиная с Oracle 8.1.5 в последующих версиях появляется встроенная в СУБД виртуальная машина Java (JVM). Далее вышла версия Oracle 8i Release 2 (8.1.6), которая поддерживала XML, а также содержала определенные новшества, связанные с созданием хранилищ данных.
В 2001 году появилась версия Oracle 9i Release 1 (9.0.1), в которой было сделано более 400 изменений по сравнению с предыдущей. Среди них – «интеллектуализация» автоматизированных систем и расширение возможностей для аналитики.
В новой версии появились средства обработки XML-документов, технология Oracle RAC (Real Application Clusters) – как замена Oracle Parallel Server (OPS), механизм создания репликаций Oracle Streams, скроллируемый курсор для программ на Си и C++, встроенная в СУБД поддержка OLAP и Data Mining, переименование столбцов и ограничений целостности, поддержка Java 1.3.1 и Unicode 3.1.
Лучшие финансовые годы
Примерное разделение рынка СУБД для платформы Unix.
Примерное разделение рынка СУБД для платформы Windows NT.
В 2004 году появилась версия Oracle 10g Release 1 (10.1.0). Буква «g» в названии обозначает «Grid» («сеть») и символизирует поддержку Grid-вычислений.
Этот год стал одним из самых успешных в истории компании – норма прибыли составила 38% (самый высокий показатель за все время существования корпорации), годовой оборот возрос до 7% ($10,2 миллиарда), доходы от продаж ПО поднялись на 12% ($8,1 миллиарда), чистая прибыль выросла на 16% ($2,7 миллиарда).
Офис Oracle в России и СНГ вошел в тройку лучших представительств Oracle по темпам роста в регионе ЕМЕА (Европа, Ближний Восток и Африка), а также пятый год подряд — в пятерку лучших среди 145 представительств Oracle в мире.
До наших дней
В 2005-м была анонсирована Oracle 10g Release 2 (10.2.0.1). А в 2007-м – Oracle 11g Release 1 (11.1.0.6).
Состояние рынка СУБД на 2007 год
В 2009 году компания выпустила Oracle 11g Release 2 (11.2.0.1). В версию была введена новая для Oracle возможность «горячего» (без остановки сервера) внесения изменений в метаданные и бизнес-логику на PL/SQL – это стало возможным благодаря механизму одновременной поддержки нескольких версий схемы и логики под названием editions.
2013 год — вышла версия 12c (12.1.0.1), основное новшество — поддержка подключаемых баз данных (pluggable database), обеспечивающая свойства мультиарендности и живой миграции баз данных, суффикс «c» в названии обозначает cloud (облако).
24 апреля 2015 года стало известно о планах Oracle перевести почти все свои продукты в облако. Таким образом, американская компания решила изменить свою бизнес-модель, чтобы соответствовать изменениям на рынке.
В сентябре 2016 года Ларри Эллисон объявил о создании в Oracle дата-центров для работы с IaaS второго поколения и заявил, что лидерство компании Amazon на облачном рынке подходит к концу. Цель компании – предложить клиентам Oracle пакет услуг, где будут совмещены IaaS, PaaS и SaaS («ПО как услуга»).