Топ-50 запитань і відповідей на інтерв’ю DB2 (2025)
Ось питання та відповіді на співбесіду DB2 для новачків, а також для досвідчених кандидатів, щоб отримати роботу своєї мрії.
1) Дайте визначення DB2.
DB2 — це система керування базами даних для операційної системи MVS, де DB2 є підсистемою операційної системи MVS.
2) Яка мета використання COMMIT?
Зміни даних можна зробити постійними за допомогою COMMIT. Це також дозволяє іншим програмам отримати доступ до даних, які можуть посилатися на передані дані
Безкоштовне завантаження PDF: Запитання та відповіді на інтерв’ю DB2
3) Перелічіть доступні типи даних.
Тут доступні такі типи даних:
1. SMALLINT 2. INTEGER 3. FLOAT 4. DECIMAL 5. CHAR 6. VARCHAR 7. DATE 8. TIME
4) Для чого використовується DB2 Optimizer?
- Він обробляє SQL заяви.
- Це допомагає вибрати шлях доступу
5) Визначте SQLCA.
SQL Communication Area – це структура змінних, які оновлюються після кожного виконання операторів SQL. Для програми, яка містить виконувані оператори SQL, потрібен лише один SQLCA. Для FORTRAN потрібно надати більше одного SQLCA. Для Java SQLCA не застосовується.
6) Визначте обмеження CHECK.
Це вказується як умова або критерій для забезпечення цілісності даних. Значення, яке потрібно вставити або оновити в таблицю, перевіряється обмеженням CHECK. Обмеження CHECK створюються під час створення таблиці.
7) Яка максимальна довжина SQLCA?
136 — це максимальна довжина SQLCA.
8) Обговорити прив’язку DB2?
Процес, який створює шляхи доступу до таблиці DB2, відомий як прив'язка (bind). Прив'язка використовує модулі запитів до бази даних (Database Request Modules) з кроку попередньої компіляції DB2 як вхідні дані та створює план застосування. Вона перевіряє автентифікацію користувачів та перевіряє SQL-запитувачі в DBRM (DBRM).
9) Перелічіть три типи блокувань сторінок, які можна утримувати.
- Ексклюзивний курс
- Оновити
- Share.
10) Визначте буферний пул.
Буферний пул — це зарезервоване основне сховище, яке має задовольнити вимоги до буферизації для одного або кількох табличних просторів або індексів. Він може складатися з сторінок 4K або 32K.
11) Поясніть функцію менеджера даних.
Фізичною базою даних керує компонент DB2 під назвою Data manager. Він викликає інші компоненти системи для виконання журналу, блокування тощо.
12) Що таке група зберігання (STOGROUP)?
STOGROUP — це іменована колекція томів DASD, яка має використовуватися просторами індексів і табличними просторами бази даних.
13) Визначте присудок?
Предикат є елементом умови пошуку. Він виражає або передбачає умову пошуку.
14) Визначте генератор декларацій (DCLGEN).
Генератор декларацій — це засіб, який використовується для формування інструкцій SQL, які описують таблицю або подання. Під час попередньої компіляції описи таблиці або перегляду використовуються для перевірки дійсності операторів SQL.
15) Виведіть список пулів буферів у DB2
У DB2 існує чотири пули буферів:
- BP0
- BP1
- BP2
- BP32
16) Визначте індекс кластеризації.
Індекс кластеризації — це тип індексу, який знаходить рядки таблиці та визначає, як згрупувати рядки в табличному просторі.
17) Що таке паралельність?
Більш ніж один прикладний процес DB2 може одночасно отримувати доступ до тих самих даних, що називається паралелізмом. Однак можуть виникнути такі проблеми, як втрата доступу до оновлень до неповторних зчитувань і незафіксованих даних.
18) Поясніть функцію, яку виконує менеджер даних?
Менеджер даних можна розглядати як компонент, який здатний керувати базами даних, які фізично присутні, і здатний викликати інші компоненти, пов’язані з системою, для виконання функцій, таких як журналювання, блокування та виконання інших операцій введення/виведення.
19) Поясніть про DBRM.
DBRM означає Database Request Module і є компонентом усередині DB2, який створюється попереднім компілятором DB2. Це модуль, який складається з вихідних операторів SQL, які витягуються з прикладної програми. DBRM формують вхідні дані, які є корисними в процесі зв’язування.
20) Визначити сторінку даних.
Сторінку даних можна розглядати як одиницю, яка здатна отримувати дані з бази даних. База даних, з якої можна отримати дані, має розмір 4 або 32 кілобайти. Форма, в якій дані витягуються, залежить від способу визначення таблиці в базі даних. Сторінка даних також містить інформацію про каталог або користувача, які є частиною бази даних.
21) Поясніть про РКД.
RCT розширено як Таблиця ресурсів – Контрольна Таблиця та визначено в регіоні DB2/CICS. Це компонент, що складається з функцій, зібраних за допомогою макросів DSNCRCT. RCT збігається з ідентифікатором транзакції, який CICS, з ідентифікатором авторизації DB2. Це також має відповідати ідентифікатору плану.
22) Як табличний простір можна перемістити до іншого тому DASD, який виділено для цього табличного простору?
Табличний простір, який ви використовуєте, виділено лише для STOGROUP, тоді ви можете ввести команду ALTER STOGROUP для додавання та видалення тому. REORG TABLESPACE і RECOVER TABLESPACE — це оператори, які допомагають створити нову STOGROUP, яка може вказувати на новий том. ALTER табличний простір і REORG і RECOVER є операторами, які використовуються для зміни та відновлення табличного простору, виділеного в пам’яті.
23) Яка інформація пов’язана з таблицею SYSIBM.SYSLINKS?
Це таблиця, яка містить інформацію про зв’язки, які існують між таблицями, створеними за допомогою посилальних обмежень.
24) Детально поясніть диспетчер буферів і його функції?
Менеджер буферів можна розглядати як компонент всередині DB2, який допомагає передавати дані між віртуальним і зовнішнім середовищем. Менеджер буферів зменшує кількість фізичних вхідних і вихідних операцій, які фактично виконуються, використовуючи дуже складні методи буферизації.
25) Поясніть про стабільність курсору?
Стабільність курсору — це властивість, яка повідомляє DB2, що значення бази даних, які зчитуються за допомогою цієї програми, захищені під час використання даних.
26) Згадайте достовірну причину, чому SELECT* ніколи не надається перевага у програмі SQL, яка була вбудована.
Існує три головні причини, чому SELECT* ніколи не надається перевага у вбудованій програмі SQL. Це: –
- У разі зміни структури таблиці програма має пройти процес модифікації.
- Усі стовпці будуть отримані програмою, включаючи ті стовпці, які можуть не використовуватися.
- У випадку, якщо користувач бажає сканувати індекс, це буде неможливо.
27) Поясніть корельовані підзапити.
Корельовані підзапити – це ті запити, у яких внутрішній запит нестеру посилається безпосередньо на зовнішню таблицю запиту. Для кожного кваліфікованого рядка оцінка корельованого підзапиту є обов’язковою.
28) Прокоментуйте, чи закривається курсор під час COMMIT чи ні.
так Курсор закривається під час COMMIT.
29) Яка процедура отримання рядків, які є частиною таблиці DB2, у вбудованій таблиці SQL?
Або ви можете використовувати оператори SELECT для окремих рядків, або альтернативним способом є використання CURSOR.
30) Згадайте спосіб виділення, а також використання КУРСОРУ в програмі COBOL.
Найкращий спосіб розмістити КУРСОР для використання в програмі COBOL — це використати DECLARE CURSOR, який можна використовувати або в операції поділу процедур, або в робочому сховищі. Це робиться в основному для виділення оператора SELECT. Після використання DECLARE CURSOR слідують OPEN, FETCH і, нарешті, CLOSE.
31) Якщо КУРСОР залишається відкритим після видачі COMMIT, яка процедура, щоб залишити КУРСОР таким чином?
Усередині DECLARE CURSOR є опція WITH HOLD, яка стане в нагоді в цьому випадку. Хоча слід зауважити, що функція WITH HOLD не має жодного ефекту, якщо розглядати її для псевдозвичайних програм CICS.
32) Поясніть ПАКЕТИ.
ПАКЕТИ — це одиниці, які складаються з виконуваних кодів, які призначені для операторів SQL для однієї відповідної DBRM.
33) Виділіть усі переваги, які додаються до ПАКЕТУ.
Нижче наведено переваги ПАКЕТУ.
- Уникайте витрат на велику колекцію зв’язків. Набагато доцільніше вибрати невелику колекцію, а не велику.
- Переконайтеся, що вам не потрібно об’єднувати велику колекцію учасників DBRM для певного плану.
- Якщо ви бажаєте внести зміни в програму, і ці зміни призводять до помилок, ви можете зменшити запасні складності за допомогою PACKAGE.
- Під час процесу автоматичного прив’язування та повторного прив’язування певного плану переконайтеся, що загальна транзакція, долучена до процесу, недоступна протягом курсу.
34) Наведіть визначення COBOL у полі VARCHAR.
ПРИМІТКИ стовпця VARCHAR такі: –
10 REMARKS 49 REMARKS – LEN PIC S9 (4) USAGE COMP. 49 REMARKS – TEXT PIC X (1920).
35) Вкажіть тривалість фізичного зберігання даних типів даних DB2 –
ДАТА, ПОМІТКА ЧАСУ, ЧАС
DATE: PIC X (10) TIMESTAMP: PIC X (26) TIME: PIC X (08)
36) Для стовпця DB2, який визначається як DECIMAL (11, 2), обговоріть пропозицію зображення COBOL.
PIC S9 (9) V99 КОМП – 3
У виразі DECIMAL (11, 2) 2 є точністю, тоді як 11 – розміром типу даних.
37) Поясніть DCLGEN.
DCLGEN в основному відноситься до DeCLarations GENerator, основною метою якого є створення книг копій основної мови для таблиць. Він також використовується для створення таблиці DECLARE.
38) Згадайте деякі поля, які є частиною SQLCA.
SQLERRM, SQLCODE, SQLERRD.
39) Поясніть вміст, який є частиною DCLGEN.
DCLGEN складається з двох компонентів. Це: –
- Копія основної мови, яка надасть альтернативні визначення для всіх імен стовпців.
- З точки зору типів даних DB2, EXEC SQL DECLARE TABLE демонструє естетичний макет таблиці.
40) Прокоментуйте, чи обов’язково використовується DCLGEN. Якщо ні, то який сенс його використовувати?
Використання DCLGEN не є обов’язковим. Основне використання DCLGEN відбувається на етапі попередньої компіляції, де він допомагає виявити неправильно написані назви стовпців. Оскільки DCLGEN — це просто інструмент, він генеруватиме лише визначення змінних для хоста та зменшує ймовірність помилок.
41) Якщо в певний момент часу DB2 не працює, чи вплине це на процес попередньої компіляції програми DB2-COBOL?
Навіть якщо DB2 не працює в якийсь момент часу, це не вплине на процес попередньої компіляції програми DB2-COBOL. Причина цього полягає в тому, що попередній компілятор ніколи не звертається до таблиць каталогу DB2.
42) Який найшвидший спосіб обчислити загальну кількість оновлених рядків після оператора оновлення DB2?
Все, що вам потрібно зробити, це перевірити значення, яке було збережено в SQLERRD (3).
43) Що означає ПОЯСНИТИ?
EXPLAIN в основному використовується, щоб показати шлях доступу оптимізатора в основному для оператора SQL. Крім того, EXPLAIN також можна використати в SPUFI або навіть у кроці BIND.
44) Перед тим, як дати оператор EXPLAIN, які прерогативи?
Перш ніж надати оператор EXPLAIN, ми повинні переконатися, що PLAN_TABLE вже створено під AUTHID.
45) Вкажіть місце, де зберігається результат, отриманий від оператора EXPLAIN.
Вихідні дані EXPLAIN зберігаються в userid.PLAN_TABLE
46) Результати EXPLAIN мають значення MATCHCOLS = 0. Що це означає?
Це означає невідповідне сканування індексу за умови, що ACCESSTYPE = I
47) Згадайте різні блокування, доступні в DB2.
ЕКСКЛЮЗИВ, ДІЛІТЬСЯ та ОНОВЛЮЙТЕ
48) Що таке RELEASE/ACQUIRE у BIND?
Існує певний момент у програмі, коли DB2 отримує або, можливо, знімає блокування таблиць, а також табличних просторів. До них відносяться блокування намірів.
49) Згадайте різні рівні блокування, доступні в DB2.
TABLE, PAGE і TABLESPACE
50) Згадайте недоліки блокування на рівні PAGE.
У випадку, якщо потрібно виконати великі оновлення, використання ресурсів відповідно буде високим.
Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)
Якби я міг згадати всі ці запитання під час співбесіди…