Введення в oracle 10g

попередній частині ми розглянули установку Oracle 10g XE, а тепер мова піде про резервне копіювання і відновлення, основних облікових записах і ролях бази.

Операції резервного копіювання та відновлення в Oracle можна розділити на три види:

Потім зробимо експорт, виконавши команду exp parfile = exp_scatt.prm, в результаті чого буде створено файл ora10scott.dmp, що містить резервну копію схеми SCOTT. Цей файл має бінарний формат і дуже добре стискається будь-яким архіватором, тому для автоматизації процедури резервного копіювання зручно створити BAT-файл, який містить команду експорту і виклик архіватора для стиснення отриманого дампа.

У нашому випадку параметр USERID містить ім'я і пароль для доступу до бази даних, параметр LOG задає ім'я файлу, в який записується протокол роботи, параметр FILE задає ім'я файлу резервної копії, OWNER # 151; одна або кілька експортованих схем (якщо вказується кілька схем, то вони перераховуються через кому).

Для виконання повного експорту профіль трохи зміниться:

"C: \ Program Files \ WinRAR \ WinRAR.exe" a -agDDMMYYYY -m5 ora10g- ora10scott.dmp ora10scott.log

В даному випадку параметри експорту містяться в файлі exp_scott_d.prm. Після виконання резервного копіювання проводиться архівація дампа і протоколу експорту, причому в імені архіву міститься дата його створення. Розмір архіву визначається кількістю об'єктів і обсягом даних в таблицях; для навчальної схеми SCOTT-архів з резервною копією має розмір 2 Кбайт.

Логічний імпорт є дзеркальною операцією по відношенню до експорту і виконується за допомогою утиліти IMP. В ході імпорту необов'язково імпортувати всю наявну в дампі інформацію # 151; можна зробити імпорт заданих схем або таблиць. Параметри утиліти IMP зручно розміщувати в профілях, наприклад для імпорту схеми SCOTT можна застосувати профіль такого вигляду:

Параметр FROMUSER вказує, з яких облікових записів в дампі береться інформація, а TOUSER # 151; в які облікові записи вона імпортується. Це дуже зручна можливість утиліти імпорту, так як вона дозволяє імпортувати дані однієї схеми в іншу.

