Върнете се в началото 50 Oracle Въпроси и отговори за интервю (2025)

Подготовка за ан Oracle Интервю? Време е да помислите какви въпроси биха могли да ви бъдат зададени. Тези въпроси са важни, защото не само проверяват знанията, но и разкриват подход за решаване на проблеми.

Възможностите в тази област варират от начинаещи с основни умения до старши професионалисти с 10 години технически опит. Независимо дали анализирате умения на базово ниво, прилагате експертен опит в дадена област или се подготвяте да разрешите често задавани въпроси и да получите отговори, Oracle Кариерите изискват силна техническа експертиза. Ръководителите на екипи, мениджърите и старшите служители ценят професионалистите с правилния набор от умения, като помагат на организациите да се отличат, като същевременно гарантират, че кандидатите демонстрират реален професионален опит както в технически, така и в напреднали области.

Консултирахме над 60 технически лидери, събрахме обратна връзка от над 45 мениджъри и анализирахме прозрения от над 100 професионалисти от различни индустрии. Този широк спектър гарантира, че Oracle Въпросите за интервю, разгледани тук, представят различни гледни точки и практически очаквания за наемане на работа.

Oracle Въпроси и отговори за интервюта

Топ Oracle Въпроси и отговори за интервюта

1) Обяснете различните видове Oracle обекти на базата данни и техните характеристики.

Oracle Обектите на базата данни са обекти на ниво схема, които съхраняват и управляват данни. Често срещани обекти включват таблици, изгледи, синоними, последователности, индекси и клъстери. Всеки служи за уникална цел: таблиците съдържат действителни данни, изгледите действат като виртуални представяния, синонимите предоставят алтернативни имена, последователностите генерират уникални стойности, индексите подобряват скоростта на извличане, а клъстерите групират свързани таблици. Разбирането на техния жизнен цикъл, от създаването до изтриването, помага на разработчиците да управляват зависимостите и да оптимизират производителността на базата данни.

Пример: Изгледът може да опрости сложни съединения, докато индексът може да ускори заявките, но може да забави вмъкванията или актуализациите.

👉 Безплатно изтегляне на PDF: Oracle Въпроси и отговори за интервю


2) Каква е разликата между VARCHAR и VARCHAR2 в Oracle?

VARCHAR и VARCHAR2 се използват за съхраняване на символни данни с променлива дължина, но поведението им се различава. VARCHAR е запазен за бъдеща употреба и може да се държи различно в предстоящи... Oracle версии, докато VARCHAR2 е препоръчителният тип данни за низове с променлива дължина. VARCHAR2 премахва интервалите в края, докато VARCHAR ги запазва, което го прави по-малко ефективен за повечето сценарии.

Таблица за сравнение:

фактор ВАРЧАР VARCHAR2
Съхранение Фиксирано бъдещо поведение Ефективно съхранение с опростени пространства
употреба Reserved Предпочитан и широко използван
Производителност Потенциално непоследователно Надежден и оптимизиран

3) Как ограниченията налагат целостта на данните в Oracle бази данни?

Ограниченията са правила, прилагани към колоните на таблицата, за да се поддържа точност и последователност. Те включват НЕ Е НУЛА, УНИКАЛЕН, ПЪРВИЧЕН КЛЮЧ, ВЪНШЕН КЛЮЧ, и CHECKНапример, първичният ключ гарантира уникалността на записите, докато външният ключ поддържа референтната цялост в таблиците. Ограниченията опростяват прилагането на бизнес логиката на ниво схема, а не на ниво приложение.

Пример: В Employees маса, подреждане Employee_ID като първичен ключ гарантира, че всеки запис е уникален, докато външен ключ свързва Department_ID на Departments таблицата предотвратява осиротели записи.


4) Къде са Oracle използвани таблични пространства и какви са техните предимства?

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

Ползите включват:

  • По-лесни стратегии за архивиране и възстановяване.
  • Изолиране на временни операции от постоянни данни.
  • Ефективно управление на пространството с помощта на функции за автоматично разширяване.

Пример: Продукционната база данни може да има отделни таблични пространства за потребителски данни, индекси и системни метаданни, за да се оптимизират процесите на възстановяване.


5) Какви са предимствата и недостатъците на използването на индекси в Oracle?

Индексите ускоряват производителността на заявките, като намаляват броя на дисковите I/O операции. Те обаче въвеждат допълнителни разходи по време на DML (INSERT, UPDATE, DELETE) операции, тъй като индексите също трябва да се актуализират.

Таблица с предимства и недостатъци:

Предимства Недостатъци
По-бързо извличане на данни По-бавни DML операции
Поддържа уникални ограничения Изисква място за съхранение
Подобрява производителността на съединението Може да причини фрагментация

Пример: Индекс на Customer_ID позволява по-бързо извличане на клиентски поръчки, но увеличава разходите за вмъкване на нови редове.


6) По какво един изглед се различава от една таблица в Oracle?

