• Nenhum resultado encontrado

Controle de Concorrência e Recuperação em Oracle

N/A
N/A
Protected

Academic year: 2021

Share "Controle de Concorrência e Recuperação em Oracle"

Copied!
24
0
0

Texto

(1)

Banco de Dados II

Controle de Concorrência e

Recuperação em Oracle

Morgana Ribeiro Micaías ladgelson

(2)

Sumário

• Review

• Controle de Concorrência

• Estruturas Básicas para Recuperação

• Oracle Data Guard

(3)

Review

• Vimos que uma das propriedades fundamentais de uma transação é o isolamento. • Quando várias transações são executadas simultaneamente no banco de dados, a

propriedade de isolamento pode não ser mais preservada.

• O que vimos sobre o controle de concorrência?

• Para garantir que esteja, o sistema deve controlar a interação entre as transações simultâneas;

• Esse controle é obtido por meio de vários mecanismos chamados esquemas de controle de concorrência.

(4)

Review

• E sobre o Sistema de Recuperação?

• Um sistema de computador, como qualquer outro dispositivo, está sujeito a falhas de várias causas: falha de disco, falta de energia, erro de software, incêndio na sala de máquinas e até mesmo sabotagem.

• Portanto, o sistema de banco de dados deve executar ações com antecedência para garantir que as propriedades de atomicidade e durabilidade das transações, sejam preservadas.

• O controle de recuperação que pode restaurar o banco de dados ao estado

consistente que existia antes da falha e também deve fornecer alta disponibilidade.

• Entendi, então ele deve minimizar o tempo para o qual o banco de dados não é utilizável após uma falha.

(5)

Review

• Tudo bem, mas como funciona o Controle de Concorrência e

Recuperação em um sistema de banco de dados real? Ex: Oracle

• O Banco de Dados da Oracle suporta técnicas de controle e recuperação de concorrência que fornecem vários recursos úteis.

• A Oracle se tornou pioneira do mercado de Sistema Gerenciador de Banco de

Dados Relacional e ocupa uma posição de liderança nesse mercado desde então.

• Primeiramente, veremos como funciona o seu controle de concorrência, ok?

(6)

Controle de Concorrência

• Baseia-se no protocolo de isolamento de instantâneo. • Consultas somente de leitura recebem um instantâneo

Instantâneo

Dados….

.

(7)

Controle de Concorrência

• O Oracle suporta a consistência de leitura no nível da instrução e da transação • Determina o atual número de alteração do sistema (SCN - system change

number)

T1 T2 T3 T4

0021

(8)

Controle de Concorrência

• Se for encontrado um bloco de dados com um SCN mais alto do que aquele associado à consulta, é evidente que o bloco de dados foi modificado após o horário do SCN da consulta original.

D1 D2 D3 D4

0003

0021

0001

0002

0003

SCN = 0003

(9)

Estruturas Básicas para Recuperação

● A tecnologia Flashback da Oracle, pode ser usada como um mecanismo de recuperação. Mas o que seria essa Tecnologia Flashback?

● No modelo de simultaneidade do Oracle, as operações de leitura não bloqueiam as operações de gravação e as operações de gravação não bloqueiam as operações de leitura,

● Uma propriedade que permite um alto grau de simultaneidade.

● O modelo de simultaneidade da Oracle é usado como base para o recurso Flashback.

● O recurso de Flashback inclui a capacidade de restaurar uma tabela ou um banco de dados inteiro para um ponto específico sem exigir a restauração do banco de dados a partir do backup.

(10)

Estruturas Básicas para Recuperação

• Estou entendendo, mas espera um pouco, como assim falhas? Você fala do banco em si ter falhas?

Como o sistema está muito propício a falhas deve-se utilizar os métodos e estruturas

básicas para entendermos efetivamente como os sistemas SGBDs conseguem fazer

isso!

• Existem três tipos de falhas: ○ Falha de transação ○ Falha de sistema ○ Falha do disco

Então, agora veremos como isso é feito, o passo a passo de cada método e suas vantagens e desvantagem, beleza parceiro?

(11)

Tipos de Recuperação

Em uma situação de falha, seja ela de sistema ou de disco que faça a instância do banco de dados abortar sua execução, há duas formas de recuperação:

● Media recovery: no processo de media recovery, existe a perda ou

corrompimento de algum arquivo pertencente ao banco de dados. Esta é uma forma de recuperação na qual exige a intervenção manual de uma pessoa

capacitada, geralmente o DBA.

• Cada estrutura física do SGBD Oracle possui sua peculiaridade de recuperação. Basicamente, dois passos principais são necessários:

restaurar/recriar os arquivos danificados e recuperar a base até um ponto no tempo consistente (roll-forward e rollback).

● Instance Recovery: A própria instância possui as informações necessárias para realizar a subida do banco de dados de modo consistente.

(12)

Estruturas Básicas para Recuperação

• Para entendermos melhor como é o funcionamento do sistema de recuperação Oracle, temos que entender a seguinte imagem!

(13)

IFCE

(14)

Estruturas Básicas para Recuperação

• Para entendermos melhor como é o funcionamento do sistema de recuperação Oracle, temos que entender a seguinte imagem!

• Beleza, entendi quase tudo, tem uns termos que não entendi bem!

• Que termos? • Coisas tipo Arquivo de inicialização, Arquivos de controle, Arquivos

(15)

Estruturas Básicas para Recuperação

• Sim sim, vou lhe explicar bem como funciona esses arquivos. Dentre eles temos: ○ Arquivos de inicialização

