Блоги: адміністрування, програмування, бази даних, SQL, Oracle. Створення збережених програм на Java в Oracle. Обробка виняткових ситуацій

23 вересня 2019 року (Москва) 25 листопада 2019 року (Москва)
Вартість: 38745 руб. знижка 10% до 17.03.2019 34870 руб.

Для грамотного використання Oracleнеобхідно мати гарне розуміння мови SQL. Курс " Oracle. Програмування на SQL, PL/SQL та JavaРозкриває повний спектр можливостей мови SQL в Oracle і ряд аспектів неочевидних особливостей побудови типових конструкцій БД.

  • PL/SQL - процедурна мова, розроблений фірмою Oracle для написання підпрограм, що зберігаються в БД. PL/SQL забезпечує загальну основу процедурного програмування як в клієнтських додатках, так і на стороні сервера, у тому числі підпрограм, що зберігаються на сервері, пакетів і тригерів бази даних.
  • Java - об'єктна мова, який може використовуватися для роботи з Oracle в різних конфігураціях, в тому числі, завдяки вбудованій в Oracle Java-машині, як друга мова для процедур, що зберігаються. Java залежить від конкретних платформ і може бути ефективним засобом інтеграції БД Oracle з іншими додатками, зокрема у Internet.

Курс супроводжується практичними вправами, що дозволяють закріпити розуміння базових понятьта освоїти основні технічні прийоми програмування мовами SQL, PL/SQL та Java.

Після закінчення курсуслухачі отримують можливість самостійного програмування Oracle на цих трьох мовах для вирішення завдань розробки додатків в архітектурі клієнт-сервер та у триланковій архітектурі, а також задач адміністрування БД.

Основна відмінність цього курсу від інших зі схожою тематикою в тому, що метою ставиться навчити конкретних слухачів реальній роботіз Oracle цими мовами, а не прочитати формально програму, підготовлену третьою стороною.

Курс призначенийдля розробників, програмістів та адміністраторів баз даних. Слухачі повинні мати гарний рівень комп'ютерної грамотності, і мати досвід програмування.

Знання даються за такими версіями:

  • Oracle Database 8i
  • Oracle Database 9i
  • Oracle Database 10g
  • Oracle Database 11g
  • Oracle Database 12c

Програма курсу "Oracle. Програмування на SQL, PL/SQL та Java"

Введення в Oracle SQL

1. Основні поняття

  • Бази даних та реляційна модель
  • Бази даних
  • Реляційний підхід до моделювання даних
  • Реалізація реляційної СУБД
    Інші підходи до моделювання даних та інші типи СУБД
  • Що таке SQL?
  • Історія та стандарти
  • Oracle-діалект SQL
  • PL/SQL

2. SQL*Plus та введення пропозицій на SQL

3. Приклад "схеми" бази даних

4. Створення, видалення таблиць та зміна структури

  • Пропозиція CREATE TABLE
  • Типи даних у стовпцях
  • Уточнення в описах стовпців
  • Вказівка ​​NOT NULL
  • Значення за замовчуванням
  • Перевірка CHECK значень, що надходять у таблицю
  • Створення таблиць за результатами запиту до БД
  • Найменування таблиць і стовпців
  • Віртуальні стовпці
  • Видалення таблиць
  • Зміна структури таблиць
  • Логічні та технічні особливості видалення стовпця
  • Використання синонімів для іменування таблиць
  • Перейменування
  • Довідкова інформація про таблиці в БД

5. Основні елементи речень DML: вирази

  • Безпосередні значення даних (літерали)
  • Числові значення
  • Рядки тексту
  • Моменти та інтервали часу
  • "Системні змінні"
  • Числові вирази
  • Вирази над рядками тексту
  • Вирази над типом "момент часу"
  • Функції
  • Скалярні функції
  • CASE-вирази
  • Скалярний запит
  • Умовні вирази
  • Окремі зауваження щодо відсутності значення у виразах

6. Вибірка даних

  • Фрази речення SELECT
  • Загальні правила побудови пропозиції SELECT
  • Порядок обробки пропозиції SELECT
  • Приклад 1 речення SELECT
  • Приклад 2 пропозиції SELECT
  • Логічна цілісність обробки пропозиції SELECT
  • Фраза FROM пропозиції SELECT
  • Варіанти вказівки стовпця
  • Стовпці з різних таблиць
  • Використання псевдонімів у запиті
  • Підзапит як джерело даних
  • Спеціальний випадок для запиту-з'єднання
  • Фраза WHERE пропозиції SELECT
  • Загальний алгоритм відпрацювання фрази WHERE
  • Оператори порівняння для отримання умовного виразу
  • Зв'язки AND, OR та NOT для комбінування умовних виразів
  • Умовний оператор IS
  • Умовний оператор LIKE
  • Умовний оператор BETWEEN
  • Умовний оператор IN з безліччю, що явно перераховується
  • Умовний оператор IN з безліччю, що отримується з БД
  • Умови порівняння з підзапитом
  • Вказівки ANY та ALL для порівняння з елементами безлічі значень
  • Умовний оператор EXISTS
  • Фраза SELECT та функції у реченні SELECT
  • Скорочений запис для групового відбору стовпців
  • Вирази у фразі SELECT
  • Підзапити у фразі SELECT
  • Уточнення DISTINCT
  • Особливості поведінки стандартних агрегатних функцій у пропозиції SELECT
  • Назва стовпців в результаті запиту
  • Системна функція ("змінна") ROWNUM та особливості її використання
  • Аналітичні функції
  • Вираз типу посилання курсор
  • Фраза ORDER BY пропозиції SELECT
  • Найпростіше сортування
  • Упорядкування за значенням виразу
  • Вказівка ​​номера стовпця
  • Двійкове та "мовне" впорядкування рядків
  • Особливості опрацювання відсутніх значень (NULL)
  • Фрази GROUP BY та HAVING пропозиції SELECT
  • Приклад відпрацювання фрази GROUP BY …
  • Відсутність значення у виразі для групування
  • Інші приклади
  • Вказівки ROLLUP, CUBE та GROUPING SETS у фразі GROUP BY
  • Фраза CONNECT BY пропозиції SELECT
  • Спеціальні системні функції у пропозиції з CONNECT BY
  • Упорядкування результату
  • Фраза WITH попереднього формулювання підзапитів
  • Комбінування пропозицій SELECT
  • Комбінування оператором UNION
  • Комбінування оператором INTERSECT
  • Комбінування оператором MINUS
  • Підзапити
  • Операція з'єднання у пропозиції SELECT
  • Види з'єднань
  • Новий синтаксис у версії 9
  • Особливості виконання операції з'єднання

7. Оновлення даних у таблицях

  • Додавання нових рядків
  • Явне додавання рядка
  • Додавання рядків, отриманих під запитом
  • Додавання до декількох таблиць одним оператором
  • Зміна існуючих значень полів
  • Використання стандартних значень в INSERT і UPDATE
  • Видалення рядків із таблиці
  • Вибіркове видалення
  • Варіант повного видалення
  • Комбінування UPDATE, INSERT та DELETE в одному операторі
  • Логічна цілісність операторів оновлення даних таблиць та реакція на помилки
  • Реакція на помилки у процесі виконання
  • Фіксація змін до БД
  • Дані про системний номер зміни для рядка
  • Прискорення виконання COMMIT

8. Швидке звернення до минулих значень даних

  • Читання старих значень рядків таблиці
  • Відновлення таблиць та даних раніше віддалених таблиць

9. Схемні обмеження цілісності

  • Різновиди схемних обмежень цілісності
  • Обмеження NOT NULL
  • Первинні ключі
  • Унікальність значень у стовпцях
  • Зовнішні ключі
  • Додаткова умова для значення у полі рядка
  • Додаткова умова, що зв'язує значення у кількох полях рядка
  • Додавання обмеження за наявності порушень
  • Призупинення перевірки схемних обмежень у межах транзакції
  • Відключення та включення схемних обмежень цілісності
  • Технологія включення та вимикання схемних обмежень цілісності
  • Більше складні правилацілісності

10. Віртуальні таблиці (похідні, що виводяться: views)

  • Основні ("базові") та віртуальні таблиці
  • Оновлення віртуальних таблиць
  • Обмеження прямої модифікації даних через віртуальні таблиці
  • Заборона безпосередніх оновлень
  • Звуження можливості безпосередніх оновлень
  • Віртуальні таблиці із зберіганням даних
  • Особливості іменованих віртуальних таблиць
  • Неіменовані віртуальні таблиці без зберігання даних

11. Нескалярні типи для "складно влаштованих" даних у Oracle

  • Об'єкти, що зберігаються
  • Простий приклад
  • Використання властивостей та методів об'єктів
  • Використання посилань на об'єкт
  • Колекції
  • Вкладені таблиці
  • Масиви VARRAY
  • Тип XMLTYPE
  • Простий приклад
  • Таблиці даних XMLTYPE
  • Перетворення табличних даних на тип XMLTYPE
  • Тип ANYDATA

12. Допоміжні види об'єктів, що зберігаються

  • Генератор унікальних номерів
  • Каталог операційної системи
  • Таблиці з даними тимчасового зберігання
  • Посилання на іншу БД
  • Підпрограми
  • Індекси
  • Індекси для перевірки схемних обмежень цілісності
  • Таблиці із зовнішнім зберіганням даних

13. Деякі зауваження щодо оптимізації SQL-пропозицій

14. Транзакції та блокування

  • Транзакції у Oracle
  • Приклади блокування даних транзакціями
  • Різновиди блокувань
  • Неявні блокування під час операцій DML
  • Вплив зовнішніх ключів
  • Явне блокування таблиць (тип TM) командою LOCK
  • Явне блокування окремих рядків таблиць
  • Недокументований різновид групового блокування
  • Блокування пропозиціями DDL

15. Користувачі (схеми) та додаткові засоби розмежування доступу до даних

16. Таблиці системного каталогу (словника-довідника)

18. Вбудований SQL

  • Деякі приклади складання запитів

19. Видати співробітників відповідно до більшого (меншого) окладу

  • Питання до БД
  • "Очевидне", але неправильне рішення
  • Правильні рішення
  • Рішення типу top-N (починаючи з версії 8.1.5)
  • Рішення з використанням аналітичних функцій ранжування

20. Переформулювання запиту з HAVING

22. Пастка умови із запереченням NOT

23. Пастка в NOT IN (S)

Введення в PL/SQL

1. Основні поняття

  • Місце PL/SQL в архітектурі Oracle
  • Загальна структура програми на PL/SQL

2. Основні типи та структури даних

  • Скалярні змінні
  • Числові типи
  • Строкові типи
  • Моменти часу та інтервали
  • Булеви змінні
  • LOB-типи
  • Оголошення змінних та постійних
  • Записи
  • Оголошення записів у програмі
  • Присвоєння
  • Посилання на типи вже наявних даних
  • Користувальницькі підтипи

3. Вирази