Таблицата е физическа структура, която съхранява действителни данни, докато изгледът е логическа, виртуална таблица, базирана на SQL заявки. Изгледите не съхраняват данни директно, а вместо това предоставят динамичен начин за опростяване на сложни заявки, налагане на сигурност чрез ограничаване на достъпа до определени колони и абстрахиране на основните промени в схемата.

Пример: Изглед, показващ само имена и телефонни номера на клиенти, скрива чувствителни полета, като например данни за кредитна карта. Това защитава чувствителните данни, като същевременно обслужва нуждите на отчетите.


7) Обяснете различните видове съединения, поддържани в Oracle SQL с примери.

Съединенията комбинират редове от две или повече таблици въз основа на свързани колони. Видовете включват:

  • ВЪТРЕШНО СЪЕДИНЯВАНЕ: Връща съответстващи редове.
  • ЛЯВО ВЪНШНО СЪЕДИНЯВАНЕ: Всички редове от лявата таблица, плюс съвпадения.
  • ДЯСНО ВЪНШНО СЪЕДИНЯВАНЕ: Всички редове от дясната таблица, плюс съвпадения.
  • ПЪЛНО ВЪНШНО СЪЕДИНЯВАНЕ: Всички редове от двете таблици.
  • КРЪСТОСВАНО СЪЕДИНЯВАНЕ: Декартово произведение на редове.

Пример:

SELECT e.name, d.department_name
FROM employees e
INNER JOIN departments d
ON e.department_id = d.department_id;

8) Какви са характеристиките и предимствата на използването на PL/SQL пред SQL?

PL/SQL е OracleПроцедурно разширение на SQL, което комбинира декларативен SQL с процедурни конструкции като цикли, условия и обработка на изключения. За разлика от SQL, който изпълнява по един оператор наведнъж, PL/SQL поддържа блокове код, подобрявайки производителността и възможността за многократна употреба.

Ползите включват:

  • Модулно програмиране чрез процедури и пакети.
  • Механизми за обработка на изключения.
  • Подобрена производителност при групови операции.

Пример: PL/SQL блок може да обработва множество корекции на заплатите на служителите в един цикъл, което намалява превключването на контекста в сравнение с изпълнението на множество SQL оператори.


9) Как става Oracle управлява NULL стойности и каква е разликата между NVL и COALESCE?

Oracle представлява NULL като липса на стойност. Функции като NVL намлява ОБЛИВАНЕ обработва NULL по различен начин. NVL приема два аргумента и замества NULL с втората стойност. COALESCE може да приема множество аргументи и връща първата стойност, различна от NULL.

Пример:

SELECT NVL(commission, 0), COALESCE(bonus, allowance, 0) FROM employees;

Тук NVL гарантира, че комисионната не е NULL, докато COALESCE проверява множество колони за първата налична стойност.


10) Правете тригери в Oracle предлагат предимства или недостатъци при проектирането на бази данни?

Тригерите са съхранени PL/SQL блокове, които се изпълняват автоматично в отговор на събития като INSERT, UPDATE или DELETE. Те са полезни за одит, прилагане на сложни ограничения и автоматизиране на бизнес правила.

Предимства: Автоматизира прилагането на правилата, централизира логиката.

Недостатъци: Скритото изпълнение може да усложни отстраняването на грешки и да влоши производителността, ако се използва прекомерно.

Пример: Тригер, който регистрира промени в Salaries таблицата осигурява съответствие с одита, без да се изискват промени в приложния слой.


11) Как са Oracle пакети, различни от процедури и функции?

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

Пример: Пакетът за изплащане на заплати може да включва функции за изчисляване на данъци и процедури за изплащане на заплати. Разработчиците могат да предоставят достъп само до процедурата за изчисляване на заплатата, като същевременно запазят вътрешните си чувствителни данъчни правила.


12) Какви са различните начини за обработка на изключения в PL/SQL?

Обработката на изключения осигурява устойчивост на PL/SQL програмите чрез прихващане на грешки. Има три основни категории:

  1. Предварително дефинирани изключения , като NO_DATA_FOUND намлява TOO_MANY_ROWS.
  2. Потребителски дефинирани изключения декларирани от разработчиците за обработка на специфични сценарии.
  3. Необработени изключения които се разпространяват автоматично към извикващата среда.

Пример:

BEGIN
    SELECT salary INTO v_salary FROM employees WHERE id=999;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('Employee not found');
END;

Това предотвратява спирането на изпълнението поради грешки по време на изпълнение и позволява плавно възстановяване.


13) Обяснете жизнения цикъл на Oracle курсор.

Курсорът е указател към резултатния набор от SQL заявка. Неговият жизнен цикъл има различни фази:

  1. Декларация: Курсорът е дефиниран.
  2. Откриване: Oracle разпределя памет и изпълнява заявката.
  3. Извличане: Редовете се извличат последователно в променливи.
  4. Затваряне: Ресурсите се освобождават.

