As 50 principais perguntas e respostas da entrevista do DB2 (2025)
Aqui estão as perguntas e respostas da entrevista do DB2 para calouros e também para candidatos experientes para conseguir o emprego dos sonhos.
1) Defina DB2.
DB2 é um sistema de gerenciamento de banco de dados para o sistema operacional MVS, onde DB2 é um subsistema do sistema operacional MVS.
2) Qual é o propósito de usar COMMIT?
As alterações de dados podem se tornar permanentes usando COMMIT. Também permite que os dados sejam acessados por outros aplicativos que podem fazer referência aos dados comprometidos
Download gratuito de PDF: Perguntas e respostas da entrevista do DB2
3) Liste os tipos de dados disponíveis.
Os tipos de dados disponíveis aqui são:
1. SMALLINT 2. INTEGER 3. FLOAT 4. DECIMAL 5. CHAR 6. VARCHAR 7. DATE 8. TIME
4) Quais são os usos do DB2 Optimizer?
- Processa SQL afirmações.
- Ajuda a selecionar o caminho de acesso
5) Defina SQLCA.
A Área de Comunicação SQL é uma estrutura de variáveis, que são atualizadas após cada execução de instruções SQL. Para um aplicativo que contém instruções SQL executáveis, apenas um SQLCA é necessário. FORTRAN precisa que mais de um SQLCA seja fornecido. Para Java, SQLCA não é aplicável.
6) Defina a restrição CHECK.
É especificado como uma condição ou critério para garantir a integridade dos dados. Um valor a ser inserido ou atualizado em uma tabela é testado pela restrição CHECK. As restrições CHECK são criadas durante a criação da tabela.
7) Qual é o comprimento máximo do SQLCA?
136 é o comprimento máximo do SQLCA.
8) Discutir sobre o DB2 bind?
O processo que cria caminhos de acesso à tabela do DB2 é conhecido como bind. O bind usa os Módulos de Solicitação de Banco de Dados da etapa de pré-compilação do DB2 como entrada e produz um plano de aplicação. Ele verifica a autenticação do usuário e valida instruções SQL no(s) DBRM(s).
9) Liste os três tipos de bloqueios de página que podem ser mantidos.
- Exclusivo
- Atualizar
- Compartilhar.
10) Defina o buffer pool.
O buffer pool é um armazenamento principal reservado, que atende aos requisitos de buffer para um ou mais espaços de tabela ou índices. Pode ser composto por páginas de 4K ou 32K.
11) Explique a função do Gerenciador de Dados.
O banco de dados físico é gerenciado pelo componente DB2 denominado Gerenciador de dados. Ele invoca outros componentes do sistema para realizar registro, bloqueio, etc.
12) O que é um grupo de armazenamento (STOGROUP)?
STOGROUP é uma coleção nomeada de volumes DASD, que deve ser usada por espaços de índice e espaços de tabela do banco de dados.
13) Definir predicado?
Predicado é um elemento de uma condição de pesquisa. Expressa ou implica uma condição de pesquisa.
14) Definir Gerador de Declaração (DCLGEN).
O Gerador de Declaração é um recurso usado para formar instruções SQL que descrevem uma tabela ou visualização. No momento da pré-compilação, as descrições da tabela ou visualização são usadas para verificar a validade das instruções SQL.
15) Liste os buffer pools no DB2
Existem quatro buffer pools no DB2 e são eles:
- BP0
- BP1
- BP2
- BP32
16) Defina o índice de cluster.
Índice de cluster é um tipo de índice que localiza as linhas da tabela e determina como agrupar as linhas no espaço de tabela.
17) O que é simultaneidade?
Mais de um processo de aplicativo do DB2 pode acessar os mesmos dados ao mesmo tempo, o que é conhecido como simultaneidade. No entanto, podem ocorrer problemas como perda de acesso de atualizações a leituras irrepetíveis e dados não confirmados.
18) Explique a função desempenhada pelo gerenciador de dados?
O gerenciador de dados pode ser considerado como um componente capaz de gerenciar os bancos de dados que estão fisicamente presentes e é capaz de invocar outros componentes associados ao sistema para realizar funcionalidades como log, bloqueio e realizar outras operações de I/O.
19) Explique sobre DBRM.
DBRM significa Database Request Module e é um componente dentro do DB2, que é criado pelo pré-compilador do DB2. Este é um módulo que consiste em instruções de origem SQL que são extraídas do programa aplicativo. DBRMs formam entradas que são úteis no processo de vinculação.
20) Definir página de dados.
A página de dados pode ser considerada uma unidade capaz de recuperar dados do banco de dados. O banco de dados do qual os dados podem ser recuperados tem a forma de 4 kilobytes ou 32 kilobytes. A forma como os dados são recuperados depende da forma como a tabela é definida dentro do banco de dados. A página de dados também contém informações sobre o catálogo ou usuário que faz parte do banco de dados.
21) Explique sobre o RCT.
O RCT é expandido como Tabela de Controle de Recursos e é definido na região DB2/CICS. Este é o componente que compreende os recursos coletados por meio de macros do DSNCRCT. O RCT corresponde ao ID da transação de CICS, com o ID de autorização do DB2. Isso também deve corresponder ao ID do plano.
22) Como o tablespace pode ser movido para outro volume DASD alocado para esse tablespace?
O espaço de tabela que você está usando é alocado apenas para STOGROUP, então você pode inserir o comando ALTER STOGROUP para adicionar e excluir volumes. REORG TABLESPACE e RECOVER TABLESPACE são instruções úteis na criação de um novo STOGROUP que pode apontar para o novo volume. ALTER tablespace e REORG e RECOVER são instruções usadas para alterar e recuperar o tablespace alocado na memória.
23) Quais são as informações associadas à tabela SYSIBM.SYSLINKS?
Esta é a tabela que contém informações sobre os links existentes entre as tabelas criadas através de restrições referenciais.
24) Explique detalhadamente sobre o gerenciador de buffer e suas funcionalidades?
O gerenciador de buffer pode ser considerado como o componente dentro do DB2 que auxilia na transferência de dados entre meios virtuais e externos. O gerenciador de buffer reduz a quantidade de operações físicas de entrada e saída que são realmente executadas, fazendo uso de técnicas de buffer altamente sofisticadas.
25) Explique sobre estabilidade do cursor?
A estabilidade do cursor é a propriedade que informa ao DB2 que os valores do banco de dados que são lidos com o uso desta aplicação ficam protegidos enquanto os dados são utilizados.
26) Mencione uma razão confiável pela qual SELECT* nunca recebe preferência em um programa SQL que foi incorporado.
Existem basicamente três razões pelas quais SELECT* nunca recebe preferência em um programa SQL incorporado. Estes são: -
- Caso haja alteração na estrutura da tabela, o programa deverá passar por um processo de modificação.
- Todas as colunas serão recuperadas pelo programa, incluindo aquelas colunas que podem não ser usadas.
- Caso o usuário deseje escanear o índice, isso não será possível.
27) Explique subconsultas correlacionadas.
Subconsultas correlacionadas são aquelas consultas em que a consulta nester no lado interno se refere diretamente à tabela da consulta externa. Para cada linha qualificada, a avaliação da subconsulta correlacionada é obrigatória.
28) Comente se o cursor está fechado durante o COMMIT ou não.
Sim. O cursor é fechado durante COMMIT.
29) Em uma tabela SQL incorporada, qual é o procedimento para recuperar linhas que fazem parte de uma tabela DB2?
Você pode usar instruções SELECT de linhas únicas ou uma forma alternativa é usar CURSOR.
30) Mencione a forma de destacar e também de colocar um CURSOR para usar em um programa COBOL.
A melhor maneira de colocar um CURSOR em um programa COBOL é usar o DECLARE CURSOR, que pode ser usado tanto na operação de divisão de procedimentos quanto no armazenamento de trabalho. Isso está sendo feito basicamente para destacar a instrução SELECT. Uma vez utilizado DECLARE CURSOR, este é seguido por OPEN, FETCH e finalmente CLOSE.
31) Se o CURSOR for mantido aberto após a emissão do COMMIT, qual o procedimento para deixar o CURSOR assim?
Dentro do DECLARE CURSOR, existe uma opção WITH HOLD, que será útil neste caso. Embora, deva-se observar que a função WITH HOLD não tem absolutamente nenhum efeito se considerada para programas pseudoconvencionais CICS.
32) Explique os PACOTES.
PACOTES são unidades que consistem em códigos executáveis destinados a instruções SQL para um respectivo DBRM.
33) Destaque todas as vantagens que acompanham um PACOTE.
A seguir estão as vantagens associadas a um PACOTE.
- Evite o custo de uma grande coleção de encadernações. É muito mais aconselhável optar por uma coleção pequena em vez de uma grande.
- Certifique-se de não precisar reunir um grande grupo de membros do DBRM para um plano específico.
- Caso você queira fazer alterações no programa e essas alterações eventualmente levem a erros, você pode diminuir as complexidades de fallback com a ajuda de PACKAGE.
- Durante o processo de vinculação e revinculação automática de um determinado plano, certifique-se de que a transação total vinculada ao processo esteja indisponível durante o curso.
34) Mencione a definição de COBOL no campo VARCHAR.
Os REMARKS da coluna VARCHAR são os seguintes: –
10 REMARKS 49 REMARKS – LEN PIC S9 (4) USAGE COMP. 49 REMARKS – TEXT PIC X (1920).
35) Mencione a duração do armazenamento físico dos tipos de dados fornecidos do DB2 –
DATA, TIMESTAMP, HORA
DATE: PIC X (10) TIMESTAMP: PIC X (26) TIME: PIC X (08)
36) Para uma coluna DB2 que está sendo definida como DECIMAL (11, 2), discuta a cláusula de imagem COBOL.
PIC S9 (9) V99 COMP – 3
Na expressão DECIMAL (11, 2), 2 é a precisão, enquanto 11 é o tamanho do tipo de dado.
37) Explique o DCLGEN.
DCLGEN basicamente se refere ao DeCLarations GENerator cujo objetivo principal é gerar copybooks da linguagem hospedeira para as tabelas. Também é usado para criar a tabela DECLARE.
38) Mencione alguns campos que fazem parte do SQLCA.
SQLERRM, SQLCODE, SQLERRD.
39) Explique os conteúdos que fazem parte do DCLGEN.
Existem principalmente dois componentes do DCLGEN. Estes são: -
- Um copybook do idioma hospedeiro, que fornecerá definições alternativas para todos os nomes de colunas.
- Em termos dos tipos de dados do DB2, EXEC SQL DECLARE TABLE mostra um layout estético da tabela.
40) Comente se DCLGEN é obrigatoriamente utilizado. Se não, então qual é o sentido de usá-lo?
Não é exatamente obrigatório colocar o DCLGEN em uso. O uso principal do DCLGEN ocorre durante a fase de pré-compilação, onde ajuda na detecção de nomes de colunas com erros ortográficos. Como o DCLGEN é apenas uma ferramenta, ele apenas gerará definições de variáveis para o host e reduzirá as chances de erros.
41) Caso em algum momento o DB2 fique inativo, isso afetaria o processo de pré-compilação de um programa DB2-COBOL?
Mesmo que o DB2 fique inativo em algum momento, mesmo assim isso não afetará o processo de pré-compilação do programa DB2-COBOL. A razão para isso é que o pré-compilador nunca se refere às tabelas de catálogo do DB2.
42) Seguindo uma instrução de atualização do DB2, qual é a maneira mais rápida de calcular o número total de linhas atualizadas?
Basta verificar o valor que foi armazenado no SQLERRD (3).
43) O que significa EXPLICAR?
EXPLAIN é basicamente usado para mostrar o caminho de acesso do otimizador basicamente para uma instrução SQL. Além disso, EXPLAIN também pode ser usado no SPUFI ou mesmo na etapa BIND.
44) Antes de dar a declaração EXPLAIN, quais são as prerrogativas?
Antes de fornecer a instrução EXPLAIN, precisamos ter certeza de que PLAN_TABLE já foi criado em AUTHID.
45) Mencione o local onde a saída recebida da instrução EXPLAIN está armazenada.
A saída de EXPLAIN é armazenada em userid.PLAN_TABLE
46) As saídas de EXPLAIN são com MATCHCOLS = 0. O que isso significa?
Isso significa uma varredura de índice sem correspondência, desde que ACCESSTYPE = I
47) Mencione os vários bloqueios disponíveis no DB2.
EXCLUSIVO, COMPARTILHE e ATUALIZE
48) O que é RELEASE/ACQUIRE no BIND?
Há um certo ponto em um programa em que o DB2 adquire ou talvez libera os bloqueios contra tabelas, bem como espaços de tabela. Isso inclui bloqueios de intenção.
49) Mencione os diferentes níveis de bloqueio disponíveis no DB2.
TABELA, PÁGINA e TABLESPACE
50) Mencione as desvantagens do bloqueio de nível de PÁGINA.
Caso haja grandes atualizações a serem feitas, a utilização de recursos será alta.
Essas perguntas da entrevista também ajudarão em sua viva (oral)
Se ao menos eu pudesse me lembrar de todas essas perguntas durante uma entrevista…