Управління інформацією

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Бази даних і

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

Сервер ORACLE забезпечує ефективні та дієві рішення для основних засобів баз даних:

управління великими базами даних і контроль управління простором.

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

багато одночасних користувачів бази даних.

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

висока продуктивність обробки транзакцій.

ORACLE підтримує всі описані вище засоби, зберігаючи високу ступінь сумарної продуктивності системи

Користувачі бази даних не страждають від низької продуктивності обробки.

висока ступінь готовності.

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

керована доступність.

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

промислові стандарти.

ORACLE задовольняє промислово прийнятим стандартам з мови доступу до даних, операційним системам, інтерфейсам з користувачем і мережевим протоколам. Це "відкрита" система, яка захищає інвестиції замовника.

Сервер ORACLE7 був сертифікований Національним інститутом стандартів і технологій США як 100%-сумісний зі стандартом ANSI / ISO SQL89. ORACLE7 повністю задовольняє вимогам урядового стандарту США FIPS127-1 і має "маркувальник" для підкреслення нестандартних застосувань SQL.

Крім того, ORACLE7 був оцінений Урядовим національним центром комп'ютерної безпеки (NCSC) як сумісний з критеріями захисту Помаранчевої книги; сервер ORACLE7 і Trusted ORACLE7 відповідають відповідно як рівнями C2 і B1 Помаранчевої книги, так і порівнянним з ними європейським критеріям захисту ITSEC.

керована захист.

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

автоматизоване забезпечення цілісності.

ORACLE автоматично підтримує цілісність даних, дотримуючись "організаційні правила", які диктують стандарти прийнятності даних. Як наслідок, усуваються витрати на кодування і супровід перевірок у численних додатках бази даних.

оточення клієнт / сервер (розподілена обробка).

Щоб витягти максимум переваг з даної комп'ютерної системи або мережі, ORACLE дозволяє розділяти роботу між сервером бази даних і прикладними програмами клієнтів. Весь тягар управління спільно використовуваними даними може бути зосереджена в комп'ютері, що виконує СУБД, в той час як робочі станції, на яких працюють програми, можуть сконцентруватися на інтерпретації та відображенні даних.

системи розподілених баз даних.

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

переносимість.

Програмне забезпечення ORACLE переносимо між різними операційними системами і однаково у всіх системах

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

сумісність.

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

связиваемость.

Програмне забезпечення ORACLE дозволяє різним типам комп'ютерів і операційних систем спільно використовувати інформацію за допомогою мереж.

Структура бази даних і управління простором

Цей розділ описує архітектуру бази даних ORACLE, включаючи фізичну і логічну структури, які утворюють базу даних

Це обговорення дасть вам розуміння того, як ORACLE вирішує проблеми керованої доступності даних, поділу фізичної і логічної структур даних і тонкого контролю за управлінням дискової пам'яттю.

Реляційні СУБД.

Системи управління базами даних еволюціонували від ієрархічних до мережних, а потім до реляційних моделями. Сьогодні найбільш широко прийнятої моделі бази даних є реляційна модель. Ця модель має три головні аспекти:

Структури - це добре певні об'єкти, що зберігають дані бази даних

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

Операції - це чітко визначені дії, що дозволяють користувачеві маніпулювати даними та структурами бази даних. Операції на базі даних повинні підкорятися визначеним набором правил цілісності.

Правила цілісності - це закони, які визначають, які операції допускаються над даними та структурами бази даних. Правила цілісності захищають структури і дані бази даних.

Реляційні СУБД володіють наступними перевагами:

незалежність фізичної структури даних і логічної структури бази даних

змінюваний і легкий доступ до всіх даних

повна гнучкість у проектуванні бази даних

зменшення витрат пам'яті та скорочення надмірності даних

БАЗА ДАНИХ ORACLE - це колекція даних, що розглядається як одиниця. Головна мета бази даних - зберігання та вилучення взаємозалежної інформації.

Відкриті і закриті бази даних

База даних ORACLE може бути ВІДКРИТО (доступна) або ЗАКРИТО (недоступна). У звичайних ситуаціях база даних відкрита і доступна для використання. Однак іноді база даних закривається для специфічних адміністративних функцій, які вимагають, щоб дані в базі даних були недоступні користувачам.

Структура бази даних