Пример: При експлицитните курсори разработчиците контролират всяка стъпка, докато имплицитните курсори се управляват автоматично от Oracle по време на заявки към един ред. Правилното управление на жизнения цикъл на курсора предотвратява изтичане на памет и подобрява стабилността на приложението.


14) Кои фактори влияят върху настройката на производителността Oracle бази данни?

Оптимизацията на производителността се влияе от няколко фактора, вариращи от оптимизация на SQL до системна конфигурация. Ключовите съображения включват:

  • Дизайн на заявки и стратегия за индексиране.
  • Правилно използване на плановете за изпълнение.
  • Адекватно разпределение на паметта (SGA, PGA).
  • Разделяне на данни и паралелно изпълнение.
  • Избягване на ненужни съединения или вложени подзаявки.

Пример: Неиндексирано търсене в таблица с 10 милиона реда може да отнеме минути, но с добре подбран индекс на B-дървото, същата заявка се изпълнява за секунди.


15) Каква е разликата между OLTP и OLAP системите в Oracle?

Oracle поддържа както онлайн обработка на транзакции (OLTP), така и онлайн аналитична обработка (OLAP). OLTP обработва чести, малки транзакции, докато OLAP управлява сложни заявки за подкрепа на вземането на решения.

Таблица за сравнение:

фактор OLTP OLAP
Цел Транзакционното аналитичен
обем на данните Умерена Много голям
Сложност на заявката Просто, предварително зададено Сложно, ad hoc
Време за реакция Под-втора Може да е по-дълго

Пример: Банкова система, обработваща тегления от банкомат, е OLTP, докато анализът на тенденциите в разходите на клиентите е OLAP.


16) Как става Oracle внедрете разделяне на данни и какви са неговите предимства?

Разделянето разделя голяма таблица или индекс на по-малки, управляеми сегменти, като същевременно запазва логическата последователност. Видовете разделяне включват диапазон, списък, хеш и съставно разделяне.

Ползите включват:

  • Подобрена производителност на заявките чрез сканиране само на съответните дялове.
  • По-лесна поддръжка чрез подрязване на прегради.
  • Подобрена управляемост на огромни масиви от данни.

Пример: Таблица с продажби, разделена по години, позволява на заявките за данни от 2024 г. да имат достъп само до дяла за 2024 г., вместо да сканират целия набор от данни.


17) Кога трябва да използвате групови операции в PL/SQL?

Масови операции ( BULK COLLECT, FORALL ) се използват при ефикасна обработка на големи обеми данни. Вместо обработка ред по ред, груповите операции обработват набори от редове в един контекст, превключвайки между SQL и PL/SQL двигатели.

Предимства:

  • По-бърза производителност.
  • Намалено използване на процесора.
  • Опростена пакетна обработка.

Пример: Използването на FORALL Вмъкването на 100 000 записа на служители е значително по-бързо от изпълнението на 100 000 отделни INSERT оператора.


18) Можете ли да обясните ролята на Oracle Да се ​​преработят лог файловете в recovery?

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

Характеристики:

  • Състои се от онлайн файлове с логове за повторно изпълнение и архивирани логове за повторно изпълнение.
  • Защита от повреди на инстанциите.
  • Активирайте възстановяване в определен момент.

Пример: Ако сървърът се срине след извършена транзакция, но преди данните да бъдат записани на диска, журналите за повторно изпълнение гарантират, че извършената промяна ще бъде приложена отново по време на възстановяването.


19) Какви са различните видове Oracle индекси и техните случаи на употреба?

Oracle предоставя няколко типа индекси, всеки от които е подходящ за специфични сценарии:

  • Индекси на B-дърво: Универсално предназначение, най-подходящо за колони с висока кардиналност.
  • Индекси на растерни изображения: Ефективно за колони с ниска кардиналност, като например пол.
  • Индекси, базирани на функции: Полезно е, когато заявките включват изрази или функции.
  • Clusterиндекси: Съхранявайте редове от множество таблици заедно въз основа на ключ.

Пример: Индекс на растерно изображение на Status Колоната (Активна/Неактивна) е по-ефективна от B-дърво, тъй като има само две различни стойности.


20) Как защитавате данните в Oracle бази данни?

Сигурност на данните в Oracle включва множество слоеве. Ключовите механизми включват:

  • Удостоверяване на потребителя със силни пароли и профили.
  • Привилегии и роли да се наложи най-малко привилегии.
  • Виртуална частна база данни (VPD) за сигурност на ниво ред.
  • Прозрачно криптиране на данни (TDE) за да защитите данните в покой.
  • Функции за одит за проследяване на достъпа и промените.

Пример: Финансова база данни може да използва VPD, за да гарантира, че служителите виждат само записи, принадлежащи на техния клон, докато TDE криптира чувствителни данни за клиентите на ниво диск.


21) Какви са различните видове Oracle брави и тяхното значение?

