Стиль написання SQL операторів
Основні положення
SQL оператори слід писати таким чином, щоб полегшити процес їхнього виконання, розуміння і виправлення. Логічно відособлена послідовність операторів повинна знаходитися в окремому файлі.
Оператори слід вирівнювати так, щоб текст програми вони виглядав
акуратно.
- Кожне із запитуваних в SELECT полів має бути на окремому рядку.
- Кожна з таблиць, перерахованих в FROM повинна бути на окремому рядку.
Ключові слова SQL
- Ключові слова Oracle слід писати ВЕЛИКИМИ ЛІТЕРАМИ
- Перераховані нижче ключові слова слід писати з нового рядка:
- Всі ключові слова в межах одного SQL оператора слід писати з однієї і тієї ж позиції. При використанні вкладених операторів SELECT їх слід зрушувати всередину пропозиції на позицію другого слова в попередньому рядку, наприклад:
- Рядки, які не починаються з наведених вище ключових слів слід починати з позиції другого слова в попередньому рядку, наприклад:
Константи і змінні
- Константи, змінні і т.п. слід розташовувати з правого боку від слів
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;