База даних ORACLE має як фізичну, так і логічну структуру. За рахунок поділу фізичної і логічної структури бази даних досягається можливість управління фізичною структурою даних, не зачіпаючи доступу до логічних структур даних.

Фізична структура бази даних

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

Файли бази даних надають дійсну фізичну пам'ять для інформації бази даних.

Логічна структура бази даних

Логічна структура бази даних ORACLE визначається:

одним або декількома табличними просторами

об'єктами схем бази даних (таблицями, оглядами, індексами, кластерами, послідовностями, збереженими процедурами)

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

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

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

Табличні простору

База даних розділяється на логічні одиниці зберігання, звані Табличний простір. Табличний простір служить для того, щоб групувати разом взаємопов'язані логічні структури. Наприклад, в табличному просторі зазвичай групуються всі об'єкти програми, щоб спростити деякі адміністративні операції.

Бази даних, табличні простору та файли даних

Кожна база даних логічно поділяється на одне або більше табличних просторів.

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

Загальна ємність пам'яті табличного простору визначається сумою розмірів файлів даних, що складають це табличне простір (на малюнку SYSTEM має ємність 2M, а DATA - 4M).

Сумарна ємність всіх табличних просторів бази даних складає загальну ємність бази даних (6M).

Онлайнові і офлайнові табличні простору

Табличний простір може перебувати в станах ОНЛАЙН (доступно) або Офлайн (недоступне). Зазвичай табличне простір перебуває в онлайні, так що користувачі мають доступ до інформації в ньому. Однак іноді табличний простір може перекладатися в офлайн, щоб зробити частину бази даних недоступною, зберігаючи в той же час нормальний доступ до іншої частини бази даних. Це полегшує виконання багатьох адміністративних завдань.

Схеми та об'єкти схем

СХЕМА - це колекція об'єктів. ОБ'ЄКТИ СХЕМИ - це логічні структури, безпосередньо пов'язані з даними бази даних

