ID 205477 Banca FEPESE Órgão SEFAZ-SC Ano 2010 Provas FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual - Parte III - Tecnologia da Informação Disciplina Banco de Dados Assuntos Gerência de Transações Sobre acesso concorrente a dados por transações em bancos de dados, é correto afirmar: Alternativas Uma transação que necessita acesso a um dado que está bloqueado deve ser abortada. Uma ocorrência de deadlock envolve de uma (1) a várias transações. A técnica de bloqueio de duas fases requer que um dado seja bloqueado apenas por uma (1) transação para leitura ou para atualização. Uma transação que consegue adquirir a priori todos os bloqueios necessários sobre os dados pode, mesmo assim, incorrer em uma situação de deadlock com outras transações. A técnica de bloqueio de duas fases requer que uma transação adquira todos os bloqueios necessários antes de liberar qualquer bloqueio já adquirido. Responder Comentários E) Na fase de expansão os LOCKS são adquiridos. Na fase de ENCOLHIMENTO os LOCKS são liberados. Bloqueios de duas fases previnem que transações concorrentes interfiram em outras. Isso para garantir a seriabilidade. Entretanto, isso não garante que não haja deadlock. a) Uma transação que necessita acesso a um dado que está bloqueado deve ser abortada. Errado: Necessita aguardar até o desbloqueio. b) Uma ocorrência de deadlock envolve de uma (1) a várias transações. Errado: Envolve no mínimo 2 ou mais transações. Sendo que a transação em conflito pode requisitar o bloqueio das demais transações concorrentes para que estas fiquem na fila de espera. c) A técnica de bloqueio de duas fases requer que um dado seja bloqueado apenas por uma (1) transação para leitura ou para atualização. Errado: Esse "por uma" realmente tá difícil de interpretar pois me parece que foi copiada de algum livro e traduzida ao pé da letra. O por me parece ser "for" e na verdade é para. O bloqueio pode ser "por uma" transação no sentido de a partir de uma transação ou "para uma" transação no sentido do bloqueio se aplicar diretamente àquela transação conflitante. Então se o sentido do "por" for de "para uma" então bloqueio deveria ser de uma ou mais transações. d) Uma transação que consegue adquirir a priori todos os bloqueios necessários sobre os dados pode, mesmo assim, incorrer em uma situação de deadlock com outras transações. Me parece certa esta questão, mas foi considerada errada. Não seria o conceito de Deadlock? e) A técnica de bloqueio de duas fases requer que uma transação adquira todos os bloqueios necessários antes de liberar qualquer bloqueio já adquirido. Correto Olá Roduza,A letra "D" está errada porque: neste caso não existe deadlock, se a transação consegue ter posse de todos os bloqueios necessários para ela, então ela só vai liberar os bloqueios, não vai esperar desbloqueio de nenhuma outra transação.Valeu.. Na minha opinião a letra D esta correta, pois mesmo assim, incorrer em uma situação dedeadlock com outras transações. Cabível de recurso.Bons estudos. d) Uma transação que consegue adquirir a priori todos os bloqueios necessários sobre os dados pode, mesmo assim, incorrer em uma situação de deadlock com outras transações. --> ERRADO!O item se refere ao protoloco de serialização em duas fases do tipo "conservador". Em que é necessario bloquear todos os itens antes de começar a transação, evitando assim o dead-lock.Imagine que eu bloqueio todos (TODOS) os dados que eu vou utilizar em uma transação (ou seja, nao tera supresa) então, apos este bloqueio eu posso realizar minha transação tranquilamente, pois em nenhum momento vai aparecer um dado bloqueado por outra transação, já que foi definido A PRIORI, que eu tinha todos os bloqueios necessarios antes mesmo de começar.Gabarito: letra E. Bons estudos!!! Prezados,Em bancos de dados distribuídos é necessário fazer um controle aprimorado de transações. O bloqueio em duas fases é uma técnica realizada da seguinte forma :Fase 1 : Fase de crescimento ( expansão ) A transação pode obter os bloqueios necessários, mas não libera os bloqueiosFase 2 : Fase de encurtamento ( encolhimento ) A transação passa a liberar os bloqueios ,e já não pode obter mais bloqueiosPortanto a alternativa correta é a letra E Prezados,Em bancos de dados distribuídos é necessário fazer um controle aprimorado de transações. O bloqueio em duas fases é uma técnica realizada da seguinte forma :Fase 1 : Fase de crescimento ( expansão ) A transação pode obter os bloqueios necessários, mas não libera os bloqueiosFase 2 : Fase de encurtamento ( encolhimento ) A transação passa a liberar os bloqueios ,e já não pode obter mais bloqueiosPortanto a alternativa correta é a letra E