4. Основні керуючі структури

  • Розгалуження програми
  • Пропозиція IF-THEN
  • Пропозиція IF-THEN-ELSE
  • Пропозиція IF-THEN-ELSIF
  • Пропозиції CASE
  • Безумовна передача керування
  • Цикли
  • Простий цикл
  • Рахунковий цикл (FOR)
  • Цикл курсору (FOR)
  • Цикл WHILE
  • Імітація циклу REPEAT UNTIL
  • Мітки в циклах та в блоках

5. Підпрограми

  • Локальні підпрограми
  • Перевизначення «зовнішніх» імен
  • Попередні (forward) оголошення
  • Повторення імен на одному рівні (overloading)
  • 6. Взаємодія з базою даних: статичний SQL
  • Використання записів замість (списку) скалярів

7. Регулювання змін у БД

  • Управління транзакціями
  • Блокування
  • Автономні транзакції

8. Вбудований динамічний SQL

  • Оператори вбудованого динамічного SQL
  • Порівняльний приклад двох способів роботи з динамічним SQL

9. Використання курсорів

  • Явні курсори
  • Оголошення явних курсорів
  • Відкриття явних курсорів
  • Вилучення результату через явний курсор
  • Закриття явного курсору
  • Відсутність заборони змін таблиць при відкритому курсорі
  • Атрибути для явних курсорів
  • Декілька прикладів використання циклів та курсорів
  • Курсори з блокуванням рядків таблиці
  • Пропозиція SELECT … FOR UPDATE
  • Застереження щодо вживання курсорів з блокуванням
  • Можливість змінювати рядки, що вибираються курсором
  • Посилання на курсор
  • Загальні відомості
  • Приклад застосування для структуризації програми
  • Неявні курсори

10. Обробка виняткових ситуацій

  • Оголошення виняткових ситуацій
  • Приклади обробки
  • Породження виняткових ситуацій
  • Зона дії та поширення
  • «Внутрішні» виняткові ситуації блоку
  • Використання функцій SQLCODE та SQLERRM

11. Збережені процедури та функції

  • Загальний синтаксис
  • Параметри
  • Тип параметра
  • Режим використання параметра
  • Значення за замовчуванням
  • Способи вказати фактичні значення параметрів
  • Звертання до параметрів та локальних змінних у тілі підпрограми
  • Вказівки компілятору під час створення підпрограм
  • Збережені підпрограми та привілеї доступу до даних у БД
  • Дві логіки реалізації привілеїв доступу до даних БД
  • Особливості передачі привілеїв через ролі

12. Тригерні процедури

  • Створення тригерної процедури
  • Відключення тригерних процедур
  • Тригерні процедури для подій категорії DML
  • Комбіновані тригерні процедури
  • Управління транзакціями у тілі тригерної процедури
  • Послідовність спрацьовування тригерних процедур, коли їх кілька
  • Тригерні процедури INSTEAD OF для таблиць, що виводяться
  • Тригерні процедури для подій категорії DDL
  • Тригерні процедури для подій рівня схеми та БД

13. Пакети в PL/SQL

  • Загальна структура пакету
  • Звернення до елементів пакету
  • (Глобальні) дані пакету
  • Взаємні виклики та повторення імен
  • Ініціалізація пакету
  • Прагма SERIALLY_REUSABLE

14. Виклик функцій PL/SQL у пропозиціях SQL

  • Вимоги та обмеження на застосування функцій користувачів у SQL
  • Звернення SQL до функцій зі складу пакетів
  • Вирішення конфлікту імен стовпців та функцій
  • Табличні функції в SQL

15. Більш складні типи даних: колекції

  • Синтаксис оголошення типів для колекцій
  • Робота з асоціативними масивами
  • Створення вкладеної таблиці та масиву VARRAY у програмі
  • Додавання та видалення елементів у колекціях
  • Численні дії з колекціями
  • Перетворення колекцій
  • Методи роботи з колекціями у програмі
  • Приклади використання колекцій у програмі
  • Привілеї
  • Серійне виконання та прив'язування запитів до масивів
  • Серійне виконання однотипних операцій: конструкція FORALL
  • Прив'язка масивами: конструкція BULK COLLECT INTO
  • Приклад для схеми SCOTT
  • Використання колекцій у табличних функціях (потокової реалізації)
  • Простий приклад
  • Використання для перетворення даних

16. Налагодження процедур у PL/SQL

  • Таблиці словника-довідника
  • Залежність підпрограм
  • Системні пакети
  • Пакет DBMS_PROFILER
  • Пакет DBMS_TRACE
  • Функції пакета DBMS_UTILITY
  • Пакет DBMS_DEBUG
  • Приклад побудови профілю роботи програми

17. Системи програмування для PL/SQL

18. Системні пакети PL/SQL

  • Пакети STANDARD та DBMS_STANDARD
  • Інші системні пакети
  • Запис даних із програми у файл і назад
  • Шифрування даних
  • Автоматичний запуск завдань у Oracle
  • Управління динамічним розміщенням об'єктів у бібліотечному буфері
  • Маніпулювання великими неструктурованими об'єктами NULL
  • Доступ до старих значень даних
  • Розсилка повідомлень із програми на PL/SQL
  • Можливості роботи в PL/SQL із COM Automation
  • додаткові відомості
  • Простий приклад поділу відкриття курсору та обробки
  • Більш складний приклад поділу роботи

20. Атрибути тригерних процедур рівня схеми БД та подій у СУБД

ВСТУП У ПРОГРАМУВАННЯ ORACLE НА JAVA

1. Основні поняття

  • Місце Java в архітектурі Oracle
  • Співвідношення та взаємозв'язок PL/SQL і Java в Oracle

2. Особливості Javaта середовище роботи програм на Java

  • Архітектура Java
  • Програмні компоненти в середовищі розробки Java
  • Встановлення середовища розробки для Java
  • Середовище оточення OC

3. Створення самостійних програм на Java

  • Приклад транслювання та виконання програми

4. Створення збережених програм на Java в Oracle

  • Додаткові компоненти СУБД Oracle для роботи з програмами, що зберігаються на Java
  • Обмеження на програми, що зберігаються на Java
  • Встановлення, видалення та оновлення JServer/OJVM
  • Приклад створення Java-програми, що зберігається.
  • Створення за допомогою loadjava
  • Створення SQL-пропозицією
  • Звернення до завантаженого класу
  • Робота зі словником-довідником
  • Організація довідкової інформації
  • Перегляд Java-елементів
  • Перегляд вихідних текстів
  • Перетворення імен
  • Особливості вбудованої JVM
  • Інтерпретатор ojvmjava

5. Елементи програмування на Java

  • Основи мови
  • Базові конструкції мови
  • Змінні
  • Оператори
  • Вирази, пропозиції та блоки
  • Передача управління
  • Об'єкти та прості структури
  • Класи та успадкування
  • Створення класів
  • Механіка використання класу у програмі
  • успадкування
  • Інтерфейси
  • Обробка виняткових ситуацій
  • Деякі прийоми програмування на Java
  • Графічний інтерфейс
  • Групи об'єктів (колекції)
  • Потокове введення та виведення
  • Параметризація роботи програми за допомогою наборів властивостей
  • Серіалізованість об'єктів

6. Взаємодія з базою даних через JDBC

  • Використання JDBC
  • JDBC та JDBC-драйвери
  • JDBC-драйвери в Oracle
  • Встановлення JDBC-драйверів для роботи з Oracle
  • Програма Java для перевірки зв'язку через JDBC
  • Робота з даними Oracle з зовнішніх програмна Java
  • Звернення до БД через товстий OCI-драйвер
  • Робота з даними Oracle зі збережених програм на Java
  • Звернення до БД через товстий драйвер («рідний», kprb)
  • Звернення до БД через тонкий драйвер
  • Звернення до даних із тригерних процедур Oracle

7. Додаткові властивості протоколу JDBC

  • З'єднання із СУБД за допомогою техніки DataSource
  • Простий приклад з'єднання з технікою DataSource
  • Приклад з'єднання з використанням служби JNDI
  • Приклад кешування сполук
  • Приклади організації логічних сполук
  • Зміна даних у БД та звернення до підпрограм, що зберігаються.
  • Зміна даних
  • Управління транзакціями
  • Звернення до програм, що зберігаються
  • Параметризація запитів
  • Використання типів даних Oracle
  • Підвищення ефективності звернень до БД
  • Повторювані запити
  • Пакетне виконання
  • Посилання з програми на курсор у СУБД

8. Взаємодія з базою даних через SQLJ

  • Простий приклад програми
  • Транслювання та виконання програми з SQLJ
  • Більш складний приклад: множинна вибірка з БД
  • Використання SQLJ в процедурах, що зберігаються на Java
  • Приклад із завантаженням ззовні
  • Приклад із внутрішньою трансляцією

9. Основи побудови додатків для web з допомогою Javaта Oracle

  • Клієнтська частина: робота з аплетами
  • Приклад транслювання та виконання аплету
  • Web-сервер Apache
  • Спілкування з web-сервером за протоколом HTTP
  • Загальні поняття обміну повідомленнями у HTTP
  • Організація діалогу в HTML
  • Робота з сервлетами Java
  • Загальні відомості про сервлети Java та контейнери сервлетів
  • Пристрій сервлету Java
  • Приклад складання сервлету на Java
  • Приклад звернення до сервлета
  • Приклад сервлета із зверненням до бази даних
  • Використання класу HttpServlet
  • Робота з JavaServer Pages
  • Приклад складання сторінки JSP
  • Приклад звернення до сторінки JSP
  • Деякі можливості побудови сторінок JSP
  • Способи звернення до БД із сторінки JSP
  • Модель MVC організації програми для web

10. Взаємодія компонентів програми для web

  • Передача керування компонентів додатки webодин одному
  • Звернення на сторінках HTML до сторінок JavaServer та сервлетів
  • Передача керування зі сторінок JavaServer
  • Передача управління компонентам web із сервлетів
  • Абстракції Java для побудови програми web
  • Запит та відповідь
  • Область дії (scope)
  • Контекст сервлету
  • Обумовлені об'єкти сторінки JavaServer
  • Передача даних компонентів програми web один одному
  • Надсилання даних через параметри запиту
  • Передача даних через контекст та компоненти JavaBeans

11. Приклад побудови програми для web засобами Java та Oracle

  • Сторінка Logon.html
  • Сервлет Logon
  • Сторінка LogonError.html
  • Сторінка Main.jsp
  • Сторінка CompanyData.jsp та клас orajava.demos.StuffData
  • Сервлет Logout
  • Транслювання класів, розміщення файлів та перевірка програми
  • додаткові відомості

12. Приклад програмування власної розмітки JSP

  • Приклад використання готової розмітки
  • Приклад програмування власної розмітки

Наприкінці навчання на курсі проводиться підсумкова атестація у вигляді тесту або на підставі оцінок практичних робіт, виконаних у процесі навчання.

