Buscar

Gerenciamento de Banco de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

31/08/2022 22:13 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2555557/3965193 1/6
Gerenciamento do desempenho do banco de dados (tuning)
Professor(a): Odécio José Fernandes de Souza Junior (Doutorado)
1)
2)
Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e
corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode
responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova!
O SGDB pode conter muitos processos background ativos, em função da configuração estabelecida. 
Leia e associe as duas colunas que relaciona o processo à sua sigla correspondente:
Assinale a alternativa que traz a associação correta entre as duas colunas
Alternativas:
A – 1; B – 2; C – 3; D – 4; E – 5.
A – 5; B – 4; C – 3; D – 2; E – 1.
A – 4; B – 2; C – 1; D – 3; E – 5.
A – 4; B – 2; C – 1; D – 5; E – 3.  CORRETO
A – 3; B – 2; C – 1; D – 5; E – 4.
Código da questão: 58828
Analise as proposições a seguir, considerando que a questão da “acuidade das projeções” será importante, mas: “A melhoria de
desempenho, por sua natureza, é iterativa. Por esse motivo, remover o primeiro gargalo pode não levar ao desempenho de melhoria imediata,
porque outro gargalo pode ser revelado. Além disso, em alguns casos, se os pontos de serialização mudarem para um mecanismo de
compartilhamento mais ineficiente, o desempenho poderá ser prejudicado. Com experiência e seguindo um método rigoroso de limitação de
gargalo, os aplicativos podem ser depurados e tornados escaláveis”. Assim: 
I. Não um, mas diversos ciclos de tuning serão necessários. 
II. Alguns simples, como ajustar uma cláusula WHERE de um SELECT. 
III. Outros um pouco mais complicados, como criar um índice. 
IV. A acuidade das projeções nunca colaborará com a atividade de tuning, pois essa atividade sempre estará baseada em mera tentativa e
erro. 
V. Em outros momentos, graves e complicados, como destruir tudo, rever a organização e o tamanho dos blocos de dados no nível do sistema
operacional e criar tudo novamente. 
Indique a opção que corresponde às proposições corretas:
Alternativas:
Todas as proposições estão corretas.
Resolução comentada:
são os processos que dão suporte ao funcionamento do SGDB, permitindo o acesso de diversos usuários, implementações de
segurança, recuperação e distribuição de dados, entre outras. São colocados “por trás” da SGA, ou em “segundo plano”, daí o termo
background. 
O SGDB pode conter muitos processos background ativos, em função da configuração estabelecida, os principais estão enumerados
adiante (as siglas que possuem uma letra minúscula “n” denotam processos que costumam ter múltiplas (n) instâncias ativadas): 
• DBWn - Database Writer 
• LGWR - Log Writer 
• CKPT - Checkpoint 
• SMON - System Monitor 
• PMON - Process Monitor 
• ARCn - Archiver 
• RECO - Recover 
• LCKn - Lock 
• SNPn - Snapshot Refresh 
• Snnn - Shared Server 
• Dnnn - Dispatcher 
• Pnnn - Parallel Query
31/08/2022 22:13 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2555557/3965193 2/6
3)
4)
Somente as proposições I, II, III e V estão corretas.  CORRETO
Somente a proposição V está correta.
Somente as proposições I e II estão corretas.
Somente as proposições I, II e IV estão corretas.
Código da questão: 58836
Considerando que um "ciclo PDCA" (plan de planejamento; do de execução; check de verificação; action de atuação) visa uma melhoria
contínua de um processo empresarial qualquer, e que o método de tuning visa especificamente o ajuste de performance de um SGBD, pode-
se afirmar que:
Alternativas:
São métodos que não se relacionam, uma vez que o PDCA é genérico e o método de tuning de SGBD é específico.
São métodos que não se relacionam, considerando-se que o PDCA nunca termina e que o método de tuning de SGBD é realizado
exclusivamente durante seu projeto.
São métodos cujo relacionamento se dá pela prática de partir de um diagnóstico de uma situação-problema, sua correção e averiguação
de resultados. Mas a satisfação do cliente é irrelevante.
São métodos cujo relacionamento se dá pela prática de partir de um diagnóstico de uma situação-problema, sua correção e averiguação
de resultados. Visando sempre a satisfação do cliente.  CORRETO
São métodos cujo relacionamento se dá pela prática de partir de um diagnóstico de uma situação-problema, sua correção e averiguação
de resultados. Mas são ciclos que acontecerão uma única vez.
Código da questão: 58812
No SGBD, os metadados compõem dois grupos distintos de estruturas, sob o apelido de dicionário de dados (data dictionary ou DICT).
Examine as proposições adiante: 
I. O grupo que abriga os objetos fixos do SGBD são apresentados em três abrangências. 
II. As de prefixo USER se referem aos objetos do usuário que está logado durante a consulta. 
III. As de prefixo ALL têm o mesmo conteúdo de USER com uma coluna adicional. 
IV. A coluna adicional daquelas com prefixo ALL não têm utilidade. 
V. As de prefixo DBA contêm todas as informações apresentadas em ALL, acrescidas de detalhes que são exclusivos do DBA. 
Indique a seguir a opção que corresponde às proposições corretas:
Alternativas:
Somente as proposições I, II, III e V estão corretas.  CORRETO
Somente a proposição IV está correta.
Somente as proposições I, II, III e IV estão corretas.
Somente as proposições I e II estão corretas.
Somente as proposições III e IV estão corretas.
Resolução comentada:
o tuning é uma atividade complexa. Propõe-se inicialmente uma atividade de ajuste que parte dos comandos SQL existentes nas
aplicações, após o que o ajuste das estruturas de memória deve ser realizado. Tais ajustes podem ser considerados simples, já que a
maioria dos ajustes a serem realizados nas estruturas físicas passa pela reconstrução destas. Por mais precisas que sejam as projeções,
são somente projeções, que se aproximarão da realidade na medida em que os diversos ciclos de tuning forem executados. Assim
sendo, observe que as proposições listada a seguir estão corretas, pelos motivos: 
I. Não um, mas diversos ciclos de tuning serão necessários, principalmente porque o ajuste de uma estrutura tende a causar sobrecarga
de outras. 
II. Alguns simples, como ajustar uma cláusula WHERE de um SELECT são simples por afetar somente o código da aplicação, o que, no
máximo, afetaria essa aplicação, o que normalmente se corrige em poucos segundos. 
III. Outros um pouco mais complicados, como criar um índice. A criação de um índice pode causar contenção, já que, nessa atividade, a
tabela deve ser lida integralmente. 
V. Em outros momentos, graves e complicados, como destruir tudo, rever a organização e o tamanho dos blocos de dados no nível do
sistema operacional e criar tudo novamente. Tal atividade será complexa e, por causar indisponibilidade, é considerado grave.
Resolução comentada:
o método de tuning proposto, assim como o ciclo PDCA, são empíricos, cíclicos e norteados pela satisfação do cliente.
31/08/2022 22:13 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2555557/3965193 3/6
5)
6)
Código da questão: 58831
As junções (joins) de tabelas são muito frequentes, considerando que as informações são, habitualmente, normalizadas e, logo, depositadas
em mais de uma tabela. Para resolver os joins, o optimizer: 
I. Observa as regras somente, não utilizando estatísticas. 
II. Faz o SGBD optar pelo plano de execução de menor custo. 
III. Jamais realiza transformações. 
IV. Conta com a possibilidade de executar uma ordenação-combinação (sort-merge), um laços aninhados (nested-loops), ou um agrupamento
(cluster). 
V. Observa as estatísticas para deduzir o menor volume possível de I/O. 
Indique a alternativa que corresponde às proposições corretas:
Alternativas:
Somente as proposições II, IV e V estão corretas.  CORRETO
Somente a proposiçãoIV está correta.
Todas as proposições estão corretas.
Somente as proposições I e IV estão corretas.
Somente as proposições I e III estão corretas.
Código da questão: 58821
Observe o seguinte plano de execução: 
Um filtro de linhas será realizado, estabelecendo um laço aninhado, acessando-se a tabela EMP completa, e a tabela DEPT, por meio do
ROWID, obtido da leitura do índice único PK_DEPTNO; a tabela SALGRADE será também de forma completa.
Sobre a interpretação anterior, indique a 
alternativa correta.
Alternativas:
O texto de interpretação está incorreto, uma vez que a tabela SALGRADE é acessada desde um índice.
O texto de interpretação está incorreto, uma vez que a junção laço aninhado (nested-loops) jamais pode ser utilizada em tabelas
clusterizadas.
O texto de interpretação não aponta quando as estatísticas foram obtidas, o que é sempre exigido em um plano de execução.
O texto de interpretação está correto.  CORRETO
Resolução comentada:
a proposição I está correta, uma vez que o DICT aponta para três categorias distintas, que são explicadas por outras proposições. 
Assim, II está correta, por explicar que a categoria USER se refere aos objetos que pertencem ao usuário que está conectado e
executando as consultas. 
Do mesmo modo, III está correta, indicando que a categoria ALL contém uma coluna adicional, que aponta para o proprietário do
objeto referenciado. 
Do mesmo modo, a proposição V, que aponta para a similaridade com ALL, mas que contém estruturas que são de uso exclusivo do
DBA.
Resolução comentada:
a imagem a respeito de junções explicita as possibilidades de junção e indica que é escolhido o plano de menor custo. 
Assim, as proposições são corretas, pois: 
II. O optimizer sempre traça um plano de execução que procura determinar a manipulação da quantidade de blocos menor possível. 
IV. Ao seu dispor, há três métodos (ou algoritmos) para realizar a junção de tabelas, ordenação-combinação (sort-merge), um laços
aninhados (nested-loops), ou um agrupamento (cluster). 
V De modo a poder tomar decisões, o optimizer sempre consulta as estatísticas.
31/08/2022 22:13 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2555557/3965193 4/6
7)
8)
O texto de interpretação está incorreto, uma vez que o índice PK_DEPTNO não é único.
Código da questão: 58823
O encadeamento ocorre quando uma linha nova extrapola o espaço disponível ou quando ela é aumentada para além desse espaço. 
( ) Encadeamento é o evento quando o SGBD aumenta automaticamente o tamanho do data block. 
( ) Uma linha nova corresponde a um INSERT. 
( ) Uma linha é aumentada por um UPDATE. 
( ) Encadeamento é o evento quando o SGBD aumenta automaticamente o tamanho do extent. 
( ) O ROWID é mantido apontando para o data block original. 
Anote cada proposição como falsa (F) ou verdadeira (V) e escolha a alternativa que corresponde à sequência correta.
Alternativas:
F – F – V – F – V.
F – V – V – F – V.  CORRETO
V – F – V – V – V.
V – V – F – V – F.
V – F – V – F – V.
Código da questão: 58839
Ao observar os caminhos escolhidos pelo optimizer, você perceberá que, em algumas situações especiais, será necessário especificar outros
caminhos de acesso para consultas SQL, situações em que o optimizer não foi capaz de resolver o problema de forma satisfatória podem ser
manualmente corrigidas por dicas (hints). Com base no exposto, observe a afirmativa a seguir: 
Tal medida deve ser tomada com _______, inclusive porque depende de reescrever um comando dentro ________, o que pode levar a constantes
manutenções, quando as características dos dados se alterarem, adaptações que são ______ se a conjunção do uso das estatísticas e do
optimizer for uma opção. 
Assinale a alternativa que completa adequadamente as lacunas:
Alternativas:
Leviandade; da APP; dinâmicas.
Leviandade; do SGBD, dinâmicas.
Cautela; do APP; estáticas.
Cautela; do APP; dinâmicas.  CORRETO
Cautela; do SGBD; estáticas.
Resolução comentada:
o texto está exato: um filtro de linhas será realizado, estabelecendo um laço aninhado, acessando-se a tabela EMP completa, e a tabela
DEPT, por meio do ROWID, obtido da leitura do índice único PK_DEPTNO; a tabela SALGRADE será também de forma completa.
Resolução comentada:
a migração ocorre quando, sob um UPDATE, a linha tem acréscimo de bytes, mas no data block em que ela reside não contém mais
espaço; então, o SGBD deverá reescrever essa linha em outro data block. Quando um INSERT não encontra espaço suficiente para a
linha inteira no data block que deveria conter originalmente a linha, escreve essa linha em outro. Em ambos os casos (INSERT ou
UPDATE), se a linha é muito maior que o espaço disponível nos data blocks, o SGBD utilizará diversos blocos. Ambos os eventos são
conhecidos como linhas encadeadas (chainned rows). Em ambos os casos, o ROWID aponta para o data block original. 
Logo, é falso que o encadeamento é o evento quando o SGBD aumenta automaticamente o tamanho do data block, já que seu
tamanho é fixo. 
É verdadeiro que uma linha nova corresponde a um INSERT. considerando-se que a isto se destina o comando INSERT. 
É verdadeiro que uma linha é aumentada por um UPDATE. considerando-se que o comando UPDATE pode incluir novas colunas ou
fazer variar o tamanho das existentes. 
É falso que encadeamento é o evento quando o SGBD aumenta automaticamente o tamanho do extent. Encadeamento significa uma
linha que não pode ser convenientemente acomodada em um data block. 
É verdadeiro que o ROWID é mantido apontando para o data block original, sendo justamente a questão mais grave, já que exige uma
ação extra de I/O para leitura dessa linha.
Resolução comentada:
31/08/2022 22:13 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2555557/3965193 5/6
9)
10)
Código da questão: 58820
O SGBD utiliza uma estrutura lógica, denominada tablespace, para armazenar data blocks de diversos tipos de segmentos, como DICT,
dados, índices, temporários e desistência (rollback). Sobre essa estrutura, pode-se afirmar: 
I. Tipos de segmento diferentes demandam tablespaces diferentes. 
II. Tablespaces diferentes tendem a evitar fragmentação (os segmentos crescem em cadências diferentes). 
III. Tablespaces diferentes tendem a evitar contenção (são frequentemente acessados simultaneamente, como índices e dados). 
IV. Tablespaces diferentes tendem a evitar paralelismo (os sistemas operacionais não dão suporte a esse tipo de possibilidade). 
V. A distribuição dos diversos tipos de segmentos se limita a um hábito e não concorre para a melhoria da performance do SGBD. 
Indique a seguir a opção que corresponde às proposições corretas:
Alternativas:
Somente as proposições I, IV e V estão corretas.
Somente as proposições I, II e IV estão corretas.
Somente as proposições I, II e III estão corretas.  CORRETO
Somente a proposição V está correta.
Todas as proposições estão corretas.
Código da questão: 58833
O bloco de dados estabelecido pelo SGBD, denominado data block, corresponde a um bloco de dados estabelecido pelo sistema
operacional. A respeito desse data block, considere as afirmativas a seguir e classifique-as em verdadeiras (V) ou falsas (F): 
( ) O data block do SGBD é um múltiplo inteiro do bloco de dados no SO. 
( ) F – Expressa o arquivo fixo em que reside o bloco de dados. 
( ) Nunca é possível determinar o tamanho do bloco de dados no SO. 
( ) H – Expressa o cabeçalho de linha. 
( ) PCTFREE – Expressa um espaço reservado no data block para futuro crescimento da linha. 
Assinale a alternativa que apresenta a sequência correta:
Alternativas:
V – F – V – F – V.
V – F – V – V – V.  INCORRETO
V – F – F – V – V. CORRETO
F – V – V – F – V.
V – V – F – V – F.
tal medida deve ser tomada com cautela, inclusive porque depende de reescrever um comando dentro do APP, o que pode levar a
constantes manutenções, quando as características dos dados se alterarem, adaptações que são dinâmicas se a conjunção do uso das
estatísticas e do optimizer for uma opção. 
Essa cautelase deve ao fato de que, se a distribuição estatística dos dados muda, é dinâmica, o hint deixa de ser útil, passando,
portanto, de solução a problema. Os comandos SQL são inseridos habitualmente como textos, logo, dentro do APP.
Resolução comentada:
a informação completa indica que “tipos de segmento diferentes demandam tablespaces diferentes para evitar fragmentação (os
segmentos crescem em cadências diferentes) e contenção (são frequentemente acessados simultaneamente, como índices e dados). 
A proposição I, ao afirmar que tipos de segmentos diferentes demandam tablespaces diferentes, está correta pelos motivos afirmados
nas proposições II e III. 
A proposição II está correta, considerando-se que tablespaces diferentes tendem a evitar fragmentação, justamente porque os
segmentos crescem em cadências diferentes. 
A proposição III está correta, uma vez que, por exemplo, índices e dados que eles referenciam nas tabelas, residindo em tablespaces
diferentes, tendem a evitar contenção.
Resolução comentada:
no slide 6 do Bloco 1, é possível observar que o data block é assim dividido: 
F – Porção fixa do cabeçalho do bloco. 
V – Porção variável do cabeçalho do bloco. 
L – Diretório de linhas. 
T – Diretório de tabelas. 
H – Cabeçalho de linha. 
31/08/2022 22:13 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2555557/3965193 6/6
Código da questão: 58837
C – Cabeçalho de coluna. 
PCTFREE – Espaço reservado no bloco para futuro crescimento da linha. PCTUSED – Limite abaixo do qual o bloco volta a receber novas
inserções. 
Já no Bloco 3, slide 20, encontra-se a recomendação para fazer coincidir a “blocagem” ao nível do sistema operacional (SO) com
necessidades do SGBD, de modo a “economizar” o processo de I/O que “recolherá” blocos do SO para “entregar” ao SGBD. 
Na Aprendizagem em Foco, Direto ao Ponto, está a informação sobre “cada data block ser constituído um múltiplo inteiro de blocos
endereçados pelo sistema operacional”.
Arquivos e Links

Outros materiais