○ Arquivos de controle ○ Arquivos de log de redo ○ Arquivos de log arquivados ○ Arquivos de dados

○ Arquivos temporários

• Os ARQUIVOS DE INICIALIZAÇÃO são arquivos de texto importantes que informam a instância do Oracle ONDE estão os arquivos de controle e a DIMENSÃO dos mesmos.

• Os ARQUIVOS DE CONTROLE são arquivos PEQUENOS que listam ONDE se encontram os arquivos de log online.

○ Responsável também por saber: ■ Checkpoints

■ Nome do banco ■ TImestamp

(16)

Estruturas Básicas para Recuperação

● Então, pelo que entendi, o Arquivo de Inicialização indica onde os Arquivos de Controle estão localizados, e os Arquivos de Controle indicam à instância onde os Arquivos de Log Online se localizam. Estou certo?

• Isso mesmo!

● Já os ARQUIVOS DE LOG DO REDO geralmente são utilizados para propósitos de recuperação, mas podem ser utilizados também para:

○ Recuperação de instância após uma queda de sistema;

○ Recuperação de mídia após a recuperação de um arquivo de dados; ○ Replicação entre bancos de dados;

● Se o sistema do banco de dados abortar causando uma FALHA DE INSTÂNCIA, o Oracle irá usar os Arquivos de Log de Redo para RESTAURAR o sistema para o exato ponto que estava antes da queda de sistema.

(17)

Estruturas Básicas para Recuperação

• Boa pergunta, nesse caso, os arquivos de log do redo SÃO ESCRITOS ANTES que o dado seja colocado no banco de fato!

Continuando...

● ARQUIVOS DE LOG ARQUIVADOS é uma espécie de HISTÓRICO DE ARQUIVOS DE LOG DE REDO. Tais são responsáveis por guardar a informação contida em N arquivos de log de redo POR TEMPO

DETERMINADO.

○ Para que isso aconteça o SGBD de está no modo ARCHIVELOG.

● Ainda há alguma resistência sobre o uso desse modo, mas segundo afirma Kyte(2010):

○ “As pessoas frequentemente me dizem que não precisam de modo ARCHIVELOG para os seus

sistemas de produção. Eu ainda não encontrei ninguém que fosse correto nessa declaração. Eu acredito que um sistema não é um sistema de produção a menos que seja no modo

ARCHIVELOG. Um banco de dados que não está no modo ARCHIVELOG irá, algum dia, perder dados. É inevitável, você vai perder os dados (não pode, mas vai), se o seu banco de dados não

(18)

Estruturas Básicas para Recuperação

(19)

IFCE

(20)

Estruturas Básicas para Recuperação

• Aqui está uma imagem que fará você compreender melhor o fluxo de registro de LOGs no Oracle.

• Legal! Que tipos de arquivos preciso conhecer ainda ?

● Tenho que te falar ainda sobre: ■ Arquivo de Dados

(21)

Estruturas Básicas para Recuperação

• Os ARQUIVOS DE DADOS são as ESTRUTURAS QUE ARMAZENAM DADOS DE APLICAÇÕES, bem como os dados do dicionário de dados do SGBD Oracle. Estes dados estão organizados como

OBJETOS, COMO TABELAS, ÍNDICES, ETC.

● Segundo afirma Kyte:

■ Os arquivos de dados, juntamente com os arquivos de log redo, são os tipos MAIS

IMPORTANTES DE ARQUIVOS NUM BANCO DE DADOS. Este é o lugar onde todos os seus

dados serão finalmente armazenado. Cada base de dados tem, pelo menos, um arquivo de dados associado a isso e, normalmente, tem muito mais do que um (Kyte, 2010).

• Graças a você, meu amigo, estou entendendo muito bem o assunto, e os arquivos temporários o que são?

• Os ARQUIVOS TEMPORÁRIOS armazenam os RESULTADOS INTERMEDIÁRIOS de grandes operações de classificação e OPERAÇÕES DE HASH, bem como para armazenar dados de tabelas temporárias globais, ou de resultados de dados, QUANDO NÃO HÁ MEMÓRIA SUFICIENTE PARA ARMAZENAR

(22)

Oracle Data Guard

● O Oracle Data Guard é uma solução de alta disponibilidade (High Availability) para banco de dados Oracle, que provê um conjunto abrangente de serviços como criar, manter, gerenciar e monitorar um ou mais banco de dados standby permitindo que um bancos de dados Oracle de produção sobreviva a desastres e corrupção dados.

● O que é banco de dados standby (Standby Database)?

○ É uma cópia transacionalmente consistente do banco de dados de produção (primary database).

(23)

Referências

● SILBERSCHATZ , Abraham ; F. KORTH, Henry; SUDARSHAN , S. DATABASE SYSTEM

CONCEPTS. [S. l.]: McGraw-Hill Science/Engineering/Math; Edição: 6, 11/07/2016.

RADAELLI, Estevão. Guia de recuperação de uma base de dados Oracle. 2017.

(24)

Banco de Dados II

Controle de Concorrência e

Recuperação em Oracle

Morgana Ribeiro Micaías ladgelson

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

Posteriormente, em Junho de 1999, ingressei no grupo Efacec, onde fui responsável pela elaboração de projetos e propostas para a construção de Estações de Tratamento

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Neste sentido, o presente estudo busca como objetivo principal realizar um revisão de literatura sobre as atuais intervenções realizadas nas empresas com vistas a minimizar os

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...