У сучасному світіскладно обійтися без інформаційних технологій та їх похідних - комп'ютерів, мобільних телефонів, інтернету тощо, особливо у великих компаніях та державних організаціях, які працюють з великою кількістю людей, а не лише з парою VIP-клієнтів, як це може бути у випадку невеликої компанії. А там, де є велика кількість контрагентів, заявників тощо. - не обійтися без баз даних, необхідні обробки інформації. Природно, що часи гросбухів та карток, пам'ятних багатьом бібліотекам, давно минули, сьогодні використовуються персональні комп'ютерита електронні бази даних.

Сьогодні неможливо уявити роботу найбільших компаній, банків чи державних організацій без використання баз даних та коштів Business Intelligence. Бази даних дозволяють нам зберігати та отримувати доступ до великих обсягів інформації, а система управління базами даних(СУБД) – здійснювати менеджмент доступних сховищ інформації.

У Навчальному центрі «Інтерфейс»Ви навчитеся ефективно використовувати системи управління базами даних: швидко знаходити потрібну інформацію, орієнтуватися у схемі бази даних, створювати запити, здійснювати розробку та створення баз даних.

Навчання дозволить Вам не тільки отримати знання та навички, але й підтвердити їх, склавши відповідні іспити на статус сертифікованого спеціаліста. Досвідчені фахівці з СУБД Microsoft SQL Serverабо Oracleможуть бути зацікавлені у вивченні систем бізнес-аналітики. Це завдання досить складні, що використовують громіздкий математичний апарат, але вони дозволяють не лише аналізувати процеси, що відбуваються, а й робити прогнози на майбутнє, що затребуване великими компаніями. Саме тому фахівці з бізнес-аналітики затребувані на ринку, а рівень оплати їх праці дуже гідний, хоч і кваліфікованим спеціалістам з баз даних, адміністраторам і розробникам, скаржитися на низький рівень доходу теж не доводиться. Приходьте до нас на курси та отримуйте затребувану та високооплачувану професію. Ми чекаємо вас!

Наприкінці навчання на курсах проводиться підсумкова атестація у вигляді тесту або шляхом виставлення оцінки викладачем за весь курс навчання на підставі оцінок, отриманих учням під час перевірки засвоєння матеріалу, що вивчається, на підставі оцінок за практичні роботи, виконані в процесі навчання.

Навчальний центр "Інтерфейс"надає консалтингові послуги з побудови моделей бізнес-процесів, проектування інформаційних систем, розроблення структури баз даних тощо.

  • Потрібна допомога у пошуку курсу?
    Наша мета полягає у забезпеченні підготовки фахівців, коли та де їм це необхідно. Можливе коригування програм курсів за бажанням замовників! Ми розповімо Вам про те, що цікавить саме Вас, а не лише про те, що жорстко зафіксовано у програмі курсу. Якщо вам потрібен курс, який ви не бачите на графіку або у нас на сайті, або якщо Ви хочете пройти курс в інший час та в іншому місці, будь ласка, повідомте нам, за адресою

Спочатку невеликий ліричний відступ. Компанія Oracleбула створена в 1977 році, зараз директором компанії є Ларі Елісон. Компанія налічує понад 36 000 співробітників (не рахуючи нас користувачів), у більш ніж 90 країнах світу. Річний оборот компанії становить понад 5,2 мільярда доларів на рік! Ось так працюють хлопці! Для прикладу, порівняйте з бюджетом Росії скажемо за минулий рік! :) Історії поки що вистачить.

Переходимо до апаратних вимог. В принципі Oracle Personal Edition, ставитися на Пентіум 330 та 128 мег озу! Хоча можливо поекспериментувати і з меншими обсягами, але я настійно не раджу, тому що заробите "мозкову травму", намагаючись зрозуміти чому все так повільно працює? Наприклад, я на своїй службі не маю машин нижче за Celeron 1300 і 256 озу. Але це кому як пощастить! Значить вважатимемо, що NT4.0або Advanced 2000у вас встановлений і в радісному очікуванні зустрічі з Oracle Serverвже все працює.

Відразу обмовлюся, все пробуватимемо на платформу NT. Чому? По-перше, засмічувати вам мізки операційної типу AIX, Solaris, Linux, я не буду, тим більше, що коли порозумнішаєте і без мене самі розберетеся, а працювати з Oracle, Що на UNIX, Що на NT, З погляду клієнта особливої ​​різниці немає. Просто я хочу без зайвих тертях спробувати показати Вам всю міць цієї звірюки під ім'ям ORACLE, а там прапор вам у руки, дерзайте вивчайте операційні системи та юзайте його на повну!

Ще один педантичний момент - ДрібноМ'які дуже не люблять все, що виробляють в конторі Ларі Елісона, тому попереджаю відразу не варто експерементувати і намагатися схрещувати на одному серваку MS SQLі Oracle!!! :(Результати будуть найгірші!!! Краще окрема машина і веселіться на своє задоволення!!! А з приводу який сервер краще MS SQLабо Oracle, Я полеміку розводити вже тим більше не буду! Та й вам не раджу!

Переходимо безпосередньо до інсталяції, тому що без цього починати працювати з Oracle, не має особливого сенсу, а знати цей процес, на майбутнє вам знадобиться! Я все поведу від Oracle 8.1.5.0і ось чому! У мене на руках версія цього сервера найбільш правдоподібна та перевірена, 8.1.7.0 у мене теж є, але вона має мало відмінностей від першої. Є в мене і 9i, але для неї у мене ще немає дорожнього сервака, а тому робіть висновок. Можете відступати від моїх інструкцій, благо я не страждаю манією величі і взагалі всім властиво помилятися. Всі зауваження і доповнення будуть прийматися, щоб збільшити частку істини в цьому заході пізнання Oracle Server!

Отже, хто не має дистрибутива 8.1.5.0 і що з ними бажано придбати, або запитувати у друзів та знайомих! Хтось обов'язково допоможе і я в це щиро вірю, час у вас ще є!

Отже, встановлюємо диск у компашник і чуйно прислухаємось до процесу AutoRun! Ух ти, і що ми бачимо!

Oracle Universal Installer- ця прога допоможе нам встановити та налаштувати продукти Oracleна вашому сервері або робочої станції. Пропозиція клацнути по кнопці "Встановлені продукти" раджу пропустити і не нікуди поки не "клацати", а просто натиснути кнопочку "далі" насолодившись приємним банером зі словами "Ласкаво просимо"!!!

Далі потрапляємо на екран "Розташування файлів" - тут здається потрібно трохи зупинитися докладніше: позиція 1 - це те де розташовані ваші файли інсталяції, тобто компакт-привід вашої машини, або щось ще. Позиція 2 – це системна змінна оточення Oracle, За якими шукаються компоненти сервера або клієнта і відповідно шлях до цих компонентів. Міняти тут, що або до певного часу не раджу, але якщо дуже сверблять ручки, можете спробувати, але за наслідки не відповідаю! :)))))

Отже, здається, почалося! Ось воно власне сам сервер своєю персоною (добре, що не нон-грато:). Тепер давайте трохи пригальмуємо і розберемося. Позиція 1 вказує на те, що ми вибираємо для встановлення власне сервер, але це не зовсім так, тому що ця ж позиція додасть на сервер NT і клієнтську частину, щоб можна було спілкуватися із сервером Oracleбезпосередньо із сервера! О, туфтологія почалася! Друга позиція - це встановлення чистого клієнта, його ще називають "товстим"! Але про це трохи згодом. І на кінець третя позиція, це як не важко здогадатися для програміста, щоб він створив нам щось зручне для роботи з сервером!

Посидючі і ті кому я ще не набрид клікайте кнопочку далі і дивіться наступний екран!

А!, ось теж дещо цікаве! Зараз нам пропонують, вибрати тип установки, поки вибирайте "типова", вона найпростіша і ставить найменше запитань, а найголовніше робить майже все до кінця сама і не набридає будь-якими дурними пропозиціями! Вибирайте її і не мудруйте. Хоча, якщо хто вибере мінімальну, теж нічого, але питання по ходу вирішуватимете самі! А ось користувальницьку поки не раджу чіпати взагалі, тому що у вас ще знань обмаль. Тиснемо далі і дивимося наступний екран!

Тут раджу залишити як є опція CD-ROM, інакше вона вам зафігачить до тих семіст ще 133 метри, на ваш диск! Так що як завжди Далі!

Так - ПРИЇХАЛИ! Не знаю навіть із чого почати! Почнемо з першої позиції Global DataBase Name- так як Oracleпочинаючи з версії з літерою -i, означає, що доменні імена БД мають ті ж правила, що і в Інтернеті, отже отримуй фашист гранату! Необхідно писати Ім'я->Дот->Домен, тобто, наприклад vasiapupkin.ru, або щось ще що прийде у ваше окрилене моментом свідомість! Я просто написав proba.com, Так як "він поважати себе змусив і краще вигадати не міг"! Друга позиція SIDце все крім .comтобто ім'я екземпляра бази глобальне, з ним буде пов'язаний ще один момент, але про нього трохи пізніше! Так що, якщо тут не дотриматися схеми Ім'я->Дот->Домен, робитимете все наново!!! А ваш клієнт так і не знайде екземпляра вашої бази!

Ось і відкрилося зведення, тут простежте тільки щоб мова установки була російська! А він і так російський, от і славненько! Клікати далі зав'язуємо, так як ось він і настав довгоочікуваний мить і з усієї сили Тиснемо "Установка"!

Навколо чорної діри почне крутитися планета, а прогресбар почне свій вічний синій рух вправо чи блакитне, а в іншому якась різниця! Дивимося і насолоджуємося цим чудовим видовищем!

Політ планети продовжується, але нам з вами вже дякують за вибір сервера (показано стрілочкою) приховуючи гордість продовжуємо встановлення сервера!

Так, а ось і відповідальний момент все начебто само собою, але саме зараз народжується екземпляр БД!!! Дуже відповідальна ділянка, та поки "нагодуй собак і нічого не чіпай!" :))

Ура! БД створена екземпляр запущений і готовий до прийому коннект! Але тут і починається найцікавіше. Ось це віконце розповідає про трьох танкістів, немає не про тих, що випили по триста! А тих, які відповідають за адміністрування щойно нового екземпляра БД!!! НЕ квапися натискати кнопку ОК! Виконай принтскрин і скопіюй з буфера в паінтбраш, то я до речі і робив ці скріншоти! І ось чому. У цих трьох твої ключі від БД як адміністратора. Першого звуть sysвін старший із братів, його пароль за умовчанням change_on_install, другого звуть system, пароль за замовчуванням manager! Середній був і так і сяк, а ось молодший зовсім не дурень! Його звуть INTERNAL, його пароль (як його ставити цю тему для окремого кроку) - правильно ORACLE! Хто вони такі і з чим їх їдять, я ще розповім, поки це все зараз, тисни OK!

А ось ще один спосіб, перевірити як почувається сервер. Треба відкрити "Панель управління - Адміністрація - Служби" і знайти два сервіси, один в імені закінчується так само як SIDбази, а інший закінчується TNSListener! Так ось вони повинні обидва бути запущені і обидва стояти Automatic!!! Хто з них, для чого поки що розбирати не будемо.

