Baixe o app para aproveitar ainda mais
Prévia do material em texto
28/11/22, 07:55 Cosmos · Cosmos https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2700656/5123804 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! 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: Cautela; do APP; dinâmicas. CORRETO Cautela; do APP; estáticas. Leviandade; do SGBD, dinâmicas. Cautela; do SGBD; estáticas. Leviandade; da APP; dinâmicas. Código da questão: 58820 Da possibilidade de cálculo apresentada, evidenciando as alternativas de tomada de decisão entre um full-table-scan e uma leitura via índice, pode-se depreender as seguintes afirmativas: I. Existem parâmetros do sistema operacional que devem ser levados em conta. II. Existem parâmetros do SGBD que interferem nos números. III. Das estatísticas, podem-se inferir quantas linhas há por bloco. IV. Das estatísticas, podem-se inferir quantos blocos há na tabela. V. Utiliza-se como critério que, para ler uma linha via índice, quatro ações de I/O são necessárias. Aponte a seguir as corretas: Alternativas: Somente III e V estão corretas. Todas as alternativas estão corretas. CORRETO Somente I e III estão corretas. Somente I e II estão corretas. Somente III, IV e V estão corretas. Resolução comentada: 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 cautela se 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: Ao exercitar os cálculos sugeridos, através da planilha fornecida, se pode observar que todas as assertivas são verdadeiras, além do que, para entender os dados a serem calculados, observe-se que o sistema operacional em que reside o SGBD tem 28/11/22, 07:55 Cosmos · Cosmos https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2700656/5123804 2/6 3) 4) Código da questão: 58825 Uma das considerações importantes durante a atividade de tuning se reporta ao uso da RAM. A máquina, virtual ou física, como um todo deverá ser considerada, evitando-se a paginação, também conhecida como memória virtual. A partir disso, ao ajustar a performance de estruturas em memória, deve-se observar que: I. As estruturas internas do SGBD são compartilhadas, ou seja, se você privilegiar demais um processo, pode causar um desempenho ruim em outros, o que pode criar um gargalo. II. Se a estrutura em memória que abriga os comandos SQL for por demais privilegiada, a área para os dados pode ficar pequena demais e daí pode surgir um problema novo, que sua atividade de tuning causou. III. O fenômeno de paginação da memória RAM deve ser evitado por esconder uma atividade de I/O, a qual suprime desempenho do sistema. São verdadeiras: Alternativas: Somente II. Somente I. I – II – III. CORRETO Somente III. Somente II e III. Código da questão: 58816 O SGBD contém um componente responsável por estimar o volume mínimo de entrada e saída (I/O) de dados, de e para a sua alocação em memória RAM, desde o armazenamento em disco (storage). Esse componente é denominado otimizador (optimizer). A respeito do plano de execução (execution plan) que resulta dessa estimativa, pode-se afirmar que (indique a única alternativa correta): Alternativas: É sempre seguido pelo SGBD, não havendo possibilidade de interferência por parte do DBA. Quando existem dicas (hints), elas são sempre e exclusivamente ilustrativas. É baseado em estatísticas que podem ou não ser atualizadas, podendo ser sobreposto por dicas (hints). É baseado em estatísticas que devem ser atualizadas e cuidadosamente obtidas, podendo ser sobreposto por dicas (hints). CORRETO Nunca é efetivamente seguido pelo SGBD, sendo somente uma informação ilustrativa. um parâmetro denominado “Maxphys”, o qual limita a quantidade de blocos que podem ser transportados a cada operação de I/O. O valor assumido no exemplo, será 524.288 ( 64 * 8192). Resolução comentada: todos os aspectos enunciados nas alternativas são significativos e verdadeiros em se tratando da observação das dimensões da RAM durante o tuning. As afirmações I e II apontam para a mesma situação verdadeira, ou seja, as estruturas em memória do SGBD não devem tomar espaço umas das outras. A alternativa III aponta para uma situação importante, já que a paginação faz com que o sistema operacional realize um certo volume de I/O que pode e deve ser evitado. Resolução comentada: ao DBA, caberá manter estatísticas atualizadas e que devem ser cuidadosamente obtidas, já que causam impacto na performance geral do sistema. O optimizer cria seus execution plans a partir dessas estatísticas. Tais planos podem ser sobrepostos por dicas (hints). 28/11/22, 07:55 Cosmos · Cosmos https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2700656/5123804 3/6 5) 6) Código da questão: 58819 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 – V – F – V – F. V – F – F – V – V. CORRETO F – V – V – F – V. V – F – V – V – V. Código da questão: 58837 Conforme o método de ajuste de performance (tuning), ao final de um ciclo de tuning, é possível que se deva reiniciá-lo, considerando que: I. A melhoria da performance de uma estrutura pode evidenciar que outras devam ser ajustadas. II. Como a satisfação do cliente é a meta final, ele pode demandar novos ajustes em outros objetos. III. Conforme certas estruturas forem sendo ajustadas, esse ajuste pode ter efeito negativo na performance de outras estruturas já otimizadas. São verdadeiras: Alternativas: Somente I. Somente II. Somente III. Somente II e III. I – II – III. CORRETO 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. C – Cabeçalho de coluna. PCTFREE – Espaço reservado no bloco para futuro crescimento da linha. PCTUSED – Limiteabaixo 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”. Resolução comentada: 28/11/22, 07:55 Cosmos · Cosmos https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2700656/5123804 4/6 7) 8) Código da questão: 58814 A fórmula RAM >= { Somatória Sistema Operacional & outros } + { MEMORY_MAX_TARGET } + { 10% da RAM } deve ser interpretada como? Indicar a alternativa correta, lembrando que RAM é a memória real do computador em que o SGBD está funcionando. Alternativas: O resultado dessa fórmula garantirá que haja paginação em disco de partes da RAM. A somatória do espaço ocupado pelo próprio sistema operacional e programa acessórios, com o valor reservado para o SGBD, que é dado por MEMORY_MAX_TARGET, e ainda com uma margem de segurança de dez por cento, deverá ser menor ou igual à RAM. CORRETO A memória real do computador em que opera o SGBD não precisa ser considerada. A RAM deverá ser aumentada de tal forma que a somatória indicada caiba nela. A somatória do espaço ocupado pelo próprio sistema operacional e programa acessórios, com o valor reservado para o SGBD, que é dado por MEMORY_MAX_TARGET, e ainda com uma margem de segurança de dez por cento, deverá ser maior ou igual à RAM. Código da questão: 58832 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. V – F – V – V – V. F – V – V – F – V. CORRETO V – V – F – V – F. V – F – V – F – V. retomar um ciclo de tuning (ajuste de performance do SGBD), ao almejar a satisfação do cliente, exige a compreensão da interdependência das estruturas desse SGBD. Assim, a afirmativa I está correta em função da ciclicidade do tuning em si; do mesmo modo, a afirmativa II, considerando especialmente a satisfação do cliente; na afirmativa III, também correta, evidencia-se a interdependência das estruturas do SGBD. Resolução comentada: antes de iniciar o ajuste da performance (tuning) da memória do SGBD, você deverá assegurar que a somatória de RAM demandada pelo sistema operacional e por quaisquer outros processos (por exemplo, aqueles que promovem backup, segurança, como um firewall, etc.) em funcionamento nesse computador seja conhecido. A partir daí, assegurar que o volume de RAM reservado ao SGBD não ultrapasse o volume restante da RAM. É recomendada uma margem de segurança de dez por cento. O parâmetro do SGBD denominado MEMORY_MAX_TARGET deve ser usado para garantir que o SGBD não ultrapasse o espaço de RAM reservado para ele. 28/11/22, 07:55 Cosmos · Cosmos https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2700656/5123804 5/6 9) 10) Código da questão: 58839 Analise as seguintes afirmações: I. Coletar estatísticas é uma atividade que deve ser efetuada levando em conta que tais estatísticas demandam, como amostra, um determinado período de utilização do SGBD. II. Nem sempre a informação estatística não dará conta de resolver um desempenho não aceitável. III. Existem questões “fora da curva”, ou seja, momentos em que uma situação em que a sazonalidade distorce as estatísticas, como o momento do fechamento de uma folha de pagamento. Escolha agora o item que reflete precisamente essa análise. Alternativas: Ainda que as sazonalidades interfiram nas estatísticas, elas constituirão exatamente “pontos fora da curva”. CORRETO Ao se repetirem frequentemente, as sazonalidades serão, afinal, consideradas. Não há relação de causa e efeito entre os textos indicados. Recolher estatísticas e observar seus efeitos, por um algoritmo ou uma pessoa, jamais é útil. Ao DBA, jamais caberá avaliar quando uma estatística coletada é apropriada em termos de prazo ou qualidade. Código da questão: 58818 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: 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: são os comportamentos sazonais exatamente aqueles que tendem a distorcer as estatísticas, podendo levar o SGBD a tomadas de decisão que apresentem performance não aceitável. 28/11/22, 07:55 Cosmos · Cosmos https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2700656/5123804 6/6 Assinale a alternativa que traz a associação correta entre as duas colunas Alternativas: A – 4; B – 2; C – 1; D – 3; E – 5. A – 3; B – 2; C – 1; D – 5; E – 4. A – 5; B – 4; C – 3; D – 2; E – 1. A – 4; B – 2; C – 1; D – 5; E – 3. CORRETO A – 1; B – 2; C – 3; D – 4; E – 5. Código da questão: 58828 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 Arquivos e Links
Compartilhar