Заключванията предотвратяват конфликт на достъп до данни в многопотребителски среди. Oracle използва различни заключвания, включително заключвания на ниво ред, на ниво таблица и на ниво система.

  • Заключване на ниво ред: Уверете се, че едновременните сесии могат да имат достъп до различни редове едновременно.
  • Заключвания на ниво таблица: Защитете цели таблици по време на структурни промени.
  • DML брави: Придобива се автоматично при промяна на редове.
  • DDL брави: Защитете обектите на схемата по време на структурни промени.

Пример: Ако двама потребители актуализират различни редове в Orders маса, Oracle използва заключвания на ниво ред, за да предотврати конфликти, като същевременно позволява максимална едновременност.


22) Как да Oracle транзакциите следват свойствата на ACID?

Транзакции в Oracle се придържат Atomизолация, консистентност, изолация и издръжливост (ACID) принципи.

  • Atomледеност гарантира, че всички операции са успешни или нито една не се прилага.
  • Съгласуваност запазва целостта на базата данни чрез прилагане на бизнес правила.
  • Изолация гарантира, че едновременните транзакции няма да пречат.
  • трайност гарантира, че потвърдените транзакции се запазват въпреки неуспехите.

Пример: При превод на средства между сметки, Oracle гарантира, че дебитните и кредитните операции ще се изпълнят успешно едновременно. Ако едната се провали, транзакцията се отменя изцяло, запазвайки целостта си.


23) Обяснете разликата между DELETE, TRUNCATE и DROP Oracle.

Тези команди се различават по обхват, скорост и възможности за връщане назад.

Команда Цел Възможно е връщане назад Скорост
ИЗТРИЙ Премахва редове с клауза WHERE Да По-бавно
ПРЕКРАТЕТЕ Премахва всички редове, запазва структурата Не По-бързо
Капка Премахва цялата таблица и метаданните Не Най-бърз

Пример: Използвайте DELETE, когато премахвате конкретни служители по отдел, TRUNCATE за изчистване на временна таблица и DROP, когато таблицата вече не е необходима.


24) Кои инструменти са налични за диагностика на производителността в Oracle?

Oracle предоставя множество инструменти за анализ и подобряване на производителността:

  • ОБЯСНЕТЕ ПЛАН: Показва стъпките за изпълнение на заявката.
  • SQL проследяване и TKPROF: Записване и интерпретиране на статистика за изпълнение на SQL.
  • Автоматично хранилище за работни натоварвания (AWR): Събира показатели за ефективност във времето.
  • Автоматичен монитор за диагностика на базата данни (ADDM): Препоръчва действия за настройване.
  • Мениджър на предприятието (OEM): Мониторинг, базиран на графичен потребителски интерфейс.

Пример: AWR отчетите помагат за идентифициране на дълго изпълняващи се заявки, докато EXPLAIN PLAN показва дали индексите се използват ефективно.


25) Как е Oracle архитектура, организирана по отношение на структури на паметта?

Oracle използва структури на паметта, като например Глобална зона на системата (SGA) намлява Програма Глобална зона (PGA).

  • ДГС: Споделена памет, съдържаща споделения пул, кеша на буфера на базата данни, буфера за журнал на повторно изпълнение и големия пул.
  • PGA: Памет, разпределена на сесия, съхраняваща променливи и области за сортиране.

Пример: Буферният кеш в SGA подобрява производителността, като съхранява често достъпвани блокове от данни, намалявайки физическите дискови I/O операции.


26) Материализираните изгледи предоставят ли предимства в Oracle бази данни?

Да, материализираните изгледи съхраняват предварително изчислените резултати от заявките физически, за разлика от обикновените изгледи.

Предимства: По-бърз отговор на заявки, намалено натоварване на базовите таблици, поддръжка на репликация.

Недостатъци: Изисква обновяване, изразходва място за съхранение, може да остане неактуално.

Пример: Материализиран изглед, обобщаващ дневните продажби, ускорява отчитането, като избягва повтарящи се заявки за агрегиране.


27) Какви са Oracle последователности и кога са полезни?

Последователностите генерират уникални числови стойности, често използвани за първични ключове. Те са независими от таблиците и поддържат едновременен достъп.

Случаи на употреба:

  • Генериране на номера на фактури.
  • Създаване на уникални идентификатори на служители.
  • Подпомагане на репликацията чрез компенсиране на последователности.

Пример:

CREATE SEQUENCE emp_seq START WITH 100 INCREMENT BY 1;
INSERT INTO employees (emp_id, name) VALUES (emp_seq.NEXTVAL, 'John');

28) Как можете да оптимизирате заявките, използвайки Oracle Съвети?

Подсказките са директиви, вградени в SQL, които влияят на плана за изпълнение на оптимизатора. Често срещани подсказки включват INDEX, FULL, PARALLEL, и USE_HASH.

Пример:

SELECT /*+ INDEX(e emp_name_idx) */ name FROM employees e WHERE name = 'Smith';

Това инструктира Oracle да се използва специфичен индекс, подобрявайки производителността. Прекомерната зависимост от подсказки обаче може да намали гъвкавостта при промени в данните или схемата.