А зробимо ось що. Натиснемо на першому (...PROBA) правою кнопкоюмиші та оберемо пункт меню Stop. Потрібно не забути запустити Диспетчер завдань! Якщо після того, як процес зупиниться, жовта лінія витрати пам'яті різко опуститься вниз, значить сервер УПАЛ! Ні, вірніше просто екземпляр бази зупинено, але в цьому немає нічого страшного:)

Тепер там правою кнопочкою миші, тільки цього разу Start, УРА! Пам'ять стрибнула вгору! Примірник знову в роботі. База доступна і знову чекає на коннекти. Другий сервіс поки не відключайте і решта теж поки не чіпайте, з ними розберемося пізніше! Ось звідси напрошується висновок! Весь екземпляр БД живе у ОЗУ! І це одна з особливостей сервера Oracle! А, особливостей у нього сила-силенна в чому ми і переконаємося надалі! На цьому з установкою поки що все!

Просто і ясно пояснюється, що таке реляційні бази даних взагалі, і які переваги перед своїми аналогами мають СУБД Oracle. Попит на системи цієї корпорації постійно зростає, випускаються нові й нові версії, кожна з яких має свої особливості. Даний посібник дає всеосяжний опис останньої модифікації, що вийшла - Oracle Database 11g. Перші розділи присвячуються організації структури та архітектури 11g, її інсталяції, запуску та налаштуванню. Далі пояснюються механізми безпеки, досліджуються критерії оцінки відповідності вимогам. Приділяється увага багатокористувацькому конкурентному доступу, сховищу даних, розподіленим базам даних, OLTP-системам, забезпеченню високої доступності, апаратним архітектурам. До останніх входять кластери, симетричні мультипроцесори, Numa-системи і gird-обчислення.

Усі описи ілюструються прикладами. Книжку «Oracle 11g. Основи» Ріка Грінвальда, Роберта Стаков'яка та Джонатана Стерна можна рекомендувати всім, хто раніше не використовував Oracle, і лише планує розпочати роботу з цими системами. У той же час керівництво цілком підійде як довідник і спеціалістам, які вже використовують ці системи.

У книзі «101 Oracle8i. Організація роботи в мережі» розглядаються основні принципи побудови мереж, здійснення взаємодії компонентів мережевої архітектури Oracle, докладно описано програмне та апаратне забезпечення, яке необхідне для організації успішного з'єднаннякомп'ютерів та баз даних. У книзі пропонуються покрокові інструкції щодо створення та конфігурування мережі Oracle, при цьому інструкція має ілюстрації знімків екранів. Для ознайомлення наводяться загальні відомості про протоколи Інтернету та шифрування.
Дане видання було схвалено та рекомендовано самою корпорацією Oracle.

Видання «Oracle. Програмування на мовою Java» являє собою одне з найповніших довідкових посібниківстворення програмних компонентів Java для баз даних Oracle.
Вивчивши запропонований матеріал, читач зможе самостійно будувати програми з окремих компонентів, при цьому програми матимуть можливість звертатися до інших об'єктів у середовищі Oracle. У книзі здійснюється демонстрація того, як необхідно працювати з моделями серверних компонентів CORBA та Enterprise JavaBeans (EJB) для розподілених обчислювальних систем. Також детально висвітлюються питання, пов'язані з процесом розробки компонентів EJB та CORBA, розробкою та впровадженням компонентних додатків за допомогою SQLJ та Java та SQLJ. Пропонуються покрокові інструкції побудови програм JavaServer Page (JSP). Читач дізнається, яким чином створювати додатки БД, які виробляють управління схемами об'єктно-реляційних та реляційних базданих.
У книзі розкрито такі теми:
- Методи роботи в розподілених обчислювальних середовищах;
- Здійснення побудови компонентів Enterprise JavaBeans і CORBA;
- Організаціями управління транзакціями;
- Побудова сторінки JSP на основі компонентів JavaBeans, CORBA, EJB;
- Створення додатків баз даних за допомогою сервлетів, сторінок JSP, XML;
- Застосування утиліти XML-SQL для проведення запитів та операцій оновлення.

Посібник «Oracle9i. Програмування мовою PL/SQL» призначене для програмістів, які бажають освоїти розробку надійних програм PL/SQL. У книзі розглянуто основні можливості баз даних різних версій. Видання покликане навчити розробку, тестування та налагодження додатків PL/SQL в різних середовищах розробки. Розглянуто синтаксис PL/SQL, дано опис змінним, типам даних, операціям, виразам, керуючим структурам. Показано використання різних середовищ розробки та виконання PL/SQL, застосування можливостей багаторівневих конструкцій Oracle9i.

Розглянуто питання забезпечення узгодженості даних за допомогою інструкцій керування транзакціями SQL, створення та застосування функцій, модулів та процедур, використання DML, тригерів для вирішення складних обмежень даних. Пояснено застосування курсорів для керування обробкою інструкцій SQLта для багаторядкових запитів. Розкрито тему використання розвинених засобів PL/SQL, таких як вбудований динамічний SQL, зовнішні процедури та об'єктні типи. Книга офіційно схвалена корпорацією Oracle.

Книга «Oracle9iR2: розробка та експлуатація сховищ баз даних» присвячена особливостям використання сховищ даних (WareHouse). Описано принципи побудови сховищ з урахуванням СУБД Oracle9i. Розглянуто теоретичні та практичні питання проектування сховищ даних – однієї з найскладніших галузей. програмної інженерії. Вона враховує всі існуючі методології проектування програмного забезпечення, але їх виконання не може у зв'язку з відносною молодістю даної сфери та нестачею фахівців, які працюють у ній. Книга може служити посібником для різних фахівців у галузі інтернет-технологій, а також буде корисною аналітикам, маркетологам та іншим спеціалістам, які використовують у своїй роботі сховища.

«Oracle9i XML. Розробка програм електронної комерції з використанням технології XML», написана розробниками XML-продуктів компанії Oracle, присвячена розробці та розгортанню заснованих на транзакціях міжплатформних додатків Оrасlе9i із застосуванням технології XML. Ця технологія є нині промисловим стандартом опису даних при організації Інтернет-торгівлі та інтеграції додатків. електронного бізнесу.

Книга спрямована на навчання ефективному використанню всіх переваг інструментального пакету розробника Oracle XML Developer Kit (XDK) з метою створення, перегляду, перетворення та управління ХМL-документів. Використання вбудованих в Оrасlе9i і функцій XML функцій, що підтримують, наочно ілюструється різними практичними прикладами, описаними в книзі. Завдяки цій книзі читач дізнається про переваги ХМL-інфраструктури Оrасlе9i та інструментальний пакет розробника Oracle XML Developer Kit та навчиться їх використовувати.

У книзі описано, як користуватися синтаксичними аналізаторами, генераторами, процесами, програмами перегляду та різними утилітами пакету XDK. Читач навчиться розробці програм Оrасlе9i за допомогою Java XML-компонентів, ефективному застосуванню нових функцій XML SQL і PL/SQL, створенню та використанню додатків для OAS і Оrасlе9iAS, орієнтованих на обробку транзакцій. У книзі розглянуто, як керувати різними типами даних - текстовими, звуковими, графічними, відео - за допомогою засобу Oracle Text, описані особливості розробки програм електронного бізнесу, що працюють у системі Webз використанням компонента Oracle E-Business XML Services та багато іншого.

Книга одного з найбільших у своїй сфері фахівців Джонатана Льюїса «Oracle. Основи вартісної оптимізації» присвячена компонентам моделі обробки даних Oracle, що найчастіше використовуються, опису роботи оптимізатора з наданою йому статистикою і причин, з яких його робота може розладнатися. Будучи лише фрагментом коду, що містить модель обробки даних Oracle, вартісний оптимізатор застосовує цю модель до статистики за вашими даними і намагається ефективно перетворити на виконуваний план створений вами запит. Але оскільки модель часто далека від досконалості, а статистика теж не завжди ідеальна, то план виконання може залишати бажати кращого. Маючи в своєму розпорядженні інформацію про те, чому робота оптимізатора може розладнатися, можна не тільки виправити окремі оператори SQL, але й відрегулювати модель, створити більш надійну статистику і тим самим повністю вдосконалити проблемні області.

Самовчитель «Вступ до Oracle 10g» Дж. Перрі та Дж. Поста дає можливість ознайомитися з базовими принципами роботи системи управління базами даних Oracle, потренуватися у застосуванні основних навичок та закріпити в пам'яті засвоєні знання. Пропонований матеріал докладно викладено та добре проілюстровано безліччю прикладів. Книга написана простою та доступною мовою і буде вдалим придбанням насамперед для людей, які не мають великого досвіду у спілкуванні з базами даних. До самовчителя додається словник найбільш важливих термінів, що часто використовуються, необхідних кожному, хто працює з різними системамиуправління базами даних. Книга розрахована на широке коло читачів, але може використовуватися і як навчальний посібник для аспірантів та студентів, які здобувають освіту в галузі інформаційних технологій.

PL/SQL — це дуже потужна процедурна мова компанії Oracle, яка є основою додатків, створюваних на технології Oracle останні п'ятнадцять років. Спочатку PL/SQL призначався виключно для розробників. Але на сьогоднішній день він став важливим інструментом адміністрування баз даних, оскільки безпосередня відповідальність адміністраторів за високу продуктивність баз даних підвищилася, а відмінності між розробниками та адміністраторами крок за кроком стираються. Видання «Oracle PL/SQL для адміністраторів баз даних» — це перша книга, в якій PL/SQL розглядається з боку адміністрування. Слід зазначити, що виклад орієнтований на версію програми 10g Release 2 і починається з короткого огляду PL/SQL, якого буде достатньо для знайомства адміністратора БД з азами цієї мови та подальшого початку роботи на ній. Потім у книзі розглядаються питання забезпечення безпеки, які можна віднести до адміністрування бази даних: контроль доступу на рівні рядків, шифрування (описані як звичайні методи, так і інноваційне прозоре шифрування Oracle - TDE), генерація випадкових значень та ретельний аудит (FGA). p align="justify"> Особливу увагу в книзі приділено способам збільшення продуктивності бази даних, а також запитів за рахунок використання табличних функцій і курсорів. У ній описується застосування планувальника Oracle, який дає можливість настроїти систематичне виконання таких завдань, як збирання статистики та моніторинг бази даних.

Видання «Секрети Oracle SQL» на багатьох прикладах розкриває перед вами способи використання засобів SQL для того, щоб створювати не просто зручні, але й вкрай ефективні супроводи запитів серед Oracle. Ця книга допоможе вам будувати ефективні запити, які будуть працювати з колекціями та об'єктами, застосовувати можливості CASE та DECODE для створення умовної логіки при формуванні запитів SQL та використовувати для створення віконних запитів численні аналітичні функції SQL. Крім цього, ви зможете освоїти складні функції, що групують, використання ANSI-сумісного синтаксису об'єднання, навчитеся повною мірою використовувати численні конструкції SQL, серед яких усім відомі групи, підзапити, об'єднання та багато іншого. Вивчаючи інформацію на сторінках книги, ви не тільки станете більш впевнено створювати SQL-запити, а й підвищите свою освіченість у цій сфері, а, як наслідок, і продуктивність. Навчившись використовувати нові типи для дат і часу, обробляти ієрархічні дані, ви зможете, використовуючи властивості Oracle SQL, вирішувати цілком певні завдання за допомогою недоступних раніше прийомів. Книга «Секрети Oracle SQL» призначена для програмістів на PL/SQL та Java-програмістів, адміністраторів баз банних.

