What Is Oracle Database
Summary: in this tutorial, you will have an overview of the Oracle Database, its features, and editions.
What is a database
A database is an organized collection of structured data stored electronically in a computer system.
When the computer was first invented, it was mainly used for scientific researches to perform calculations quickly.
Since the computer was adopted more and more, the requirements were also increased to require the computer to store a larger volume of data for fast retrieval.
Before the database system was invented, the flat file structure was commonly used to store data. For example, here is the comma-separated value (CSV) file that stores employee information:
first name, last name, phone John, Doe, (408)-245-2345 Jane, Doe, (503)-234-2355 .
The CSV file has three columns which are known as fields and rows which are known as records. When the number of rows in the flat file is increased e.g., million rows, it becomes unmanageable.
In the 1970s, Dr. Ted Codd, a computer scientist, invented the relational model for database management. The relational model deals with many issues caused by the flat file model. According to his model, data is organized in entities and attributes, instead of combining everything in a single structure.
An entity is a person, place, or thing and attributes describe the person, place, and thing. For example, you can use the relational model to organize the employee information into an employee entity with the attributes: first name, last name, and phone:
Each employee may have one or more contacts, you can create a contact entity and relate the employee entity to the contacts entity through a relationship called one-to-many.
By the way, we often refer to the entities as tables, records as rows, and fields as columns.
The relational model is better than the flat file model because it removes the duplicate data e.g. if you put employee and contact information on the same file. The employee, who has more than one contact, will appear in multiple rows.
The Relational Database Management System, or RDBMS in short, manages relational data. Oracle Database is an RDBMS with the largest market share.
Besides the Oracle Database, there are other RDBMS products available. Here are some notable ones:
- Db2 from IBM.
- SQL Server from Microsoft.
- MySQL – the most popular open-source database, also from Oracle.
- PostgreSQL – the most advanced open source database.
Oracle Database features
Oracle Database allows you to quickly and safely store and retrieve data. Here are the integration benefits of the Oracle Database:
- Oracle Database is cross-platform. It can run on various hardware across operating systems including Windows Server, Unix, and various distributions of GNU/Linux.
- Oracle Database has its networking stack that allows application from a different platform to communicate with the Oracle Database smoothly. For example, applications running on Windows can connect to the Oracle Database running on Unix.
- ACID-compliant – Oracle is ACID-compliant Database that helps maintain data integrity and reliability.
- Commitment to open technologies – Oracle is one of the first Database that supported GNU/Linux in the late 1990s before GNU/Linux become a commerce product. It has been supporting this open platform since then.
Oracle Database has several structural features that make it popular:
- Logical data structure – Oracle uses the logical data structure to store data so that you can interact with the database without knowing where the data is stored physically.
- Partitioning – is a high-performance feature that allows you to divide a large table into different pieces and store each piece across storage devices.
- Memory caching – the memory caching architecture allows you to scale up a very large database that still can perform at a high speed.
- Data Dictionary is a set of internal tables and views that support administer Oracle Database more effectively.
- Backup and recovery – ensure the integrity of the data in case of system failure. Oracle includes a powerful tool called Recovery Manager (RMAN) – allows DBA to perform cold, hot, and incremental database backups and point-in-time recoveries.
- Clustering – Oracle Real Application Clusters (RAC) – Oracle enables high availability that enables the system is up and running without interruption of services in case one or more server in a cluster fails.
Oracle Database Editions
Oracle provides three main editions of Oracle Databases as follows:
1) Enterprise Edition (EE) is the common and expensive edition of the Oracle Database. It has the following characteristics:
- No maximum number of CPUs
- No limits on memory or database size
- Include premium features that are not available in other editions.
2) Standard Edition (SE) is a limited edition of the Enterprise Edition that has the following characteristics:
- Limited to four or fewer CPUs
- No limit on memory or database size
- Include many features, but no as many as EE
3) Expression Edition (XE) is a free-to-use version of the Oracle Database that is available on both Windows and GNU/Linux platforms. These are the features of Oracle Database XE 18c:
- Limited to 2 CPUs
- Can use the maximum of 2GB of RAM, and has 12GB of user data.
- Very limited features
In this tutorial, you have learned about the Oracle Database, its notable features, and editions.
База данных Oracle. Структура и основные понятия СУБД Oracle
Oracle Database — это объектно-реляционная СУБД (система управления базами данных), созданная компанией Oracle. В настоящее время она имеет множество разных версий и типов. Однако в этой статье мы поговорим не о видах баз данных Oracle, а о структуре и основных концепциях, которые относятся к СУБД Oracle Database. Поняв архитектуру СУБД Oracle, вы заложите фундамент, необходимый для понимания прочих средств (а они весьма обширны), предоставляемых базой данных Oracle.
Базы данных Oracle: экземпляры и сущности
СУБД Oracle Database включает в себя физические и логические компоненты. Особого упоминания заслуживает понятие экземпляра. Замечено, что некоторые используют термины «база данных» и «экземпляр» в качестве синонимов. Да, это взаимосвязанные, но всё же разные вещи. База данных в терминологии Oracle — это физическое хранилище информации, а экземпляр — это программное обеспечение, которое работает на сервере и предоставляет доступ к информации, содержащейся в базе данных Oracle. Экземпляр исполняется на конкретном сервере либо компьютере, в то самое время как база данных хранится на дисках, подключённых к этому серверу:
При этом база данных Oracle является физической сущностью, состоящей из файлов, которые хранятся на дисках. В то же самое время, экземпляр – это сущность логическая, состоящая из структур в оперативной памяти и процессов, которые работают на сервере. Экземпляр может являться частью только одной базы данных. При этом с одной базой данных бывает ассоциировано несколько экземпляров. Экземпляр ограничен по времени жизни, тогда как БД, условно говоря, может существовать вечно.
Также стоит заметить, что у пользователей нет прямого доступа к информации, которая хранится в базе данных Oracle — они должны запрашивать эту информацию у экземпляра Oracle.
Если упрощённо, то экземпляр — это мост к базе данных, а сама БД – это остров. Когда экземпляр запущен, мост работает, а данные способны попадать в базу данных Oracle и покидать её. Если мост перекрыт (экземпляр остановлен), пользователи не могут обращаться к базе данных, несмотря на то, что физически она никуда не исчезла.
Структура базы данных Oracle
База данных Oracle включает в себя: — табличные пространства; — управляющие файлы; — журналы; — архивные журналы; — файлы трассировки изменения блоков; — ретроспективные журналы; — файлы резервных копий (RMAN).
Табличные пространства Oracle
Любые данные, которые хранятся в базе данных Oracle, просто обязаны существовать в каком-либо табличном пространстве. Под табличным пространством (tablespace) понимают логическую структуру, то есть вы не сможете попросить ОС показать вам табличное пространство Oracle.
При этом каждое табличное пространство включает в себя физические структуры, называемые файлами данных (data files). Одно табличное пространство Oracle способно содержать один либо несколько файлов данных, в то время как каждый файл данных может принадлежать лишь одному tablespace. Создавая таблицу, мы можем указать, в какое именно табличное пространство мы её поместим — Oracle находит для неё место в каком-нибудь из файлов данных, которые составляют указанное табличное пространство.
На рисунке ниже вы можете посмотреть на соотношение между файлами данных и табличными пространствами в базе данных Oracle.
Создавая новую таблицу, мы можем поместить её в табличное пространство DATA1 либо DATA2. Таким образом, физически наша таблица окажется в одном из файлов данных, которые составляют указанное табличное пространство.
Файлы базы данных Oracle
База данных Oracle может включать в себя физические файлы 3-х основных типов: • control files — управляющие файлы; • data files — файлы данных; • redo log files — журнальные файлы либо журналы.
Посмотрим на отношения между ними:
В управляющих файлах содержится информация о местонахождении других физических файлов, которые составляют базу данных Oracle, — речь идёт о файлах данных и журналов. Также там хранится важная информация о содержимом и состоянии БД Oracle. Что это за информация: • имя базы данных Oracle; • время создания БД; • имена и местонахождение журнальных файлов и файлов данных; • информация о табличных пространствах; • информация об архивных журналах; • история журналов, порядковый номер текущего журнала; • информация о файлах данных в автономном режиме; • информация о резервных копиях, контрольных точках, копиях файлов данных.
При этом функция управляющих файлов не ограничивается хранением важной информации, нужной при запуске экземпляра, — полезны они и в процессе удалении БД Oracle. К примеру, уже с версии Oracle Database 10g можно посредством команды DROP DATABASE удалить все файлы, которые перечислены в управляющем файле БД, включая сам управляющий файл.
Инициализация СУБД Oracle
Когда вы запускаете экземпляр Oracle, происходит считывание параметров инициализации. Параметры определяют, каким образом базе данных Oracle следует использовать физическую инфраструктуру и прочую конфигурационную информацию об экземпляре.
Как правило, инициализационные параметры хранятся в файле параметров инициализации экземпляра (обычно это INIT.ORA) либо, начиная с Oracle9i, в репозитории, называемом файлом параметров сервера (SPFILE). С выходом каждой новой версии Oracle число обязательных параметров инициализации уменьшается.
Кстати, в дистрибутиве Oracle можно найти пример файла инициализации, который пригоден для запуска базы данных. Также можно воспользоваться специальной программой Database Configuration Assistant (DCA) — она подскажет обязательные значения.
Вот, к примеру, как выглядит список обязательных параметров инициализации для СУБД Oracle Database 11g: 1. Местонахождение управляющих файлов — CONTROLFILES . 2. Локальное имя БД — DB_NAME . 3. Имя домена БД Oracle — DBDOMAIN . 4. Местонахождение архивного журнала — LOGARCHIVEDEST . 5. Параметр, который включает архивирование журналов — LOG_ARCHIVE_DEST_STATE . 6. Местонахождение области быстрого восстановления — DBRECOVERYFILEDEST . 7. Наибольший размер области быстрого восстановления БД Oracle в байтах — DBRECOVERYFILEDESTSIZE . 8. Размер блока БД в байтах — DBBLOCKSIZE . 9. Наибольшее количество процессов ОС, которые обслуживают одновременный доступ к СУБД Oracle — PROCESSES . 10. Наибольшее число сеансов работы с БД — SESSIONS . 11. Наибольшее количество открытых курсоров в базе данных — OPEN_CURSORS . 12. Наименьшее количество разделяемых серверов базы данных Oracle — SHARED_SERVERS . 13. Имя удалённого прослушивателя — REM O TE_LI S TENER . 14. Версия СУБД Oracle, с которой должна поддерживаться совместимость — COMPATIBLE . 15. Размер области памяти, которая автоматически выделяется для PGA и SGA экземпляра — MEMORY_TARGET . 16. Время ожидания возможности установить монопольную блокировку до отправки сообщения об ошибке (для команд DDL) — DDLLOCKTIMEOUT . 17. Язык, который определён в подсистеме поддержки национальных языков для базы данных Oracle — NLS_LANGUAGE . 18. Территория, которая определена в подсистеме поддержки национальных языков для БД — NLS_TERRITORY .
Более подробную информацию смотрите в официальной документации для СУБД Oracle Database.
Oracle Database
Устройте конкурс между агентствами и узнайте реальные цены и сроки выполнения вашего проекта. Создание заказа занимает 5 минут.
Об инструменте
Что такое Oracle Database
Oracle Database – это многомодельная система управления базами данных. Oracle Database может использоваться для оперативной обработки транзакций (OLTP), хранения данных, а также смешанных рабочих нагрузок баз данных. Это означает, что она может использоваться в вычислительных онлайн-сервисах, взаимодействуя с большими массивами данных: например, в основе аналитического онлайн-сервиса.
Основные возможности Oracle Database
- Различные варианты хранения данных: локальная, облачная и гибридная модель.
- Oracle Database может хранить даннные в реляционной, документальной, графовой, объектной модели, а также модели «ключ – значение».
- Поддержка большого количества разнообразных типов данных.
- Поддержка SQL и PL/SQL – процедурного расширения языка SQL, которое позволяет использовать императивный и объектно-ориентированный стиль программирования, в отличие от классического декларативного SQL.
- Автоматическая репликация данных.
- Автоматическое восстановление поврежденных данных.
- Автоматическое масштабирование базы данных при увеличении нагрузки.
- Поддержка транзакций – последовательностей операторов, которые рассматриваются как неделимое действие.
Особенности Oracle Database
СУБД, которые наиболее близки по функционалу к Oracle Database – IBM Db2 и Microsoft SQL Server. Oracle и IBM, как правило, борются за рынок баз данных среднего уровня на платформах Unix и Linux, в то время как Microsoft доминирует на рынке баз данных среднего уровня на платформах Microsoft Windows.
Преимущества Oracle Database
- Функции безопасности, такие как шифрование, контроль доступа и аудит.
- Возможности сжатия данных и поддержка ограничений ссылочной целостности, которые обеспечивают порядок и сохранение производительности в управлении большими массивами данных .
- Функция Database In-Memory, с которой Oracle Database может обрабатывать миллиарды строк данных в секунду.
- Технология машинного обучения с анализом данных в реальном времени – Oracle Machine Learning.
- Технологии для обеспечения кластеризации и высокой доступности данных, такие как Real Application Clusters и Data Guard.
- Поддержка всех популярных языков программирования.
- Наличие многофункциональных инструмента управления базами данных – Enterprise Manager.
При подготовке материала использовались источники:
https://otus.ru/nest/post/1577/
https://workspace.ru/tools/database/oracle-db/