29) Какви са предимствата и недостатъците на използването Oracle клъстери?

Clusterгрупират таблици, които споделят общи колони, в едни и същи блокове данни.

Ползи:

  • Подобрява производителността на съединението на клъстерирани колони.
  • Спестява място за съхранение, като съвместно разполага свързани редове.

Недостатъци:

  • Увеличени режийни разходи по време на вложки.
  • Ограничена гъвкавост, ако ключът за клъстериране се променя често.

Пример: ClusterING Employees намлява Departments on Department_ID подобрява присъединяванията, но забавя актуализациите, ако отделите се променят често.


30) Как става Oracle справяне с безизходици и какви фактори допринасят за тях?

Безизходица възниква, когато две сесии чакат неопределено време за ресурси, заключени една от друга. Oracle автоматично открива безизходици и ги разрешава чрез връщане назад с една транзакция.

Фактори, допринасящи за застой:

  • Лош дизайн на транзакциите.
  • Неподреден достъп до споделени ресурси.
  • Прекомерно заключване на редове или таблици.

Пример: Ако сесия А заключва ред 1 и се нуждае от ред 2, докато сесия Б заключва ред 2 и се нуждае от ред 1, Oracle се намесва, за да разреши безизходицата, като прекрати една транзакция.


31) Каква е разликата между имплицитни и експлицитни курсори в Oracle?

Курсорите управляват наборите от резултати от заявки.

  • Имплицитни курсори се създават автоматично от Oracle за заявки с един ред, като например SELECT INTOТе изискват минимален код, но предоставят ограничен контрол.
  • Изрични курсори са дефинирани от разработчиците за заявки, връщащи множество редове. Те осигуряват гъвкавост чрез изрични операции OPEN, FETCH и CLOSE.

Пример:

-- Implicit cursor
SELECT salary INTO v_salary FROM employees WHERE id=101;
-- Explicit cursor
CURSOR emp_cur IS SELECT name FROM employees;

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


32) Как става OracleКак оптимизаторът на [име на продукта/услугата] определя план за изпълнение?

- Oracle Оптимизаторът оценява множество стратегии за изпълнение и избира най-ефективната въз основа на оптимизация, базирана на разходите (CBO)Факторите включват налични индекси, методи за свързване (вложен цикъл, хеш съединение, сливане съединение), статистика за размерите на таблиците и разпределение на данните.

Пример: За заявка, свързваща малка и голяма таблица, оптимизаторът може да избере вложено циклично съединение, но ако и двете таблици са големи, може да избере хеш съединение. Редовно актуализираната статистика осигурява точни планове за изпълнение.


33) Обяснете разликата между операторите UNION, UNION ALL, INTERSECT и MINUS.

Тези оператори комбинират резултатите от заявките, но се държат по различен начин.

OperaTor функция Дубликати Поръчка
СЪЮЗ Комбинира различни резултати отстранен Сортирани
СЪЮЗ ВСИЧКИ Комбинира всички резултати Неразпределена Не е гарантирано
ПРЕКРЕСТИ Връща общи редове отстранен Сортирани
МИНУС Връща редове в първия, а не във втория отстранен Сортирани

Пример: UNION ALL е най-подходящ за производителност, когато дубликатите са приемливи.


34) Какви са характеристиките и жизненият цикъл на Oracle временни таблици?

Временните таблици съхраняват данни, специфични за сесията или транзакцията. Данните се запазват само за сесията или транзакцията, в зависимост от дефиницията.

Кръговат на живота:

  • Създаване: Веднъж в схемата с CREATE GLOBAL TEMPORARY TABLE.
  • Начин на употреба: Данните са видими само за сесия или транзакция.
  • Заличаване: Автоматично се изчиства след края на сесията/транзакцията.

Пример: Временна таблица, специфична за сесията, може да съхранява междинни резултати по време на процес на отчитане, без това да засяга други потребители.


35) PL/SQL записите предоставят ли предимства пред отделните променливи?

Да, записите обединяват свързани променливи в едно цяло. Те подобряват четимостта на кода, намаляват сложността на декларациите и се подравняват със структурите на редовете на таблицата.

Предимства:

  • По-лесно съпоставяне с колони на таблица.
  • Опростява предаването на множество стойности към процедури.
  • Поддържа %ROWTYPE за подравняване на таблици.

Пример:

DECLARE
    emp_rec employees%ROWTYPE;
BEGIN
    SELECT * INTO emp_rec FROM employees WHERE id=200;
END;

Това извлича цял ред в една променлива тип запис.


36) Кога трябва да използвате аналитични функции в Oracle?

Аналитичните функции изчисляват стойности в групи от редове, без да ги свиват, което ги прави важни за разширеното отчитане.

Случаи на употреба:

  • Класиране на редове с RANK() or ROW_NUMBER().
  • Изчисляване на текущи суми с SUM() OVER().
  • Намиране на пълзящи средни.

Пример:

SELECT name, salary, RANK() OVER (ORDER BY salary DESC) rank FROM employees;

Това генерира класирани данни за заплатите, без да се агрегира цялата таблица.


37) Как да Oracle клъстерите се различават от разделянето?

И двете подобряват производителността, но служат за различни цели.

Аспект Clusters подялба
Цел Съхранявайте свързани таблици заедно Разделяне на големи таблици/индекси
Обхват Множество таблици Единична таблица или индекс
Производителност Оптимизира съединенията Оптимизира заявките върху подмножества
поддръжка Less гъвкав По-лесно управление на данни

Пример: Разделянето на таблица за продажби по години оптимизира извличането на конкретни периоди, докато клъстерирането на служители с отдели ускорява обединенията.


38) Обяснете ролята на Oracle отмяна на таблични пространства.

Табличните пространства за отмяна съхраняват данни от типа „before-image“, поддържайки отмяна на транзакциите, консистентност на четене и възстановяване.

Характеристики:

  • Всяка транзакция използва сегменти за отмяна.
  • Активирайте последователни изгледи за едновременни заявки.
  • Позволете връщане назад на незавършени транзакции.

Пример: Ако потребителят актуализира заплатите на служителите, но се отмени преди да извърши промяна, Oracle използва данни за отмяна, за да възстанови оригиналните стойности.


39) Какви са разликите между горещо архивиране и студено архивиране в Oracle?

Резервните копия предпазват от загуба на данни.

фактор Горещо архивиране Студено архивиране
Състояние на базата данни На линия Спрян
Наличност Непрекъснат Необходимо време за престой
Сложност По-висок Опростено
Случай за употреба 24×7 системи Less критични системи

Пример: Сайт за електронна търговия използва горещи резервни копия, за да поддържа работоспособност, докато малко вътрешно приложение може да използва студени резервни копия по време на нощни прекъсвания.


40) Как става Oracle управлявате привилегиите и ролите за сигурност?

Oracle употреби системни привилегии, привилегии за обекти, и роли.

  • Системни привилегии предоставяне на права, като например създаване на потребители или таблични пространства.
  • Привилегии на обекти позволява операции върху обекти на схемата (SELECT, INSERT).
  • роли комбинирайте множество привилегии за опростено управление.

Пример:

GRANT SELECT ON employees TO analyst_role;
GRANT analyst_role TO user1;

Тук привилегиите се управляват централизирано чрез роли, което осигурява последователност и леснота на отмяна.


41) Каква е разликата между функция и процедура в PL/SQL?

Функциите и процедурите са подпрограми в PL/SQL, но служат за различни цели.

Аспект функция Процедура
Върната стойност Трябва да върне точно една стойност Може да върне „няма“, „едно“ или „много“ (чрез OUT параметри)
употреба Често в SQL изрази Извиква се от PL/SQL блокове
Зависимост Може да се извика от SELECT Процедурите не могат да се използват в SELECT

Пример: Функция може да изчисли данък и да върне числов резултат, докато процедурата актуализира данните за заплати.


42) Как са Oracle Синоними, полезни при разработването на бази данни?

Синонимите предоставят алтернативни имена за обекти от базата данни, подобрявайки абстракцията и лекотата на използване. Те могат да бъдат частен (специфично за потребителя) или обществен (достъпно за всички потребители).

Ползи:

  • Опростете препратките към обекти в различните схеми.
  • Скриване на имената на основните схеми от приложенията.
  • Осигурете обратна съвместимост, ако имената на обектите се променят.

Пример: Вместо да се прави препратка HR.EMPLOYEES, публичен синоним EMP позволява на разработчиците просто да правят заявки SELECT * FROM EMP;.


43) Кога трябва да използвате REF курсори в Oracle?

REF курсорите са указатели към резултатни набори, които могат да се предават динамично между програмите. Те са особено ценни при връщане на променливи резултати от заявки към приложения.

Предимства:

  • Активиране на динамично изпълнение на SQL.
  • Позволете разделяне на логиката на заявките и извличането.
  • Полезно в клиент-сървър приложения.

Пример: Инструмент за отчитане може да получи REF курсор от PL/SQL, което прави логиката на заявката гъвкава без повторна компилация.


44) Каква е разликата между CHAR и NCHAR в Oracle?

И двата съхраняват данни с фиксирана дължина на символите, но NCHAR поддържа Unicode, което осигурява многоезична съвместимост.

Аспект CHAR NCHAR
Encoding Набор от символи за база данни Unicode
Случай за употреба Съхранение с фиксирана ширина Многоезични приложения
Съхранение 1 байт на символ 2 байта на символ

Пример: За съхраняване на международни имена на клиенти, NCHAR гарантира правилно представяне на ударения или нелатински символи.


45) Обяснете жизнения цикъл и ползите от Oracle пакети.

Жизненият цикъл на един пакет включва създаване, компилация, използване и управление на зависимостите.