ОСНОВИ СУБД ORACLE
Лекція №2
Основні об'єкти ORACLE. Засоби
маніпулювання даними мови SQL. Структура
запиту. Найпростіші запити. Формування
критерію відбору. Сортування

Об'єкти моделі зберігання даних ORACLE

ОБ'ЄКТИ МОДЕЛІ ЗБЕРІГАННЯ ДАНИХ
ORACLE
Поділ логічного та фізичного
зберігання даних одна з необхідних частин
парадигми реляційних баз даних Як уже
говорилося, відрізняється фізична і
логічні структури.
Фізична структура включає в себе
файли даних, керуючі файли та
оперативні журнали
Логічна структура – ​​це табличні
простори, сегменти, екстенти та блоки
даних.

Логічні структури

ЛОГІЧНІ СТРУКТУРИ
Табличні простори – верхній рівень
абстракції.
Сегмент даних – простір, виділений для
логічного об'єкта в табличному просторі Він
розташовується тільки в одному табличному просторі, але
може знаходиться в будь-якому файлі цього табличного
простору. Сегмент складається з одного або більше
екстентів.
Екстент – це послідовність фізично
прилеглих один до одного блоків даних. Табличне
простір для сегментів виділяється шляхом додавання
екстентів.
Блок даних – найменша логічна одиниця, яку
ORACLE виділяє у файлі даних. Блок даних
ORACLE складається з одного або кількох блоків
операційна система.

Взаємозв'язок між логічними структурами

ВЗАЄМОЗВ'ЯЗОК МІЖ ЛОГІЧНИМИ
СТРУКТУРАМИ

Каталоги

КАТАЛОГИ
Об'єкт каталог (directory) є
логічним посиланням у базі даних на каталог
файлової системи сервера, де встановлена
БД ORACLE. Власником усіх об'єктів
directory у базі даних є користувач
SYS, навіть якщо об'єкт directory створено іншим
користувачем. Імена об'єктів directory
унікальні всередині всієї БД. Усі об'єкти
Directory зберігаються у табличному просторі
SYS.

Користувачі

КОРИСТУВАЧІ
У базі даних обліковий запис користувача не є
фізичною структурою, але вона пов'язана важливими
взаємовідносинами з об'єктами бази даних:
користувачам належать об'єкти. Користувач SYS
володіє таблицями словника даних, що містять
інформацію про інші структури бази даних.
Користувачеві SYSTEM належать уявлення,
словника даних, що звертаються до цих таблиць, що
дозволяє іншим користувачам бази даних
використовувати їх.
Об'єкти в базі даних створюються з обліковими записами
користувачів. Для кожного облікового запису можна встановити
конкретний табличний простір як
табличного простору за замовчуванням.

Схеми

СХЕМИ
Набір об'єктів, що належать до облікового запису
користувача називається схемою. Можна створити
користувачів, які не мають права входу до бази даних.
Такі облікові записи пропонують схему, яку можна
використовувати для зберігання наборів об'єктів бази даних
окремо від схем інших користувачів.
У ORACLE схемаприв'язується лише до одного
користувачеві (USER) і є логічним набором
об'єктів бази даних Схема створюється під час створення
користувачем першого об'єкта, і всі наступні
об'єкти, створені цим користувачем, стають
частиною цієї схеми.
Схема може містити інші об'єкти, що належать
цього користувача.

Ролі

РОЛІ
Для скорочення обсягу інформації з управління
доступом та для забезпечення більш гнучких можливостей
управління обидві СУБД застосовують групування
привілеїв – можливість однією дією
адміністратора надати різним користувачам
однаковий набір привілеїв. Однак уявлення
Концепції групування різні в наших двох СУБД.
ORACLE використовує з цією метою ролі. Роль – це об'єкт
бази даних, що є іменованим набором
привілеїв, що може надаватися
користувачеві чи іншій ролі.

Профілі

ПРОФІЛІ
Профілі мають подвійну функцію, це реалізація
парольної політики та розподіл ресурсів.
Парольна політика виконується завжди, контроль за
використанням ресурсів здійснюється, якщо значення
параметра RESOURCE_LIMIT дорівнює TRUE, за
За замовчуванням воно дорівнює FALSE. Профілі використовуються
автоматично, але профіль призначається всім
користувачам за замовчуванням, а саме користувачам
SYS, SYSTEM та ін. – DEFAULT дуже простий.

10. Таблиці

ТАБЛИЦІ
Таблиці є механізмом збереження
інформації у базі даних ORACLE. Вони містять
фіксований набір стовпців, в яких описуються
атрибути об'єкта, з яким ця таблиця працює. У
кожного стовпця є ім'я та унікальні характеристики.
Тимчасова таблиця є механізмом зберігання даних
у базі даних ORACLE. Тимчасова таблиця складається з
стовпців, що мають типи даних та довжину. На відміну від
регулярної таблиці опис тимчасової таблиці
зберігається, але дані, внесені до таблиці, залишаються в
під час сеансу або під час транзакції.

11. Кластери

КЛАСТЕРИ
Таблиці, з якими часто працюють спільно,
можна фізично зберігати разом. Для цього
створюється кластер, який їх утримуватиме.
Дані таких таблиць зберігаються разом у
кластері, що зменшує кількість операцій
введення/виводу та підвищує продуктивність.
Пов'язані стовпці таблиць називаються
кластерним ключем. Кластерний ключ
індексується за допомогою кластерного індексу,
причому його значення зберігається лише один раз
для кількох таблиць кластера. Кластерний
індекс необхідно створити до введення (insert)
нових рядків у таблиці кластера.

12. Обмеження

ОБМЕЖЕННЯ
На стовпці таблиці можна накладати обмеження; при цьому
кожен її рядок повинен задовольняти вказане в
описі обмеження.
Обмеження NOT NULL перевіряє щоб кожен рядок
таблиці містила значення даного стовпця.
Обмеження DEFAULT генерує значення стовпця при
включення (insert) рядка до таблиці, але для нього не
вказується жодного значення.
Обмеження CHECK дозволяє переконатися, що
значення у вказаному стовпці відповідають
певного критерію.

13. Обмеження

ОБМЕЖЕННЯ
Обмеження UNIQUE гарантує унікальність
стовпця, який має бути унікальним, але не
є частиною первинного ключа.
Обмеження первинного ключа PRIMARY KEY
гарантує, що кожен рядок таблиці повинен містити
значення не порожнє для даного стовпця.
Обмеження зовнішнього ключа FOREIGN KEY
визначає природу взаємин між таблицями.
Зовнішній ключ однієї таблиці посилається на первинний
ключ, який був раніше визначений десь в іншому місці
бази даних.

14. Послідовності

НАСЛІДНОСТІ
Визначення послідовностей (sequences) міститься в
словник даних. Послідовності дозволяють
спростити процес програмування, оскільки
надають послідовний список унікальних
номерів.
При першому зверненні до послідовності у запиті вона
повертає зумовлене значення. Кожен
наступний запит повертає значення, яке більше
попереднього на вказане збільшення.
Послідовності можуть бути циклічними, а можуть
збільшуватися до досягнення заданого максимального
значення.

15. Індекси

ІНДЕКСИ
Індекс - це структура бази даних, що використовується сервером
для швидкого пошуку рядка у таблиці. Існують три
типу індексів: кластерні, табличні та індекси бітової
карти або бітові індекси. Кластерні індекси
містять значення ключів кластерів у кластерах.
Табличний індекс містить значення рядків таблиць
разом із фізичним розташуванням рядка (RowlD).
Бітовий індекс є особливим типом табличного
індексу, призначеним для підтримки запитів
великих таблиць зі стовпцями, що містять декілька
окремих значень.

16. ROWID

Для того, щоб ORACLE міг знайти дані, кожен рядок в
кожній таблиці позначається за допомогою ідентифікатора
RowID. Цей ідентифікатор містить інформацію про
тому, де конкретно розташований рядок (файл, блок
всередині цього файлу та рядок усередині цього блоку).
УВАГА: Таблиця, організована за індексом, не
містить традиційні для ORACLE ідентифікатори
RowlD. Натомість як логічні
Ідентифікатори використовують первинний ключ.

17. Знімок

ЗНІМОК
Знімок – це тільки-читана копія таблиці або даних
з кількох таблиць. Знімок періодично освіжається,
щоб відобразити останній узгоджений стан
таблиць, що він відображає. Знімки містяться в
схему користувача. Ім'я знімка має бути
унікальним по відношенню до інших об'єктів у цій
схемою.

18. Подання

ПРЕДСТАВЛЕННЯ
Насправді уявлення – це таблиця, що містить
стовпці, і звернення до нього здійснюється точно так
так само, як і до таблиці. Однак воно не містить даних.
Концептуально уявлення можна вважати маскою,
що перекриває одну або кілька таблиць, оскільки
стовпці подання містяться в одній або
кількох таблицях. Але фізично уявлення не
містять дані. Визначення уявлення
(що включає запит, на якому воно засноване,
розташування його стовпців та призначені привілеї)
міститься у словнику даних.

19. Збережені процедури та функції

ЗБЕРЕЖНІ ПРОЦЕДУРИ ТА ФУНКЦІЇ
Процедура – ​​це блок операторів PL/SQL, що зберігається в
словник даних і викликаний додатками.
Процедури дозволяють зберігати у базі даних часто
використовувану логіку додатків. При виконанні
процедури всі її оператори виконуються як єдине
ціле. Процедури не повертають жодних значень
яка викликала їх програмі.
Функції, як і процедури, є блоками коду,
що зберігаються у базі даних. Однак на відміну від
процедур функції можуть повертати значення викликала
їхню програму. Можна створювати свої власні
функції та звертатися до них в операторах SQL, а можна
використовувати тільки ті функції, які
надаються середовищем ORACLE.

20. Пакети

ПАКЕТИ
За допомогою пакетів можна впорядкувати процедури та
функції та об'єднувати їх у логічні групи.
Специфікації та тіла пакетів зберігаються у словнику
даних. Пакети бувають дуже корисними при вирішенні
завдань адміністрування з управління процедурами та
функціями.

21. Тригери

ТРИГЕРИ
Тригери – це процедури, які виконуються при наступі
вказаної події бази даних. За допомогою тригерів
можна зміцнити посилальну цілісність, забезпечити
додаткову безпеку або підвищити доступні
можливості аудиту.
Існують два типи тригерів:
Операторні тригери. Спрацьовують один раз для
кожного оператора, що активізує.
Строкові тригери. Спрацьовують один раз для кожної
рядки таблиці, яку впливають дані оператори.
Для будь-якого типу тригера можна створити тригери BEFORE
(до) та AFTER (після), що відносяться до кожного типу
активізуючих подій. До таких подій
відносяться команди insert, update та delete