Об'єкти схеми включають такі структури, як таблиці, огляди, послідовності, збережені процедури, синоніми, індекси, кластери і зв'язку баз даних. (Не існує взаємозв'язку між табличним простором і схемою; об'єкти однієї і тієї ж схеми можуть перебувати в різних табличних просторах, і одне і те ж табличний простір може містити об'єкти з різних схем.)

Таблиці

ТАБЛИЦЯ - це основна одиниця зберігання даних в базі даних ORACLE. Таблиці бази даних зберігають всі дані, доступні користувачам.

Дані таблиці зберігаються у вигляді рядків і стовпців. Кожна таблиця визначається з ІМЕНЕМ ТАБЛИЦІ і набором стовпців. Кожному стовпцю дається ім'я стовпця, ТИП ДАНИХ (такий як CHAR, DATE або NUMBER), а також ШИРИНА (яка може бути зумовлена ​​типом даних, як у випадку DATE) або МАСШТАБ і ТОЧНІСТЬ (тільки для типу даних NUMBER). Після того, як таблиця створена, до неї можуть бути вставлені рядки дійсних даних. Після цього рядка таблиці можна опитувати, видаляти або оновлювати.

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

Огляди ОГЛЯД - це налаштоване на замовлення представлення даних з однієї або декількох таблиць. Огляд можна розглядати як "зберігається запит".

Огляди насправді не містять даних, замість цього вони доставляють дані з тих таблиць, на яких вони засновані (так званих БАЗОВИХ ТАБЛИЦЬ оглядів). Базові таблиці, у свою чергу, можуть бути як таблицями, так і оглядами.

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

Широке застосування оглядів обумовлено наступними їхніми властивостями:

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

Огляди дозволяють приховати складність даних. Наприклад, єдиний огляд може служити для побудови СПОЛУКИ, яке є відображенням взаємозалежних стовпців або рядків з декількох таблиць. Однак такий огляд приховує той факт, що ці дані насправді належать різним таблицям

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

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

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

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

ПОСЛІДОВНІСТЬ генерує унікальні порядкові номери, які можуть використовуватися як значення числових стовпців таблиць бази даних. Послідовності спрощують прикладне програмування, автоматично генеруючи унікальні числові значення для рядків однієї або декількох таблиць.

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

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

Програмні одиниці

ПРОЦЕДУРА або ФУНКЦІЯ - це сукупність пропозицій SQL і PL / SQL, згрупованих разом як здійсненне одиниця, виконуюча специфічне завдання.

Процедури і функції поєднують легкість і гнучкість SQL з процедурними можливостями мови структурного програмування

За допомогою PL / SQL такі процедури і функції можна визначати і зберігати в базі даних для тривалого використання.

Процедури і функції схожі один на одного, з тією різницею, що функція завжди повертає викликає програмі єдине значення, тоді як процедура не повертає значення.

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

Синоніми

Синонім - це аліас (додаткове ім'я) для таблиці, огляду, послідовності або програмної одиниці. Синонім не є об'єкт, але він є прямим посиланням на об'єкт. Синоніми використовуються для:

маскування дійсного імені і власника об'єкта

забезпечення загального доступу до об'єкта

досягнення прозорості місця розташування для таблиць, оглядів або програмних одиниць віддаленої бази даних

спрощення кодування пропозицій SQL для користувачів бази даних

Синонім може бути загальним або особистим. Індивідуальний користувач може створити ОСОБИСТИЙ синонім, який доступний тільки цьому користувачеві. Адміністратори баз даних найчастіше створюють ЗАГАЛЬНІ Синоніми, завдяки яким об'єкти базових схем стають доступними для загального користування всім користувачам бази даних.

Індекси, кластери і хешірованние кластери

Індекси, кластери і хешірованние кластери - це необов'язкові структури, асоційовані з таблицями, які можна створювати для підвищення продуктивності операцій вилучення даних

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

Індекси створюються за одним або кількома стовпцями таблиці

Одного разу створений, індекс автоматично підтримується і використовується ORACLE. Зміни в даних таблиці (такі як додавання нових рядків, оновлення або видалення рядків) автоматично відображаються у всіх відповідних індексах при повній прозорості для користувачів.

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

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

Взаємопов'язані стовпці таблиць в кластері називається ключем КЛАСТЕРУ. Ключ кластеру індексується, так що рядки кластера можуть вилучатись з мінімальними витратами на введення-виведення

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

Кластерізованние таблиці: Некластерізованние таблиці:

Пов'язані дані зберігаються пов'язані дані зберігаються разом, більш ефективно окремо, займаючи більше місця

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

Як і індекси, кластери не впливають на проектування додатків

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

ХЕШІРОВАННИЕ КЛАСТЕРИ схожі на звичайні, індексовані, кластери. Однак у хешірованних кластерах рядки записуються не на основі ключа кластера, а на основі значення ФУНКЦІЇ хешування, застосовуваної до ключа кластеру. Всі рядки з однаковим значенням такого хеш-ключі зберігаються на диску разом.

Хешірованние кластери виграють у порівнянні з індексованої таблицею і індексованих кластером, коли таблиця часто опитується на рівність (наприклад, вибираються всі рядки по відділу 10). Для таких запитів значення вказаного ключа кластеру хешіруются, і результуючі значення хеш-ключа прямо вказують на ділянку диска, в якому зберігаються відповідні рядки.

Зв'язки баз даних

ЗВ'ЯЗОК БАЗ ДАНИХ - це іменований об'єкт, який описує "шлях" від однієї бази даних до іншої. Зв'язки баз даних неявно використовуються при зверненні до Глобального ІМЕНІ ОБ'ЄКТА в розподіленій базі даних.

Блоки даних, екстенти і сегменти

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

Блоки даних ORACLE На самому низькому рівні, дані бази даних ORACLE зберігаються в блоці даних. Один блок даних відповідає специфічному числа байт фізичного простору на диску. Розмір блоку даних вказується для кожної бази даних ORACLE при її створенні. База даних використовує і розподіляє вільний простір в блоках даних ORACLE.

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

Сегменти Рівень логічного простору в базі даних, наступний за екстент, називається сегментом. СЕГМЕНТ - це набір екстент, розподілених для конкретної логічної структури. Наприклад, різні типи сегментів включають:

Сегмент даних Кожна некластерізованная таблиця має сегмент даних. Всі дані таблиці зберігаються в екстент її сегменту даних

Кожен кластер має сегмент даних

Дані кожної таблиці кластера зберігаються в сегменті даних цього кластеру.

Сегмент індексу Кожен індекс має сегмент індексу, в якому зберігаються всі дані індексу.

Сегмент відкату Адміністратор створює в базі даних один або кілька сегментів відкоту для тимчасового зберігання інформації "скасування"

Ця інформація служить:

для генерації узгоджених з читання образів інформації бази даних

для відновлення бази даних

для відкоту непідтверджених транзакцій користувачів.

Тимчасовий сегмент Тимчасові сегменти створюються ORACLE, коли пропозицією SQL потрібно тимчасова робоча область для свого виконання. Після виконання пропозиції екстенти тимчасового сегмента повертаються системі.

ORACLE розподіляє пам'ять для всіх типів сегментів екстент

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

Фізичні структури

Наступні секції пояснюють фізичні структури бази даних ORACLE, включаючи файли даних, файли журналу повторення роботи та керуючі файли.

Файли даних

Кожна база даних ORACLE має одну або більше фізичних Фото ДАНИХ. Ці файли містять всі дані бази даних. Дані логічних структур бази даних, таких як таблиці та індекси, фізично зберігаються у файлах даних, розподілених для бази даних.

Файли даних мають наступні характеристики:

Файл даних може бути асоційований лише з однією базою даних.

Одного разу створений файл даних не може змінити свій розмір.

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

Використання файлів даних

Дані у файлі даних зчитуються в міру необхідності під час нормальної роботи бази даних, і розміщуються в кеші пам'яті ORACLE. Наприклад, припустимо, що користувач хоче звернутися до деякими даними в таблиці бази даних. Якщо така інформація ще не перебуває в кеші пам'яті для бази даних, вона зчитується з відповідних файлів даних і розміщується в пам'яті.

Модифіковані або нові дані необов'язково записуються у файл даних негайно. Щоб зменшити обсяг дискових операцій і збільшити продуктивність, дані накопичуються в пам'яті, і записуються у відповідні файли даних одномоментно, як визначається фоновим процесом ORACLE, званим DBWR.

Файли журналу повторення

Кожна база даних ORACLE має набір з двох або більше Фото ЖУРНАЛУ ПОВТОРЕННЯ РОБОТИ. Комплект файлів журналу повторення роботи для однієї бази даних спільно називається ЖУРНАЛОМ ПОВТОРЕННЯ (redo log). Основна функція журналу повторення - реєстрація всіх змін, здійснюваних в даних. Всі зміни, що їх в базі даних, записуються в журнал повторення. Якщо в результаті збою модифіковані дані не вдасться постійно записати у файли даних, ці зміни можна отримати з журналу повторення, так що робота ніколи не втрачається.

Файли журналу повторення критичні у питанні захисту бази даних від збоїв. Щоб захиститися від таких збоїв, які зачіпають сам журнал повторення, ORACLE допускає ДЗЕРКАЛЬНИЙ ЖУРНАЛ ПОВТОРЕННЯ, так що дві або більше копій журналу повторення можна підтримувати одночасно на різних дисках.

Використання файлів журналу повторення

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

Наприклад, коли несподіване відключення харчування різко перериває роботу бази даних, дані в пам'яті не можуть бути записані у файли даних. Проте всі втрачені дані можуть бути відновлені при наступному відкритті бази даних після усунення несправності в харчуванні. ORACLE автоматично застосовує до файлів бази даних всі зміни, зареєстровані в самих останніх файлах журналу повторення, і відновлює базу даних в стан на момент збою.

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

Контрольні файли

Кожна база даних ORACLE має КЕРУЮЧИЙ ФАЙЛ, в якому записується фізична структура бази даних. Зокрема, цей файл містить наступну інформацію:

ім'я бази даних

імена та місця розташування файлів даних і файлів журналу повторення цієї бази даних

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

Як і для журналу повторення, ORACLE дозволяє підтримувати дзеркальні керуючі файли з метою захисту інформації, що управляє.

Використання керуючих файлів

При кожному запуску інстанції бази даних ORACLE її керуючий файл використовується для того, щоб ідентифікувати базу даних і файли журналу повторення, які повинні бути відкриті для продовження роботи бази даних. Коли фізичний склад бази даних змінюється (наприклад, створюється новий файл даних або файл журналу), ORACLE автоматично модифікує керуючий файл, щоб відобразити цю зміну.

Керуючий файл бази даних використовується також у тих випадках, коли потрібне відновлення бази даних.

Словник даних

Кожна база даних ORACLE має СЛОВНИК ДАНИХ. Він являє собою набір таблиць і оглядів, використовуваних як Тільки читати представлення бази даних. Наприклад, в словнику даних зберігається інформація про логічну і фізичну структуру бази даних

Крім цієї важливої ​​інформації, словник даних зберігає також наступну інформацію:

про дійсних користувачів бази даних ORACLE

про обмеження цілісності, визначених для таблиць бази даних

про те, скільки простору розподілено для кожного об'єкта схеми, і скільки з нього використовується

Словник даних створюється під час створення самої бази даних. Щоб точно відображати стан бази даних у будь-який момент, словник даних автоматично оновлюється ORACLE у відповідь на спеціальні дії (такі як зміна структури бази даних). Словник даних критичний для працездатності бази даних, бо на ньому грунтується реєстрація, верифікація і управління поточною роботою. Наприклад, під час операцій з базою даних ORACLE звертається до словника даних для перевірки того, що об'єкти схем існують, і що користувачі мають до них відповідні права доступу.

Системна архітектура ORACLE

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

Структури пам'яті і процеси

Механізми ORACLE працюють через використання структур пам'яті і процесів. Всі структури пам'яті розташовуються в основній пам'яті (іноді званої віртуальної пам'яттю або пам'яттю довільного доступу) комп'ютерів, що складають систему бази даних

ПРОЦЕСИ - це завдання або завдання, що працюють в пам'яті цих комп'ютерів.

Структури пам'яті ----------------

ORACLE створює і використовує свої структури пам'яті для виконання деяких завдань. Наприклад, пам'ять використовується для розміщення виконуваного програмного коду і даних, що розділяються між користувачами. З ORACLE асоціюються кілька базових структур пам'яті: глобальний системи (яка включає буфера бази даних і журналу повторення, а також пул, що розділяється) та глобальні області програм. Наступні секції докладно пояснюють кожну з цих видів областей.

Глобальний системи (SGA) ГЛОБАЛЬНА ОБЛАСТЬ СИСТЕМИ (SGA) - це область пам'яті, що розділяється, що розподіляється ORACLE, яка містить дані і керуючу інформацію для однієї інстанції ORACLE. Область SGA і фонові процеси ORACLE складають інстанцію ORACLE.

SGA розподіляється при запуску інстанції і звільняється при закритті інстанції. Кожна запускає інстанція має свою власну область SGA.

Дані в SGA розділяються (тобто спільно використовуються) усіма користувачами, приєднаними до бази даних. Для оптимальної продуктивності SGA повинна бути максимально великий (поки дозволяє реальна пам'ять), щоб тримати якомога більше даних у пам'яті і мінімізувати дискові операції. Інформація, що зберігається в SGA, поділяється на кілька типів структур пам'яті, включаючи буфера бази даних, буфера журналу повторення і пул, що розділяється. Ці області мають фіксовані розміри і створюються при запуску інстанції.

Буферний кеш бази даних буфер БАЗИ ДАНИХ в SGA зберігають найбільш недавно використовувалися блоки даних з бази даних; всі безліч буферів бази даних в інстанції складає Буферний КЕШ БАЗИ ДАНИХ. Ці буфера можуть містити модифіковані дані, які ще не записані на диск для постійного зберігання T>

Оскільки останні використовувалися (у тому числі і найбільш часто використовуються) дані підтримуються в пам'яті, потрібно менше дискових операцій, і продуктивність збільшується.

Буфер журналу повторення буфер журналу ПОВТОРЕННЯ в SGA зберігає ЗАПИСИ ПОВТОРЕННЯ - журнал змін, здійснених в базі даних. Записи повторення, що зберігаються в буферах журналу повторення, записуються в онлайновий файл журналу, який використовується при необхідності відновлення бази даних. Його розмір статичний.

Пул, що розділяється розділяється пул - це частина SGA, що містить конструкти пам'яті, що розділяється, такі як колективні області SQL

Колективна область SQL потрібно для обробки кожного унікальної пропозиції SQL, виданого базі даних. Колективна область SGA містить таку інформацію, як дерево розбору і план виконання для відповідної пропозиції. Єдина колективна область SGA використовується всіма додатками, які видають те ж саме пропозицію. Це дозволяє залишати більше розділяється пам'яті для інших цілей.

Курсори КУРСОР - це описувач (ім'я або покажчик) області пам'яті, асоційованої з конкретною пропозицією. Хоча більшість користувачів ORACLE покладаються на автоматичну обробку курсорів, забезпечуваний утилітами ORACLE, програмні інтерфейси пропонують розробникам додатків велику ступінь контролю над курсором. Наприклад, при розробці додатків прекомпіляторов курсор є іменованим ресурсом, доступним програмі, і може спеціально використовуватися для розбору пропозицій SQL, вбудованих в додаток. Розробник може написати додаток так, щоб воно контролювало фази виконання пропозиції SQL і за рахунок цього підвищувало свою продуктивність.

Глобальна область програми (PGA)

ГЛОБАЛЬНА ОБЛАСТЬ ПРОГРАМИ (PGA) - це буфер пам'яті, що містить дані і керуючу інформацію для процесу сервера

PGA створюється ORACLE при запуску процесу сервера. Інформація в області PGA залежить від конфігурації ORACLE.

Процеси --------

ПРОЦЕС - це "канал управління", механізм в операційній системі, який виконує послідовність кроків. Деякі операційні системи використовують терміни ЗАВДАННЯ або ЗАВДАННЯ

Процес зазвичай має власну область особистої пам'яті, в якій він працює.

СУБД ORACLE має два загальні типи процесів: призначені для користувача процеси та процеси ORACLE.

Користувальницькі процеси (клієнти)

КОРИСТУВАЦЬКИЙ ПРОЦЕС створюється і підтримується для виконання програмного коду прикладної програми (такої як програма Pro * C) або інструменту ORACLE (такого як SQL * DBA)

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

Процеси ORACLE

ПРОЦЕСИ ORACLE викликаються іншими процесами для того, щоб виконувати функції від імені особи процесу. Нижче обговорюються різні типи процесів ORACLE і їх специфічні функції.

Процеси сервера ORACLE створює ПРОЦЕСИ СЕРВЕРУ, щоб обробляти запити від приєднаних користувача процесів. Процес сервера відповідає за зв'язок з призначеним для користувача процесом і за взаємодію з ORACLE для виконання запитів асоційованого користувача процесу. Наприклад, якщо користувач запитує дані, яких ще немає в буферах бази даних в SGA, то асоційований процес сервера зчитує відповідні блоки даних з файлів даних в SGA.

ORACLE можна конфігурувати на різне число користувальницьких процесів на один процес сервера. У КОНФІГУРАЦІЇ ВИДІЛЕНОГО СЕРВЕРУ кожен процес сервера обрабативет запити для одного користувача процесу. КОНФІГУРАЦІЯ БАГАТОКАНАЛЬНИЙ СЕРВЕРУ дозволяє багатьом користувальницьким процесам спільно використовувати невелику кількість процесів сервера, мінімізуючи кількість процесів сервера і максимізуючи утилізацію доступних системних ресурсів.

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

Фонові процеси

ORACLE створює безліч Фонові процеси для кожної інстанції

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

Область SGA і фонові процеси ORACLE в сукупності становлять інстанцію ORACLE.

Кожна інстанція ORACLE може використовувати кілька фонових процесів. Ці процеси мають наступні імена: DBWR, LGWR, CKPT, SMON, PMON, ARCH, RECO, Dnnn і LCKn. Кожен з цих фонових процесів описаний нижче.

Письменник бази даних (DBWR)

ПИСЬМЕННИК БАЗИ ДАНИХ записує модифіковані блоки з буферного кешу бази даних у файли даних. Завдяки способу, яким ORACLE здійснює журналізацію, процесу DBWR не потрібно записувати ці блоки при завершенні транзакції

Замість цього DBWR оптимізований так, щоб мінімізувати звернення до диска. У загальному випадку, DBWR виконує запис лише тоді, коли в SGA потрібно прочитати чергову порцію даних, а в буферному кеші бракує вільних буферів. Першими записуються ті дані, до яких було найдавніше звернення.

Письменник журналу (LGWR)

ПИСЬМЕННИК ЖУРНАЛУ записує на диск запису журналу повторення

Ці записи генеруються в буфері журналу повторення в SGA. Коли транзакція завершується і буфер журналу заповнюється, LGWR переписує запису журналу повторення в файл журналу повторення.

Контрольна точка (CKPT)

У специфічні моменти часу всі модифіковані буфера в SGA записуються процесом DBWR у файли даних; ця подія називається контрольною точкою. Процес КОНТРОЛЬНОЇ ТОЧКИ відповідає за своєчасну сигналізацію процесу DBWR про контрольних точках і оновлення всіх файлів даних і керуючих файлів бази даних, щоб відобразити останню контрольну точку

Процес CKPT не обов'язковий; якщо він відсутній, його функції бере на себе процес LGWR.

Монітор системи (SMON)

МОНІТОР СИСТЕМИ здійснює відновлення інстанції під час запуску інстанції. У системі з декількома інстанціями (при використанні Паралельного сервера), процес SMON однієї інстанції може також здійснювати відновлення інших збилися інстанцій. SMON також очищає тимчасові сегменти, які більше не використовуються, і відновлює мертві транзакції, пропущені після збою і відновлення інстанції в результаті збоїв файлів або офлайнових помилок. Процес SMON в кінцевому рахунку відновлює такі транзакції, коли табличний простір або файл переводиться в онлайн. SMON також стискає вільні екстенти в базі даних, щоб зробити вільний простір безперервним і більш доступним для розподілу.

Монітор процесів (PMON)

МОНІТОР ПРОЦЕСІВ здійснює відновлення процесу після збою користувача процесу. PMON відповідає за очищення кешу і звільнення ресурсів, які використовувалися процесом. PMON також контролює диспетчерські і серверні процеси, і рестарт їх, якщо вони збиваються.

Архіватор (ARCH)

Архіватор копіює онлайнові файли журналу повторення в архівну пам'ять, коли вони переповнюються. ARCH активний лише тоді, коли журнал повторення використовується в режимі ARCHIVELOG.

Відновлювач (RECO)

Відновлювач використовується для дозволу розподілених транзакцій, завислих в результаті мережевого або системного збою в розподіленій базі даних. У моменти, які визначаються таймером, локальний RECO намагається з'єднатися з віддаленими базами даних і автоматично підтвердити або скасувати локальну порцію кожної висить розподіленої транзакції.

Диспетчер (Dnnn)

Диспетчер - це необов'язкові фонові процеси, що існують лише в конфігурації багатоканального сервера. Щонайменше один диспетчерський процес створюється для кожного використовуваного комунікаційного протоколу (D000, ..., Dnnn). Кожен диспетчерський процес відповідає за маршрутизацію запитів від приєднаних користувача процесів до доступних поділюваним серверним процесам, і за повернення відповідей назад в асоційовані користувача процеси.

Блокування (LCKn)

До десяти процесів БЛОКУВАННЯ (LCK0, ..., LCK9) використовуються для межінстанціонних блокувань у середовищі Паралельного сервера ORACLE.

Програмний інтерфейс

ПРОГРАМНИЙ ІНТЕРФЕЙС - це механізм, за допомогою якого користувача процес спілкується з процесом сервера. Він виступає як метод стандартної комунікації між будь-яким інструментом або додатком клієнта (таким як SQL * Forms) і програмним забезпеченням ORACLE. Програмний інтерфейс повинен:

діяти як механізм комунікації, форматуючи запити на дані, передаючи дані, перехоплюючи і повертаючи помилки

виконувати перетворення і трансляцію даних, зокрема, між різними типами комп'ютерів, або в зовнішні типи даних програми користувача

Комунікаційне програмне забезпечення і SQL * Net

Якщо для користувача і серверний процеси знаходяться на різних комп'ютерах в мережі, або якщо для користувача процеси приєднуються до поділюваних серверним процесам через диспетчерські процеси, то програмний інтерфейс включає фізичну мережеве з'єднання, програмне забезпечення комунікації і SQL * Net. SQL * Net - це інтерфейс ORACLE до стандартних комунікаційних протоколів, що забезпечує належну передачу даних між комп'ютерами.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
79.6кб. | скачати


Схожі роботи:
Мікропроцесорні системи управління інформацією
Інформаційний менеджмент як процес управління людьми володіють інформацією
Етичні аспекти роботи з екологічною інформацією
Протоколи обміну маршрутною інформацією стека TCPIP
Підготовка матеріалу з науковою інформацією Індекс туманності
Використання TCPIP протоколу для обміну інформацією в мережі
Протоколювання обміну інформацією між комп`ютером і зовнішнім запам`ятовуючим USB-пристроєм
Протокол обміну керуючими повідомленнями ICMP Протоколи обміну маршрутною інформацією
Електротехнічна служба управління інженерного озброєння управління начальника інженерних війсь
© Усі права захищені
написати до нас