Ползи:

  • Подобрена производителност като Oracle зарежда пакета в паметта веднъж.
  • Капсулиране на свързани подпрограми.
  • Контролиран достъп чрез излагане само на необходимите процедури/функции в спецификацията.
  • По-лесна поддръжка и отстраняване на грешки.

Пример: Пакет с име HR_PAYROLL може да съдържа всички функции за изчисляване на заплати, данъци и бонуси на едно място, опростявайки модулната разработка.


46) Как става Oracle Помага ли технологията Flashback за възстановяване?

Функциите за Flashback позволяват бързо коригиране на потребителски грешки без традиционно възстановяване. Опциите включват Flashback Query, Flashback Table, Flashback Drop и Flashback Database.

Пример:

SELECT * FROM employees AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '10' MINUTE);

Това извлича данните такива, каквито са съществували десет минути по-рано, което ги прави безценни при случайни изтривания или актуализации.


47) Какви са предимствата и недостатъците на използването Oracle съхранени процедури?

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

Предимства:

  • Централизирана бизнес логика.
  • Намален мрежов трафик чрез изпълнение на сървъра.
  • По-добра сигурност чрез контролиран достъп.

Недостатъци:

  • Повишена сложност при прекомерна употреба.
  • По-трудно дебъгване в сравнение с логиката на ниво приложение.

Пример: Процедурата за изчисляване на бонусите по заплати осигурява последователни правила в различните приложения.


48) Как става Oracle управлявате паралелното изпълнение на заявки?

Паралелното изпълнение позволява Oracle да разделите заявка на по-малки единици, обработвани от множество процесори. Това е полезно за големи набори от данни, заявки към хранилища и групови операции.

Фактори, влияещи върху производителността:

  • Степен на паралелизъм.
  • Налични системни ресурси.
  • Разделени таблици за ефективно разпределение.

Пример: Паралелна заявка към разделена таблица за продажби значително намалява времето за агрегиране в милиони записи.


49) Какви са Oracle външни маси и техните предимства?

Външните таблици позволяват заявки към данни, съхранявани извън базата данни (например, плоски файлове), използвайки SQL.

Ползи:

  • Опростява ETL операциите.
  • Елиминира необходимостта от персонализиран парсинг.
  • Поддържа паралелни заявки за по-бързо зареждане на данни.

Пример: Анализаторите могат да правят заявки директно към CSV файл, без да го зареждат в Oracle, използвайки външни дефиниции на таблици.


50) Как става Oracle внедряване на маскиране на данни за чувствителна информация?

Oracle Маскирането на данни замества чувствителните стойности с фиктивни, но реалистични заместители, като по този начин се гарантира съответствие, като същевременно се защитават данните.

Предимства:

  • Поддържа реализма на тестовата среда.
  • Предотвратява изтичане на данни по време на разработка.

Пример: Маскирането на номерата на кредитните карти на клиентите гарантира, че разработчиците могат да тестват приложения, без да разкриват истинска информация.


🔍 Най-горе Oracle Въпроси за интервю с реални сценарии и стратегически отговори

По-долу са 10 добре закръглени Oracle въпроси за интервю, съчетани със стратегически отговори. Тези въпроси обхващат гледни точки, основани на знания, поведение и ситуация, които отразяват това, с което кандидатите реалистично се сблъскват в професионалната си среда. Oracle-свързани интервюта.


1) Можете ли да обясните разликата между Oracle РАК и Oracle Data Guard?

Очаквано от кандидата: Интервюиращият иска да оцени вашите знания за Oracleрешения за висока достъпност и възстановяване след бедствия.

Примерен отговор:
"Oracle RAC (Реално приложение Clusters) позволява на множество екземпляри да имат достъп до една база данни, подобрявайки мащабируемостта и достъпността. За разлика от това, Oracle Data Guard е решение за възстановяване след бедствия, което поддържа синхронизирани резервни бази данни, осигурявайки защита на данните и възможности за превключване при срив. И двете са критични, но RAC се фокусира върху производителността и времето за работа, докато Data Guard осигурява непрекъснатост на бизнеса в случай на повреда на основния сайт.


2) Как сте в течение с OracleНай-новите функции и подобрения на базата данни?

Очаквано от кандидата: Интервюиращият иска да прецени вашия ангажимент за непрекъснато обучение.

Примерен отговор:
„Поддържам актуална информация, като се абонирам за Oracle бюлетини на Технологичната мрежа (OTN), посещаване Oracle Конференции на OpenWorld и последващи Oracle блогове. Също така практикувам практическо обучение в среда с пясъчна кутия, когато стане достъпна нова версия. Тази комбинация гарантира, че съм актуален и готов да прилагам новите функции ефективно.“


3) Можете ли да опишете едно предизвикателство Oracle надстройката или миграцията, по която сте работили, и как сте осигурили успех?

Очаквано от кандидата: Интервюиращият проверява техническата експертиза, способността за планиране и адаптивността.