22. Засоби маніпулювання даними мови SQL

ЗАСОБИ МАНІПУЛЮВАННЯ
ДАНИМИ МОВИ SQL
ORACLE підтримує 4 стандартні оператори
маніпулювання даними:
INSERT - використовується для введення даних;
SELECT - використовується для вибірки даних;
UPDATE – використовується для оновлення даних;
DELETE – використовується видалення даних.

23. Введення даних

ВВІД ДАННИХ
Оператор INSERT використовується для додавання рядків до
таблиці. Ви можете вказати наступну інформаціюпри
використання оператора INSERT:
Таблиця, до якої потрібно додати рядок.
Список стовпців, для яких будуть задані значення.
Список значень, які зберігатимуться у вказаних
стовпці.
Під час додавання рядка необхідно вказати значення
для первинного ключа та всіх інших стовпців, які
визначено як NOT NULL. Немає необхідності
вказувати значення для інших стовпців; їм
автоматично буде надано значення NULL.

24. Прості маніпуляції щодо вибірки даних з однієї таблиці.

ПРОСТІ МАНІПУЛЯЦІЇ З ВИБІРКИ
ДАНИХ З ОДНІЙ ТАБЛИЦІ.
Оператор SELECT використовується для вибірки даних з
таблиць бази даних У найпростішому прикладі ви
вказуєте таблицю та стовпці, які вам необхідно
вибрати з бази даних
Відразу за ключовим словом SELECT вказуються імена
стовпців, які вам необхідно отримати, а після
ключове слово FROM вказує ім'я таблиці.
Оператор мови SQL закінчується крапкою з комою (;).
Оператори SELECT часто називають запитами.
SELECT<список столбцов>
FROM<список таблиц>;

25. Використання WHERE

ВИКОРИСТАННЯ WHERE
Якщо потрібно вивести лише певні рядки,
необхідно додати до оператора SELECT ключове
слово WHERE. Це дуже важливо, оскільки ORACLE
вміщує величезну кількість рядків у таблиці, можна
отримати невелике підмножина цих рядків. Для цього
необхідно після ключового слова FROM та імені
таблиці помістити ключове слово WHERE та вказати
умова відбору:
SELECT<список столбцов>
FROM<список таблиц>
WHERE<условие отбора>;

26. Оператори порівняння, що застосовуються з WHERE

ОПЕРАТОРИ ПОРІВНЯННЯ ЗАСТОСУВАННІ
З WHERE
Оператор
=
<>або! =
<
>
<=
>=
ANY
SOME
ALL
Опис
Рівно
Не дорівнює
Менше
Більше
Менше або дорівнює
Більше або дорівнює
Порівнює значення з будь-якими
значеннями зі списку
Ідентично оператору ANY;
використовується рідше, ніж ANY
Порівнює значення з усіма
значеннями у списку.

27. Використання SQL операторів для формування запитів

ВИКОРИСТАННЯ SQL ОПЕРАТОРІВ ПРИ
ФОРМУВАННЯ ЗАПИТАНЬ
Оператор
LIKE
IN
BETWEEN
IS NULL
IS NAN
IS INFINITE
Опис
Перевіряє відповідність рядка
заданому шаблону
Перевіряє значення на присутність
в списку
Перевіряє значення на входження в
діапазон

порожнім
Перевіряє, чи є значення не
числовим значенням
Перевіряє, чи є значення
нескінченним BINARY_FLOAT або
BINARY_DOUBLE

28. Сортування даних

СОРТУВАННЯ ДАНИХ
Для сортування рядків використовується ключове
слово ORDER BY. При використанні ORDER BY можна
вказати один і більше стовпців за якими необхідно
відсортувати отримані рядки. Вираз ORDER
BY має слідувати за виразом FROM або WHERE
(якщо за допомогою WHERE вказується умова відбору).
Наступний приклад використовує ORDER BY для
сортування рядків із таблиці CUSTOMERS по стовпцю
LAST_NAME:
SELECT *
FROM customers
ORDER BY last_name;

29. Оновлення даних

ОБНОВЛЕННЯ ДАНИХ
Для зміни даних у таблиці використовується оператор UPDATE.
При використанні оператора UPDATE зазвичай вказується
наступна інформація:
Ім'я таблиці
Вираз WHERE, що визначає які рядки будуть
змінено.
Список стовпців та їх значень, визначених за допомогою
ключове слово SET.
За допомогою того самого запиту UPDATE можна змінити
один і кілька рядків. При зміні кількох рядків
потрібно пам'ятати, що нове значення буде застосовано у всіх
рядках. Наприклад, наступний запит UPDATE встановлює
для стовпця last_name значення Orange у рядку, чий customer_id
дорівнює 2.
UPDATE customers SET last_name = "Orange"
WHERE customer_id = 2;

30. Видалення даних

ВИДАЛЕННЯ ДАНИХ
Для видалення рядків використовується оператор DELETE.
Зазвичай необхідно вказати за допомогою виразу
WHERE рядки, які потрібно видалити; в
в іншому випадку будуть видалені всі рядки.
Наступний запит DELETE видаляє з таблиці
покупців рядок, в якому customer_id дорівнює 10:
DELETE FROM customers
WHERE customer_id = 10;
1 row deleted.
SQL*Plus підтверджує, що один рядок було видалено.
Також можна використовувати підзапит із оператором
DELETE. Підзапити розглядатимуться у 4-й
лекції.

31. Завершення роботи з SQL*Plus

ЗАВЕРШЕННЯ РОБОТИ З SQL*PLUS
При використанні операторів INSERT, UPDATE та
DELETE необхідно фіксувати транзакції за допомогою
оператора COMMIT, т.к. до моменту виходу або
завершенні сесії змінені значення зберігаються тільки
у часовому просторі, а не в постійній базі
даних. Якщо після підтвердження змін
необхідно повернути дані у вихідний стан можна
виконати оператор ROLLBACK.
Поговоримо про Oracle Database

Програмне забезпечення баз даних - це основний сьогодні програмний засіб управління великими обсягами інформації. Система управління базою даних (СУБД) повинна бути здатна надійно керувати великими обсягами даних у розрахованому на багато користувачів середовищі, мати високою продуктивністю, бути захищеною від несанкціонованого доступу та надавати ефективні рішеннявідновлення від збоїв. У цій статті я хотів би розповісти про особливості СУБД Oracle на прикладі Oracle 10g, приділивши увагу також технології Oracle Real Application Cluster.

Загальні відомості про СУБД Oracle

Сервер Oracle Database (далі просто Oracle) забезпечує ефективні та дієві рішення для основних засобів баз даних. Коротко розглянемо кожну з них. Oracle підтримує найбільші бази даних – потенційним розміром до сотень гігабайт. Щоб забезпечити дієвий контроль використання дорогих дискових пристроїв, він надає повний контроль розподілу простору. Oracle підтримує велику кількість користувачів, що одночасно виконують різноманітні програми, які оперують одними й тими самими даними. Він мінімізує суперництво за дані та гарантує узгодженість даних. Oracle підтримує всі описані вище можливості, при цьому зберігаючи високий рівень сумарної продуктивності системи. Користувачі бази даних не страждають від низької продуктивності обробки. У багатьох випадках програмне забезпечення Oracle повинно працювати 24 години на добу, не маючи періодів розвантаження, що обмежують пропускну спроможністьбази даних. Нормальні системні операції - такі як відкат бази даних, а також часткові збої комп'ютерної системи - не переривають роботу з базою даних. Oracle може вибірково керувати доступністю даних як на рівні бази даних, так і на нижчих рівнях. Наприклад, адміністратор може вимкнути доступ до конкретному додатку(з тим, щоб можна було здійснити перезавантаження даних цієї програми), не торкаючись інших програм. Щоб отримати максимум переваг з наявної комп'ютерної системи або мережі, Oracle дозволяє розділяти роботу між сервером бази даних та прикладними програмами клієнтів. Вся вага управління спільно використовуваними даними може бути зосереджена в комп'ютері, що виконує СУБД, в той час як робочі станції, на яких працюють програми, можуть сконцентруватися на інтерпретації та відображенні даних. Програмне забезпечення Oracleсумісно з промисловими стандартами, включаючи більшість стандартних операційних систем - таких, як сімейство Microsoft Windows NT, а також різні версії Linux. Програми, що розробляються для Oracle, можуть використовуватись у будь-якій операційній системі з мінімумом модифікацій або взагалі без таких. Oracle задовольняє промислово прийняті стандарти з мови доступу до даних, операційних систем, інтерфейсів з користувачем і мережевих протоколів. Це відкрита система, що захищає інвестиції кінцевого замовника. Сервер Oracle був сертифікований Національним інститутом стандартів та технологій США як 100% сумісний із стандартом ANSI/ISO SQL89. Oracle повністю задовольняє вимоги урядового стандарту США FIPS127-1 і має маркувальник для підкреслення нестандартних застосувань SQL. Крім того, Oracle було оцінено Урядовим національним центром комп'ютерної безпеки(NCSC) як сумісний із критеріями захисту Помаранчевої книги; сервер Oracleта Trusted Oracle відповідають відповідно як рівням C2 та B1 Помаранчевої книги, так і порівнянним з ними європейським критеріям захисту ITSEC. Oracle є класичною реляційною СУБД, яка використовує механізм клієнт-сервер.

Важливою перевагою СУБД Oracle є механізм пакетної обробки запитів із підтвердженням. Транзакційний механізм дозволяє не побоюватися збоїв програмного середовища та обладнання. У разі успішного завершення обробки пакета SQL-команд сервер баз даних генерує так званий commit – підтвердження успішного виконання, яке надсилається клієнту. У разі апаратного чи програмного збою відбувається rollback - повернення до попередньої контрольної точки, завдяки чому цілісність даних у будь-якій ситуації не буде порушена. Для скасування цілого набору транзакцій передбачено механізм точок збереження, які можуть бути створені вручну або автоматично. Таким чином, відпадає необхідність постійної архівації бази даних, яку можна проводити лише кілька разів на добу, а в інших випадках адміністратор просто відновлює точки збереження. СУБД Oracle використовує мову SQL - просту, потужну мову доступу до бази даних, яка є стандартною для реляційних СУБД. SQL, реалізований корпорацією Oracle для Oracle, на 100% узгоджується зі стандартом ANSI/ISO мови SQL. Крім того, Oracle реалізовано розширення стандартних функцій SQL, зване PL/SQL. PL/SQL поєднує легкість та гнучкість SQL з процедурними можливостями мови структурного програмування - такими, як IF...THEN, WHILE та LOOP. Наявність величезної кількості засобів розробки додатків, що взаємодіють із СУБД Oracle, серед яких є такі відомі рішення, як Microsoft Visual Studio, Borland Delphi і JDeveloper, дозволяє більшості програмістів без особливих часових витрат навчитися писати додатки, які використовують як сховища бази даних Oracle. Підтримка механізмів ODBC, BDE та JDBC дозволяє здійснювати міграцію між різними програмними та апаратними платформами з мінімальними витратами на модифікацію програмного забезпечення. Завдяки повній уніфікації всіх версій СУБД Oracle в одній мережі можуть працювати різні версії Oracle для різних платформ - наприклад, сервер баз даних може мати версію Oracle 8 for Unix, а клієнти - Oracle for Windows, при цьому жодних проблем із взаємодією не виникне. Все перераховане вище дозволяє використовувати СУБД Oracle для автоматизації практично будь-яких процесів, де йде робота з великим обсягом даних - починаючи від найпростіших АРМ невеликого підприємствата закінчуючи системами управління ядерними реакторами та прискорювачами частинок.

