Oracle dba

Стиль написання SQL операторів

Основні положення

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

Оператори слід вирівнювати так, щоб текст програми вони виглядав
акуратно.

  1. Кожне із запитуваних в SELECT полів має бути на окремому рядку.
  2. Кожна з таблиць, перерахованих в FROM повинна бути на окремому рядку.

Ключові слова SQL

  1. Ключові слова Oracle слід писати ВЕЛИКИМИ ЛІТЕРАМИ
  2. Перераховані нижче ключові слова слід писати з нового рядка:
  3. Всі ключові слова в межах одного SQL оператора слід писати з однієї і тієї ж позиції. При використанні вкладених операторів SELECT їх слід зрушувати всередину пропозиції на позицію другого слова в попередньому рядку, наприклад:
  4. Рядки, які не починаються з наведених вище ключових слів слід починати з позиції другого слова в попередньому рядку, наприклад:

Константи і змінні

  1. Константи, змінні і т.п. слід розташовувати з правого боку від слів
    WHERE або HAVING.

Зовнішні об'єднання (outer joins)

Поля, які залучаються до операцію зовнішнього об'єднання (outer join) слід писати з правого боку від слів WHERE або HAVING.

Синоніми таблиць (aliases)

Синоніми для таблиць слід застосовувати у всіх запитах, в яких згадується більше однієї таблиці в реченні FROM. Використання синонімів (alias) в таких запитах прискорює операцію розбору SQL оператора ядром Oracle, оскільки зменшує рекурсию запитів.

Відзначте, що синоніми o, l, n використовуються в реченні WHERE.

Порядок умов в реченні WHERE

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

Резервний файл (backup piece). Двійковий файл з резервної інформацією.

Синтаксис командного мови RMAN в версії 9 має певні відмінності від версії 8, але всі основні конструкції збережено. Крім цього, в RMAN для версії 9 передбачається цілий ряд спрощень записи команд.

Можливість роботи з RMAN включена також в останні версії OEM без необхідності знання командного мови.

У тексті нижче для лаконічності перевага надаватиметься синтаксису версії 9. Крім цього для простоти розглядається робота без каталогу RMAN.

RMAN NOCATALOG
RMAN> CONNECT TARGET internal / oracle
RMAN> SHUTDOWN IMMEDIATE
RMAN> STARTUP MOUNT
RMAN> RUN 2> ALLOCATE CHANNEL d1 TYPE DISK;
3> BACKUP FULL FORMAT 'd: \ oracle \ oradata \ teacher \ rman-backup \ rman _._% U.bus'
4> DATABASE;
4 >>
RMAN>

В каталозі D: \ ORACLE \ ORADATA \ TEACHER \ RMAN-BACKUP з'явився файл RMAN_ TEACHER _02DGA6F0_1_1.BUS (реальне ім'я може варіюватися). Тепер можна видалити файли з табличними просторами і виконати відновлення:

RMAN> RUN 2> ALLOCATE CHANNEL d1 TYPE DISK;
3> RESTORE DATABASE;
4> RECOVER DATABASE;
5> ALTER DATABASE OPEN;
6 >>

База відновлена ​​і відкрита.

У версії RMAN для версії 9 описане вище резервування можна було б виконати так:

RMAN> BACKUP DATABASE FORMAT
2> 'd: \ oracle \ oradata \ teacher \ rman-backup \ rman _._% U.bus';

а відновлення так:

RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;

Тут мається на увазі використання неявного каналу за замовчуванням, так що оголошувати його стало необов'язково.

Крім цього у версії 9 з'явилася команда CONFIGURE, за допомогою якої (крім іншого) можна пов'язати з каналом напрямок і маску імені файлів для резервного набору:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT
2> 'd: \ oracle \ oradata \ teacher \ rman-backup \ rman _._% U.bus';

В цьому випадку команда зняття резервної копії може виглядати ще простіше:

RMAN> BACKUP DATABASE;

Схожі статті