Примерен отговор:
„В последната си роля успях да…“ Oracle Надстройка от 11g към 19c за критично важна финансова система. Осигурих успех, като създадох подробен план за миграция, проведох обширни тестове в тестова среда и изпълних тренировки за връщане към предишни версии. Ясната комуникация със заинтересованите страни минимизира времето за престой и ни позволи да завършим надстройката без загуба на данни.


4) Как се справяте с настройката на производителността Oracle бази данни, когато се сблъскате с бавно изпълняващи се заявки?

Очаквано от кандидата: Интервюиращият иска информация за уменията за решаване на проблеми и диагностика.

Примерен отговор:
„Първата ми стъпка е да анализирам плана за изпълнение, използвайки EXPLAIN PLAN, и да идентифицирам пречките. След това оценявам индексите, статистиката и структурата на заявките. На предишна позиция използвах...“ Oracle Автоматично хранилище за работно натоварване (AWR) отчети за локализиране на неефективни заявки и внедрено разделяне за подобряване на производителността. Резултатът беше 60% намаление на времето за изпълнение на заявките.


5) Разкажете ми за случай, в който ви се е наложило да работите под напрежение, за да разрешите критичен проблем Oracle проблем с базата данни.

Очаквано от кандидата: Интервюиращият търси самообладание, сътрудничество и отстраняване на проблеми под стрес.

Примерен отговор:
„На предишната ми работа, производствената база данни се срива по време на пиковите часове на транзакциите. Ръководех възстановяването, като извърших възстановяване в определен момент с помощта на RMAN, като същевременно координирах с екипа на приложението, за да сведа до минимум въздействието върху бизнеса. Базата данни беше възстановена за по-малко от два часа и по-късно внедрих подобрени процеси за мониторинг и валидиране на резервни копия, за да предотвратя повторение.“


6) Как бихте разработили стратегия за архивиране и възстановяване за Oracle база данни, поддържаща 24/7 платформа за електронна търговия?

Очаквано от кандидата: Интервюиращият иска да тества вземането на решения в реалния свят.

Примерен отговор:
„За платформа за електронна търговия, работеща 24/7, бих внедрил RMAN за онлайн архивиране, за да избегна прекъсвания, бих конфигурирал Data Guard за възстановяване след бедствия и бих планирал инкрементални архивирания през часовете с нисък трафик. Също така бих тествал редовно сценариите за възстановяване, за да валидирам стратегията. Непрекъснатостта на бизнеса и минималната загуба на данни биха били моите основни приоритети.“


7) Какво ви мотивира да работите с Oracle технологии?

Очаквано от кандидата: Интервюиращият се опитва да разбере страстта и съответствието с ролята.

Примерен отговор:
„Какво ме вълнува в Oracle технологиите е тяхната мащабируемост и способност да захранват критично важни системи. Oracle Базите данни се използват в индустрии, където прецизността и надеждността са от съществено значение, което ме мотивира да предоставям най-високо ниво на администриране и производителност на бази данни. Също така се радвам на постоянното развитие на Oracle продукти, което ме тласка към професионално развитие.“


8) Как бихте процедирали в ситуация, в която бизнес звено изисква промени в базата данни, които противоречат на политиките за съответствие?

Очаквано от кандидата: Интервюиращият иска да тества етичната преценка и управлението на заинтересованите страни.

Примерен отговор:
„Първо бих съобщил ясно рисковете за съответствие на бизнес звеното, като бих подчертал потенциалните последици от нарушаването на разпоредбите. Ако те настояват, бих ескалирал въпроса до екипите по съответствие и ИТ управление, за да гарантирам, че се спазват правилните канали за одобрение. Защитата на организацията от нарушения на съответствието е по-важна от краткосрочното удобство.“


9) Опишете случай, в който ви се е наложило да си сътрудничите с разработчици, за да оптимизирате Oracle производителност на базата данни.

Очаквано от кандидата: Интервюиращият иска да види умения за сътрудничество и техническа комуникация.

Примерен отговор:
„В предишната си роля работих в тясно сътрудничество с екип от разработчици, който се сблъскваше с проблеми с производителността на пакетни задачи. Прегледах техните SQL заявки, предложих стратегии за индексиране и ги обучих как...“ Oracle съвети за оптимизатор. Заедно преструктурирахме кода и намалихме времето за пакетно изпълнение от осем часа на по-малко от два. Този опит затвърди стойността на междуфункционалното сътрудничество.“


10) Как гарантирате сигурността в Oracle бази данни срещу съвременни киберзаплахи?

Очаквано от кандидата: Интервюиращият иска да провери знанията си за най-добрите практики за сигурност на базите данни.

Примерен отговор:
„Следя Oracle Най-добри практики за сигурност, като например своевременно прилагане на критични актуализации (CPU), прилагане на принципа за най-малки привилегии, активиране на одит на базата данни и криптиране както на данните в покой, така и по време на пренос. На предишна позиция внедрих Oracle Прозрачно криптиране на данни (TDE) за чувствителни финансови записи, което ни помогна да отговорим на изискванията за съответствие, без да се отрази на производителността.