Технологія Oracle Real Application Cluster(RAC)

Висока ефективність та доступність інформаційних систем – ключова вимога до повсякденної роботи підприємства чи наукової лабораторії. Зростання залежності від збереженої інформації за останню пару десятиліть призвело до того, що накопичуються і аналізуються великі обсяги даних. Вимоги до високоефективних баз даних постійно зростають, і одночасно зростають поінформованість та вимоги до підтримки таких баз даних у оперативному режимі. При нерівномірному та непередбачуваному завантаженні систем БД багатьох ділових груп вирішального значення набув пошук високоефективних систем та підходящих паралельних системдля підтримки складних та великих БД. Ще одна важлива властивість – масштабованість. У міру зростання локальної обчислювальної мережіПідприємства зростає накопичення та взаємодія даних, все більше користувачів та додатків починають використовувати системи БД, від яких потрібно задовольняти зростаючу потребу в даних без втрати продуктивності та доступності. Для вирішення цих проблем в Огас1е9 є підтримка технології Real Application Clusters (RAC). RAC підтримує модель з розділенням дисків, а, отже, має доступ до всіх дисків, що розділяються, і екстенсивний механізм координування ресурсів на різних вузлах. Технологія поділу дисків швидко просунулась вперед протягом останніх кількох років, що забезпечило RAC додаткові переваги. Технологія "сервер-сховище даних" (Storage Area Network- SAN) приховує багато складнощів апаратних модулів, контролерів, дисководів та міжсерверних з'єднань, залишаючи на поверхні лише томи пам'яті (storage volumes). Так само група серверів у кластері забезпечує один образ системи та обчислювальний ресурс. Всі ці досягнення в галузі апаратних засобів лише підкреслюють незаперечні успіхи RAC. На дуже високому рівні RAC є кілька екземплярів Oracle, що звертаються до однієї бази даних Oracle. База даних - одна фізична БД, збережена на системі з розподілом пам'яті. Кожен із екземплярів постійно знаходиться на окремому хості (також званому "вузол" або "сервер"). Всі вузли збираються в кластери через приватне міжз'єднання і мають доступ до пам'яті, що розділяється. Усі вузли паралельно виконують транзакції у тому ж БД. Як правило, надане постачальниками програмного забезпечення менеджера кластера забезпечує одне системне зображення, управляє членами вузла і контролює стан вузла. До головних компонентів належать:

Вузли/сервери.
. Високошвидкісне приватне міжз'єднання.
. Менеджер кластера або рівень залежності від операційної системи ( Operating System Dependent Layer - OSD).
. Диск або пам'ять, що розділяється.
. Файлова системакластер або прозорий пристрій.
. Менеджер тому.
. Загальнодоступна мережа.

RAC – база даних з множинними екземплярами. Множинні екземпляри паралельно звертаються до однієї і тієї ж бази даних. Структура екземпляра RAC не так сильно відрізняється від автономного екземпляра Oracle. Крім всіх звичайних процесів Oracle – наприклад, PMON, SM0N, LCWR та BVVR – існує багато спеціальних процесів, що породжуються для координування зв'язку між екземплярами та полегшення поділу ресурсів вузлами кластера. Рух буфера між екземплярами та новий набір блоків Past Image Blocks (що зберігають цілісність даних) призводять до використання додаткових ресурсів із SGA.

LMON – диспетчер сервісу глобальних черг (Global Enqueue Service Monitor – LMON) контролює весь кластер, забезпечуючи управління глобальними чергами та ресурсами. LMON управляє терміном дії процесу та екземпляра та відновленням для Global Cache Service. LMD – демон сервісу глобальних черг (Global Enqueue Service Daemon – LMD) – процес агента блокування, що управляє запитами сервісу менеджера для черги Global Cache Service на доступ до глобальних черг та ресурсів. Процес LMD також обробляє виявлені взаємоблокування та віддалені запити на постановку в чергу.

LMSn – ці процеси сервісів глобального кешу (Global Cache Service Processes – LMSn) є процесами для Global Cache service (GCS). Програмне забезпечення RAC підтримує до десяти процесів Global Cache Service. Кількість LMSn змінюється залежно від обсягу трафіку передачі між вузлами кластера.

GCS та GES - забезпечують єдине системне зображення даних, навіть якщо до даних звертаються кілька екземплярів. GCS і GES є інтегрованими компонентами Real Application Clusters, які координують одночасний доступ до бази даних колективного користування і до ресурсів, що розділяються в БД і кеші бази даних. GES та GCS разом підтримують Global Resource Directory (GRD), щоб записувати в нього інформацію про ресурси та черги. GRD залишається в пам'яті та зберігається у всіх примірниках. Кожен екземпляр управляє частиною каталогу. Розподілений характер управління має вирішальне значення для стійкості до відмови RAC.

Переваги Oracle Real Application Cluster

Oracle RAC забезпечує ряд переваг за двома напрямками: підвищення продуктивності бази даних та підвищення відмовостійкості. Під стійкістю до відмови в даному випадку розуміється можливість безбійного обслуговування клієнтських додатків у разі апаратного або програмного збою одного або декількох вузлів кластера, іменованих нодами. При цьому мається на увазі нормальна робота загального дискового масиву, який може бути реалізований у вигляді мережевого жорсткого диска, що використовує механізм iSCSI або дискової стійки. У разі підключення до RAC клієнт бази даних взаємодіє не з одним listener (прослуховувачем), а з групою listeners_ім'я бази даних. У такому разі клієнт отримує список IP-адрес всіх нод кластера, причому даний списоконовлюватиметься у разі включення нових нод. У разі обриву з'єднання з поточною нодою та збою при повторному з'єднанні клієнт встановлює з'єднання з наступною нодою у списку, і так відбувається доти, доки не буде знайдена робоча нода. При цьому клієнт також враховуватиме навантаження на кожну ноду, вибираючи таку, яка найшвидше обробить тестовий запит (даний тест є опціональним і повинен бути включений адміністратором бази даних). Таким чином, Oracle RAC зберігає працездатність до того моменту, поки в кластері залишається хоча б одна робоча нода. У Oracle RAC є поняття general node (головна нода), проте воно відноситься виключно до засобів адміністрування. Як правило, general node є робочим місцем адміністратора бази даних, з неї здійснюється керування кластером. У цьому вихід із ладу general node не призводить до зупинки всього кластера. Звідси випливає ще одна важлива перевага Oracle RAC – можливість децентралізації. Припустимо, для підприємства чи лабораторії є кілька потужних робочих станцій, обчислювальні потужності яких використовуються в повному обсязі. Якщо з'єднати такі робочі станції за допомогою локальної обчислювальної мережі, можна отримати високовідмовностійку базу даних. При цьому у разі зростання навантаження на одну або кілька робочих станцій з боку безпосередніх користувачів відбуватиметься плавне зниження навантаження на робочі станції з боку бази даних аж до повного відключення клієнтів. Таким чином можна досягти раціонального використання обчислювальної технікита підвищення доступності інформації для працівників організації.

Чому RAC може вийти з ладу? Причиною може стати будь-яка погана технологія або варіант вибору. Обслуговування бази даних включає багато компонентів. Крім самої БД, RAC може бути включений і працювати, але недоступний для клієнтів. Між клієнтськими машинами та серверами БД існують проміжні мережеві компоненти. Вони може статися збій. Стихійні лиха, що знищують апаратні засоби - наприклад, пожежа, повінь або землетрус - можуть вивести кластер і базу даних з ладу. Однак за умови локалізації збоїв властивість RAC забезпечує максимальну безпеку та безперервне обслуговування бази даних. Навіть при втраті багатьох компонентів кластер із RAC може все ще функціонувати. Але для цього потрібна надмірна розробка всіх компонентів, що до нього входять. Ключове слово тут – "розробка". Недостатньо просто встановити два або більше вузлів; для надійного Real Application Cluster необхідні подвійні міжз'єднання, подвійні шляхи до блоків пам'яті, подвійні блоки пам'яті, подвійне електроживлення, подвійний загальнодоступний інтерфейс мережі і т.д. Поки в кластері доступний один із екземплярів Oracle, клієнтські програми мають доступ до даних і можуть виконуватися без проблем.

Управління Oracle з використанням Oracle Enterprise Manager

Однією з основних компонентів Oracle Enterprise Manager (OEM) є центральна консоль оператора. Сидячи за цією консоллю, адміністратор бази даних бачить усі СУБД, які він адмініструє, незважаючи на те, що вони розміщуються на різних комп'ютерах, які можуть бути розкидані по різних будівлях, містах та країнах. Він може відстежувати стан цих СУБД і виконувати з кожною СУБД чи групою СУБД різні адміністративні дії, не сходячи зі свого робочого місця. За потреби він може все це робити через Інтернет. Крім СУБД, адміністратор може контролювати з цієї консолі вузли мережі (комп'ютери), листенери (прослуховувачі), сервери програм (Oracle application servers), Oracle Developer Server, ERP-додатки (SAP/R3, Oracle Applications) і, звичайно, Oracle RAC.

OEM складається з 3 компонентів:
. центральні консолі, за якими працюють адміністратори;
. керуючі сервери (Management servers), що реалізують всю логіку OEM;
. інтелектуальні агенти (Intelligent Agents), що працюють на вузлах, де розміщені БД, і виконують завдання по дорученню управляючих серверів.

Для ефективної роботи з Oracle Enterprise Manager необхідно налаштувати Oracle Management Server, інакше багато корисні функції OEM будуть недоступні. Для цього потрібно скористатися Enterprise Manager Configuration Assistant. Цей простий у використанні майстер дозволить налаштувати OMS навіть недосвідченому адміністратору. OEM дозволяє виконувати не тільки команди, які виконуються екземпляром (instance) Oracle, а й команди операційної системи, старт і зупинку БД. Тому кожному керованому вузлі має працювати сервіс, який прив'язаний до стану БД. Цю роль виконує інтелектуальний агент. Він може виконувати скрипти, стартувати БД, виконувати команди операційної системи, контролювати виникнення замовлених подій. При цьому виконання цих робіт може відбуватися в заздалегідь зазначені моменти часу або певною періодичністюа результат буде переданий керуючому серверу тоді, коли той матиме зв'язок з агентом. Разом з OEM можна встановити його web-варіант. Він вимагає додаткового конфігурування. Адміністратор просто запускає на комп'ютері з OEM встановлену спрощену версію сервера додатків і може працювати з консоллю через Інтернет/Інтранет з будь-якого комп'ютера, де є web-браузер (щоправда, при першому зверненні доведеться вивантажити та встановити пакет Jinitiator). Через цей web-інтерфейс доступні всі функції OEM та DBA Management Pack. OEM та всі його модулі мають графічний інтерфейс. Більшість робіт виконується за допомогою миші. Виконати складні операції допомагають помічники (Wizards). Вони розбивають складну операцію на частини та ведуть з АБД діалог, пояснюючи, що і як треба робити. Отже, навіть дуже досвідчений адміністратор може виконати складні завдання. Крім того, OEM ще й навчає АБД у процесі роботи. Ви завжди можете подивитися текст скриптів та SQL операторів, які він формує, і зрозуміти, що і чому робитиметься.

