Як інтерес, якщо я перейду з DBA SQL Server до Oracle, що буде основним навчанням чи невідчуттям, що мені доведеться робити?
Я б припустив, що поняття однакові, і різниця полягає лише в мові програмування, але я не бачив іншої сторони дверей.
Як інтерес, якщо я перейду з DBA SQL Server до Oracle, що буде основним навчанням чи невідчуттям, що мені доведеться робити?
Я б припустив, що поняття однакові, і різниця полягає лише в мові програмування, але я не бачив іншої сторони дверей.
Відповіді:
Oracle і SQL Server мають ряд архітектурних та ідіоматичних відмінностей, і кілька ключових бітів термінології використовуються по-різному в документації. З того часу я це зробив досить багато років, але деякі основні ідіоматичні відмінності:
Oracle не має прямого еквівалента tempdb. Глобальні таблиці темп є стійкими об'єктами, і ви не створюєте їх на ходу, як це було б із таблицею темпів у SQL Server.
Ідіоматичний PL / SQL набагато більш процедурний, ніж ідіоматичний T-SQL. З іншого боку, PL / SQL має функції для підтримки швидких опцій курсору, включаючи конструкції паралельного циклу. Часто проміжні результати курсору використовуються способами, подібними до речей сортування, для яких використовували б темп-таблиці в SQL Server. Подивіться, як використовувати "%", щоб отримати поліморфізм змінних типів курсору.
SQL * Plus - це інструмент командного рядка, подібний до SQLCMD. У ванільній установці це може бути все, що у вас є. Якщо вам потрібен інструмент GUI типу SSMS, ви можете отримати SQL Developer або сторонні інструменти, такі як TOAD. TOAD є досить дорогим.
Дізнайтеся про роль сегментів відкату (використовується в MVCC Oracle) та радості помилки "знімок занадто старий".
Отримайте обліковий запис Metalink, якщо можливо.
Прочитайте посібник з концепціями. У ньому багато корисної інформації для початківців.
Простори таблиць приблизно еквівалентні групам файлів.
SQL і діалект SQL, вбудований в PL / SQL, не зовсім одне й те саме в Oracle.
Oracle не підтримував рекурсивні CTE зовсім недавно. Ви можете робити рекурсивні запити за допомогою CONNECT BY.
Прочитайте документи для RMAN, щоб побачити, як робити резервні копії. Ви можете виконати кілька акуратних хитрощів, таких як об’єднання диференціальних резервних копій в єдину відновлювану резервну копію.
У словнику системних даних є таблиці "ALL", "USER" та "DBA". "USER_ " відображає об'єкти, що належать логіну. 'ALL_ ' показує всі об'єкти, з якими може читати логін. "DBA_ *" - це глобальне уявлення, але ви повинні мати відповідні дозволи, щоб побачити це. Напевно, ви будете використовувати словник даних більше з Oracle, ніж з SQL Server, тому познайомтеся з ним.
Кластеризовані таблиці називаються «впорядкованими індексами таблицями» в Oracle. "Кластеризовані таблиці" в Oracle відносяться до зовсім іншої функції. В Oracle кластеризована таблиця - це засіб, що дозволяє фізичне зберігання таблиць основного / детального опису на основі загального ключа. Ця функція не використовується широко.
Проіндексовані погляди в Oracle називаються «матеріалізованими поглядами». Вони працюють дещо інакше, з достатньо нюансами, щоб заслужити власне питання.
У Oracle немає поняття, еквівалентного «базі даних» у SQL Server. В Oracle схема є просто власником деяких об'єктів бази даних.
PL / SQL має явну структуру модуля під назвою "пакети".
Подивіться на використання послідовностей замість стовпців ідентичності.
Отримання плану запитів є трохи непогашеним у старих версіях Oracle (до 10г). Ви повинні створити таблицю (потрібного формату), щоб скинути план, а потім "ПОЯСНИТЬ ПЛАН" запит у таблицю, щоб отримати план запитів. Потім ви можете повернути план запитів із таблиці. Усі та їх собака мають улюблені запити щодо плану. Знайдіть у Google пошук і знайдіть його, а потім перемажте його за смаком. 10g додав пакет під назвою dbms_xplan , який спрощує роботу з планами запитів.
Якщо ви працюєте з Oracle на хості unix або linux, володіння знаннями сценаріїв оболонок не зашкодить.
Oracle має підтримку автономних транзакцій - ви можете здійснити внутрішню автономну транзакцію і очікувати, що вона буде вчинена, якщо батько відкинеться назад. Вкладені транзакції SQL Server не є справжніми вкладеними транзакціями і мають різну семантику. Ви можете наслідувати цю поведінку процедурою, що зберігається в CLR, на SQL Server, відкривши незалежне з'єднання і виконавши через це автономну операцію.
Oracle поставляється з меншою кількістю BI-інструментів поза коробкою, хоча Oracle продає сервери OLAP, засоби звітності та інструменти ETL.
Oracle вбудовує інструмент для великого навантаження під назвою SQL * Loader, який за функцією схожий на bcp.
Найближчий еквівалент SSIS - Oracle Warehouse Builder (OWB), але це окремий елемент і не входить у комплект із базовою системою.
Oracle створить інструмент звітності під назвою Oracle Reports , але це також не входить до базової системи. Це найближчий еквівалент службам звітування.
Oracle також виготовляє інструмент ROLAP під назвою Discoverer . Це найближчий продукт для Builder звітів, який виробляє Oracle. Більш недавні версії ("Дрейк") підтримують двигун OLAP від Oracle.
Oracle використовував продукт OLAP під назвою Express. Одного разу вони вбудували його в основний движок Oracle СУБД, зберігаючи вбудовану структуру даних у непрозорих місцях. Він не є повністю сумісним з Express і має власний інтерфейс із дуже малою підтримкою сторонніх інструментів OLAP-front.
Oracle BI Enterprise Edition - це те, що раніше було Siebel Analytics. Він має деякі функції OLAP, але я не знайомий з ним. Можливо, хтось, хто це використовував, може хотіти прокоментувати. Без прямого визнання, що Siebel - це абсолютно окремий продукт від власного інструментарію BI, Oracle заявив, що "не було шляху до оновлення" від Oracle BI Standard Edition до Enterprise Edition. Зауважте, що і стандартний і корпоративний BI-пакети є окремими продуктами, а не в комплекті з базовою системою.
На практиці найближчим до SSAS, що продається Oracle, є Essbase (раніше Hyperion). Це окремий продукт і не в комплекті з базовою системою.
Не дивно, що BI-стратегія Oracle розглядається галузевими експертами як щось із сніданку собаки.
Напевно, є інші речі, про які я не можу придумати OTOH; Я додам їх так, як думаю про них.
Ми працюємо як з Oracle, так і з SQL Server, а наша ведуча DBA Мішель Малчер часто допомагає колегам в цьому переході. Виходячи з цього досвіду, вона написала книгу "Адміністрування баз даних Oracle для DBA Microsoft SQL Server (Oracle Press)". Мені сподобалась ця книга.
Я не впевнений, чи рекомендувати книгу колегою доречно для цього сайту. Я не звітую перед Мішель, я очолюю команду розробників.