Параметри ROWS (рядки таблиць), GRANTS (повноваження на об'єкти), INDEXES (індекси) вказують, які типи об'єктів імпортуються.

Розглянемо кілька типових ситуацій, що зустрічаються на практиці:

  • необхідно імпортувати таблиці, але не потрібно завантажувати в них дані # 151; в цьому випадку слід задати параметр ROWS = N;
  • необхідно імпортувати об'єкти облікового запису SCOTT в обліковий запис SCOTT1. В цьому випадку слід задати параметри FROMUSER = SCOTT і TOUSER = SCOTT1;

Перед імпортом необхідно видалити всі об'єкти зі схеми, інакше в процесі імпорту будуть видаватися помилки IMP-00015 для кожної імпортованої таблиці (імпорт даних в цьому випадку не проводиться). Якщо з яких-небудь причин необхідно завантажити дані в існуючу таблицю, то можна застосувати параметр IGNORE = Y, що призведе до ігнорування помилок при створенні об'єктів і до продовження імпорту даних. Однак в разі застосування параметра IGNORE = Y необхідно враховувати, що в таблицях без первинного ключа може виникнути подвоєння записів (так як кожна операція імпорту завантажує нові дані, а старі при цьому не знищуються).

У IMP є одна цікава функція # 151; замість виконання команд в базі даних ця утиліта виводить їх в протокол, генеруючи тим самим скрипти, що містять DML-оператори. Для включення цієї функції необхідно вказати параметр SHOW = Y.

Облікові записи SYS і SYSTEM

  • розробка в базі даних не повинна вестися від імені користувачів SYS і SYSTEM;
  • не можна видаляти або змінювати системні об'єкти, розміщені в цих схемах, # 151; подібні дії можуть привести до непередбачуваних наслідків;
  • у облікових записів SYS і SYSTEM повинні бути задані складні стійкі до підбору паролі довжиною не менше 6-8 символів. У разі необхідності можна взагалі заборонити реєстрацію користувачів під обліковими записами SYS і SYSTEM.

стандартні ролі

Ролі в Oracle # 151; це іменовані групи привілеїв. Після створення бази даних в ній створюється кілька стандартних ролей:

  • роль CONNECT # 151; містить тільки одну привілей CREATE SESSION, що дозволяє створювати з'єднання з базою;
  • роль DBA # 151; повний набір привілеїв, необхідних адміністратору бази;
  • роль RESOURCE # 151; базовий набір привілеїв, необхідних розробнику;
  • роль DELETE_CATALOG_ROLE # 151; привілеї для видалення інформації з таблиці аудиту;
  • роль SELECT_CATALOG_ROLE # 151; привілеї для читання інформації з таблиць аудиту;
  • роль EXP_FULL_DATABASE # 151; необхідна користувачеві, з-під облікового запису якого буде проводитися повний експорт бази;
  • роль IMP_FULL_DATABASE # 151; необхідна користувачеві, з-під облікового запису якого буде проводитися повний імпорт бази.

Робота з базою даних: перші кроки

  • DML # 151; мова маніпулювання даними (команди SELECT, INSERT, UPDATE і DELETE);
  • DDL # 151; мова визначення даних. Дозволяє створювати, змінювати і видаляти об'єкти, змінювати налаштування бази даних.

Почнемо розгляд Oracle SQL з оператора SELECT, призначеного для отримання даних з бази. Базовий синтаксис оператора SELECT має вигляд:

SELECT список стовпців через кому

FROM список таблиць через кому

[GROUP BY угруповання]

Замість списку стовпців допускається використання символу «*», який розглядається як «всі стовпці всіх перерахованих в FROM таблиць».

Розглянемо найпростіший запит

Даний запит витягує всю інформацію з таблиці EMP. При використанні «*» слід враховувати ряд факторів:

  • порядок проходження стовпців при застосуванні "*" не гарантується. Отже, якщо використання конкретного списку стовпців з якої-небудь причини неприпустимо, то необхідно звертатися до повертається стовпцями по іменах, а не за індексом. Це поширена помилка, оскільки, як правило, стовпці повертаються в порядку їх слідування в таблиці і будь-яка реорганізація таблиці може привести до виникнення важко діагностуються помилок;
  • у багатьох випадках клієнтську програму застосовує тільки частина наявних в таблиці стовпців. Якщо замість перерахування необхідних стовпців вказати «*», то на клієнтську сторону будуть передаватися не використовуються дані, що призведе до надмірного навантаження на мережу і, як наслідок, до зниження продуктивності;
  • в разі вилучення інформації з двох і більше таблиць може виявитися, що в таблицях існують стовпчики з однаковими іменами. В цьому випадку виникне помилка «ORA-00918 column ambiguously defined» і запит не виконається. Це один з підводних каменів, з якими стикаються початківці розробники, # 151; запит може працювати під час налагодження, а потім через деякий час проводиться модифікація бази, що призводить до появи в застосовуваних запитом таблицях стовпців з однаковими іменами, в результаті чого запит перестає працювати.

У деяких випадках може знадобитися повернути за допомогою запиту результат роботи деякої збереженої функції або результат обчислення. В цьому випадку можна використовувати спеціальну системну таблицю DUAL, доступну всім користувачам і завжди містить єдиний стовпець з ім'ям DUMMY і типом VARCHAR2 (1) і єдиний рядок. Приклад запиту, яка провадить обчислення і застосовує таблицю DUAL:

Як інший приклад з використанням таблиці DUAL можна розглянути виклик функції SYSDATE, що повертає поточну дату:

Зовсім недавно компанія Cougar представила нову серію блоків живлення для традиційних ПК - VTX, орієнтовану на користувачів з обмеженим бюджетом. У цьому огляді буде розглянута модель Cougar VTX600, яка завдяки своїм характеристикам буде однією з найбільш затребуваних в цій лінійці блоків живлення

На щорічному заході Capsaicin SIGGRAPH в Лос-Анджелесі компанія AMD зміцнила свої позиції на ринку ПК класу high-end з новими процесорами Ryzen Threadripper і GPU «Vega»

Для простого і зручного побудови мереж рядовими користувачами компанія ZyXEL випустила чергову версію свого Інтернет-центру для підключення до мереж 3G / 4G через USB-модем з точкою доступу Wi-Fi - ZyXEL Keenetic 4G III, який ми і розглянемо в цьому огляді

До своєї і так великій родині роутерів і маршрутизаторів фірма ASUS недавно додала дві вельми цікаві моделі: флагманську 4G-AC55U і більш просту 4G-N12. У даній статті буде розглянута флагманська модель ASUS 4G-AC55U

Молода, але амбіційна компанія KREZ на початку цього року випустила нову, оригінальну модель ноутбука KREZ Ninja (модель TM1102B32) під керуванням Windows 10. Оскільки цей комп'ютер має поворотний екран, він може служити універсальним рішенням - його можна з успіхом використовувати і для роботи, і для навчання, і для ігор

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

Схожі статті