До складу OEM входить набір заздалегідь підготовлених завдань - таких, як аналіз даних, експорт/імпорт, завантаження даних, копіювання/відновлення, старт/зупинка БД, виконання команд SQLPLUS та Server Manager. Змінюючи параметри цих завдань, можна виконати широкий набір функцій. Крім того, етапи одного завдання можуть бути взаємопов'язані - наприклад, виконуватися лише при успішному чи неуспішному виконанні попереднього етапу завдання. Завдання можуть запускатися не тільки за часом, але й автоматично при виникненні фіксованих OEM подій у БД або на вузлі. Це звані Fixit job. Наприклад, у разі події " У табличному просторі xxxxx залишилося менше 1 Мб вільного просторуавтоматично запуститься Fixit job, що збільшує цей табличний простір. Втручання адміністратора тут не потрібно. Він буде лише сповіщений про виконання роботи. У режимі роботи з Oracle RAC OEM може розглядати кластер як єдину машину, виконуючи операції обслуговування на всіх нодах кластера відразу. у разі виникнення проблем на одній з нід адміністратор зможе переключитися до перегляду Oracle Management Console по вузлах кластера і працювати тільки з "проблемною нодою".Таким чином, при правильному налаштуванні OEM стає практично ідеальним інструментом, коли адміністратор БД буде проактивним. OEM попереджатиме події до їх виникнення, а адміністратору не доведеться реагувати в пожежному порядку на проблеми, що постійно виникають, у цьому випадку кількість проблем зменшиться, а ймовірність помилок стане мінімальною, вигоди від використання такого інструменту зрозумілі, зменшиться час простою системи та підвищиться її продуктивність.

Xpert Quest TOAD як засіб розробки додатків, що взаємодіють з БД Oracle

Quest Toad - найкращий інструментдля розробки та адміністрування СУБД Oracle на сьогоднішній день. Застосовуючи Toad для управління об'єктами бази даних, користувачеві не потрібно мати кваліфікацію експерта, йому доступний простий і зрозумілий графічний інтерфейс, що дозволяє створювати та заповнювати таблиці навіть не володіючи мовою SQL. Однак при виконанні будь-якої дії програміст-початківець баз даних може переглянути SQL-код, виконуваний при тих чи інших операціях, що дозволяє одночасно і працювати, і вивчати мову SQL. Quest TOAD складається з таких основних модулів. Модуль Schema Browser у TOAD дозволяє швидко переглядати та керувати словником даних. По клацанню миші на вибраному об'єкті користувач миттєво отримує докладну інформацію, минаючи довгу ієрархію зберігання об'єктів. У цьому вікні можна керувати всіма об'єктами. Потужні редактори Toad підвищують продуктивність розробника, унеможливлюють помилки і значно скорочують терміни розробки. Редактори дозволяють користувачам працювати одночасно з вихідними кодами кількома мовами (SQL, PL/SQL, HTML, Java) або текстом. Замінюючи традиційний спосіб виконання запиту у командному рядку або зі сценарію графічним інтерфейсом, Toad забезпечує швидке і зручне середовище розробки, що легко конфігурується під переваги користувача. SQL Editor підвищує продуктивність розробки за рахунок великої кількості гарячих клавіш, функцій автокоригування, випереджального введення та виділення кольорів синтаксису:

Зручні закладки дозволяють розробникам швидко переміщатися між кількома областями програмного коду.
Повнофункціональна панель інструментів полегшує редагування та тестування.
Спливаючі селектори для вибору імен таблиць, імен стовпців та функцій/ключових слів.
Procedure Editor дозволяє користувачам працювати з кількома файлами, в паралельному режимі використовуючи SCC-сумісне керування версіями. Одночасно можуть компілювати кілька об'єктів з узгодженою компіляцією всіх залежних об'єктів.

Редактори Toad тісно інтегровані з відладчиком PL/SQL Debugger, що дозволяє користувачам тестувати лише певні області процедур, виконувати лише поточний оператор, кілька операторів за курсором або оператори до курсору. SQL Modeler - засіб для швидкої та легкої побудови запитів. Достатньо перенести таблиці в SQL Modeler і модуль автоматично сформує запит SQL. Зручне інтегроване середовище дозволяє уточнювати критерії запиту, тестувати автоматично згенеровані запити SQL, переглядати плани виконання та результати запитів, зберігати вирази чи копіювати в редактор. Застосовуючи SQL Modeler навіть недосвідчені користувачі можуть швидко створювати складні запити на рівні експертів. Модуль PL/SQL Debugger забезпечує зручне середовище налагодження програм, заощаджуючи час для розробки та тестування великих проектів. За рахунок інтеграції відладчика з редактором Procedure Editor розробники можуть редагувати і налагоджувати процедури, що зберігаються рядково - так, як вони виконуються на сервері. Відладчик повністю контролює виконання програми, встановлюючи спостереження за будь-якою кількістю змінних із переглядом та зміною їх значень у процесі виконання. Нормальне виконання програми у своїй не змінюється, чим усувається потреба у написанні обробників помилок. Більше того, сеанс налагодження може виконуватись під час роботи програм в інших сеансах. Toad дозволяє розробникам уникати стомлюючих завдань налагодження PL/SQL, заощаджуючи цінний час та покращуючи загальну якість додатків. Крім всього вищезгаданого, Quest TOAD вміє імпортувати та експортувати структуру бази даних або весь її вміст. Завдяки цій здатності Quest TOAD дозволяє, наприклад, перевести вже існуючу базу даних кластерний варіант з мінімальними часовими витратами.

Oracle RAC у дії

Рішення на базі СУБД Oracle активно застосовуються для автоматизації документообігу та наукомістких фізичних експериментів з великим обсягом даних, що надходять від експериментальних установок. Координування спільної роботи значної кількості вчених (на сьогодні близько 6500 осіб), розподілених по всьому світу, пов'язане зі значними адміністративними витратами, для зменшення яких у ЦЕРН було розроблено та впроваджено корпоративну систему електронного документообігу (EDH). Система EDH автоматизує практично всі сторони господарської діяльності ЦЕРН, включаючи закупівлі, платежі, відпустки, відрядження, кадрові питання, забезпечення безпеки робіт, надання інформаційних послуг, матеріально-технічне постачання, заявки на навчання та ін. Система здійснює верифікацію даних та автоматичне проходження документів по всіх необхідним адресам, з структури організації та характеру документів. Безпека та конфіденційність даних гарантується застосуванням нових розробокв галузі захисту інформації та електронно-цифрового підпису. Система EDH написана мовою програмування високого рівня Java з використанням технологій розробки корпоративних програм (Java 2 Enterprise Edition - J2EE). Документи представлені в EDH у вигляді електронних форм, доступних з будь-якої точки земної кулічерез середу World Wide Web. При цьому вся бізнес-логіка знаходиться на стороні сервера, а клієнт реалізований мовою розмітки гіпертексту HTML (т.зв. " тонкий клієнт"). У процесі створення EDH були формалізовані поняття, що використовуються в бізнес-процесах ЦЕРН ("співробітники", "коди витрат", "підрозділи" і т.д.), та розроблені бібліотеки об'єктів для їх зберігання, обробки та введення/виведення Всі дані зберігаються в реляційній СУБД Oracle, доступ до якої здійснюється за допомогою мови SQL (Structured Query Language - структурована мова запитів) через інтерфейс JDBC (Java Database Connectivity - інтерфейс підключення до бази даних для Java).Була розроблена та впроваджена базова інфраструктура, дозволяє швидко автоматизувати будь-які бізнес-процеси. Ця інфраструктурареалізує функції, загальні всім типів документів - такі, як ввод/вывод, контроль доступу, перевірка цілісності даних, функції збереження і надсилання документів. Маршрутизація електронних документів реалізується за допомогою системи Oracle Workflow. бізнес процесиспочатку формалізуються з допомогою мереж Петрі.

Розроблена архітектура EDH успішно експлуатується з 2000 року. За цей час у системі було створено та маршрутизовано понад мільйон електронних документів. З 1996 року у ЦЕРН ведеться будівництво нового прискорювача "Великий адронний колайдер" (LHC). У LHC можуть здійснюватися зіткнення протонних пучків з енергією 14 ТЕВ у тунелі завдовжки 27 км. LHC є найбільшою у світі надпровідною установкою з робочою температурою -270°C. При будівництві LHC для зменшення витрат на введення системи в експлуатацію була створена система EVM. Для системи EVM було адаптовано програмний додаток, розроблене в ЦЕРН раніше Oracle Designer. Цей додатокбуло перенесено на платформу Java Enterprise Edition із центральною базою даних Oracle. При цьому була використана легковажна архітектура з чітким поділом моделі, виду та контролера, оскільки оригінальна архітектура стандарту EJB (Enterprise Java Beans) була дуже важкою для даної задачі.

Перед інженерами-проектувальниками LHC було поставлено завдання складання центрального формату робочих одиниць таким чином, щоб тривалість кожного завдання не перевищувала трьох місяців. В результаті було ідентифіковано 12 000 робочих одиниць. Оскільки визначення великої кількості взаємопов'язаних робочих одиниць через web-інтерфейс становить певні труднощі, в системі EVM було передбачено модуль імпорту/експорту даних в електронну таблицю Microsoft Excel. Для оперативного аналізу транзакцій (Online Transaction Processing - OLTP) та оперативного аналізу даних ( Online Analytical Processing - OLAP) був розроблений та впроваджений автоматизований модуль обробки сумарних даних, що дозволяє керівникам проекту отримувати в реальному режимі часу інформацію про хід робіт та забезпечує аналіз цієї інформації у різних розрізах. Оскільки доступ до системи EVM був навмисно відкритий всім учасникам проекту, виникла потреба відстеження зроблених змін. Для цього всі звіти про результати як зроблені через web-інтерфейс, так і отримані з Excel групуються в транзакції і записуються в центральну базу даних. Кожна транзакція може бути візуалізована і при необхідності скасована. В EVM входить система обробки подій, що відстежує вплив транзакцій на план і витрати і повідомляє потрібних учасників проекту на основі підписки на попередження.

Висновок

У цій статті я постарався легко і доступно розповісти про особливості Oracle Database і, смію сподіватися, зацікавив вас цієї СУБД. У такому разі вам варто відвідати сайт виробника Oracle Database