Você está na página 1de 10

Objetivos

Definir recuperao de dados.


Conhecer e compreender as principais tcnicas de
recuperao de dados.
Definir segurana.
Aplicar medidas para a proteo de dados.

Contedos
Definio de recuperao de dados.
Tcnicas de recuperao de dados (caching, checkpoints,
rollback, shadow, backup).
Algoritmos de recuperao de dados.
Medidas para a proteo de dados.

UNIDADE 7

RECUPERAO DE BANCO
DE DADOS E SEGURANA

UNIDADE 7
Cursos de Graduao

ATENO!
No incio e durante o
desenvolvimento das unidades,
importante que voc sempre
fique atento s informaes
contidas no material didtico.
Programe, organize seus estudos
e participe ativamente na Sala de
Aula Virtual. Ter disciplina para
estudar pode ajudar voc a tirar
o mximo de proveito em seu
curso.

INTRODUO

Na unidade anterior, estudamos que as informaes sobre as atualizaes que


so realizadas no banco de dados, pelas transaes, ficam armazenadas no arquivo de
log do sistema.
Nesta unidade, veremos que, em banco de dados, recuperao significa
restaurao. Essa operao ocorre quando as transaes falham e o banco precisa ser
restaurado.
Observe que a natureza das falhas podem ser de dois tipos: com ou sem danos
fsicos ao banco de dados.

ATENO!
Lembre-se de que, para uma
empresa, o maior bem a
informao que ela guarda e que
permite a tomada de deciso por
parte de seus gestores. Portanto,
cuidar da informao cuidar
para que as decises tomadas
com base nelas utilizem dados
ntegros e, conseqentemente,
confiveis.

As falhas que danificam fisicamente o banco de dados esto, normalmente,


relacionadas aos danos causados na mdia de armazenamento. Nesse caso, uma cpia dos
dados que estavam armazenados nela utilizada como forma de recuperao. J para as
falhas que no danificam fisicamente o banco de dados, utiliza-se a estratgia de desfazer
algumas operaes que tenham sido executadas e, assim, eliminar as inconsistncias
geradas.
Vejamos, a seguir, as principais tcnicas utilizadas na recuperao de dados de
um banco.

CACHING DE DISCO

Caching de disco uma tcnica tambm conhecida como bufferizao, na qual


os itens de dados a serem atualizados podem ficar armazenados nos buffers da memria
principal para, ento, serem atualizados e, somente depois, gravados no disco. O SGBD
mantm controle sobre esses buffers.
Os itens do banco de dados que ficam nos buffers so anotados em um catlogo.
Dessa forma, quando o SGBD solicitar algum item, primeiro ser realizada uma verificao
no catlogo para saber se o item se encontra nele. Cada buffer no cache recebe um valor
para um determinado atributo, para indicar se houve ou no alterao do seu contedo.
Quando a pgina lida pela primeira vez, o atributo recebe o valor zero. Sempre que
houver uma atualizao e o buffer for modificado, o valor do atributo passa para um (1).

3
ATENO!
Neste momento, no nos
prenderemos muito a esse
conceito, pois ele foi discutido
na unidade anterior. Caso tenha
alguma dvida a esse respeito,
retome o contedo da Unidade 7
ou entre em contato com o seu
tutor.

110

CHECKPOINTS, ROLLBACK

Um checkpoint um tipo de entrada no log. Ela acontece quando o sistema


grava no banco de dados (no disco) os buffers que sofreram alteraes.
Rollback a operao para reverter os dados de um banco de dados aps sua
atualizao, caso haja falha em uma transao.

CRC Banco de Dados


Claretiano Batatais

UNIDADE 7
Cursos de Graduao

RECUPERAO BASEADA NA ATUALIZAO ADIADA

Como o prprio nome diz, as tcnicas de recuperao baseadas na atualizao


adiada, postergam a atualizao dos dados no banco de dados at que a transao seja
efetivada. Uma vantagem desse tipo de tcnica que, caso a transao no se efetive,
no h necessidade de desfazer qualquer operao, uma vez que no houve alterao dos
dados no banco.
As tcnicas de atualizao adiada especificam que:
uma transao no altera o banco de dados at que ela se efetive;
para alcanar seu ponto de efetivao, necessrio que todas as operaes
de atualizao da transao sejam registradas no log.
As tcnicas de recuperao baseadas na atualizao adiada podem ser utilizadas
em ambiente monousurio e multiusurio.
H, ainda, as transaes que no afetam o banco de dados. o caso de operaes
que geram relatrios, por exemplo. Havendo falha na transao, as informaes que
constituiriam os relatrios podem no ser consistentes. Assim, uma medida a ser tomada
pode ser a criao de tarefas em lote, a serem executadas apenas depois que a transao
se efetivar.

RECUPERAO BASEADA NA ATUALIZAO IMEDIATA

A tcnica recuperao baseada na atualizao imediata atualiza o banco de


dados to logo uma operao de atualizao seja iniciada pela transao, sem aguardar
a sua efetivao.
H dois tipos de algoritmos baseados na atualizao imediata.
O primeiro o algoritmo de recuperao undo/no-redo, que ser empregado
quando as tcnicas de recuperao garantirem que as atualizaes de uma transao
sero registradas no banco de dados antes que a transao se efetive. O termo no (noredo) significa que, nesse caso, nunca haver necessidade de refazer as operaes das
transaes efetivadas.
J o segundo algoritmo o undo/redo. Nesse caso, se a transao se efetivar
antes que as atualizaes sejam escritas no banco de dados, haver necessidade de
recuperao.

PAGINAO SHADOW

Podemos pensar na paginao shadow (sombra) como dois catlogos, de forma


que cada entrada de um catlogo sempre aponta para a pgina do banco de dados em
disco correspondente a essa entrada. Todas as vezes que uma transao tiver incio no
catlogo corrente, o contedo desse catlogo copiado para um catlogo shadow. Este,
nunca modificado, e tambm fica gravado em disco.

Banco de Dados CRC


Batatais Claretiano

111

UNIDADE 7
Cursos de Graduao

Se uma operao de escrita realizada, a cpia antiga dessa pgina no ser


sobrescrita, embora a nova pgina seja gravada em outro lugar. O catlogo corrente passa
a apontar para o novo bloco de disco, enquanto o shadow continua a apontar para o bloco
de disco antigo. Dessa forma, o estado do banco de dados antes da execuo da transao
se encontra nele e, em caso de falha, basta descartar o catlogo corrente, no qual esto
as modificaes gravadas das operaes de atualizao.
Essa tcnica apresenta como desvantagem a dificuldade em manter juntas as
pginas relacionadas, uma vez que elas mudam de localizao no disco, alm do tempo
gasto pelo sistema operacional (overhead) para a gravao do catlogo shadow quando
as transaes so efetivadas.

RECUPERAO DE FALHAS EM BANCOS DE DADOS


MLTIPLOS
Quando trabalhamos com mais de um banco de dados, as dificuldades so maiores
quando se trata da recuperao de falhas, pois o acesso realizado a diversos bancos, que
podem estar armazenados em SGBDs diferentes (relacionais, orientados a objetos etc.), e
que podem usar diferentes tcnicas de recuperao, entre outros problemas.
Nesses casos, a atomicidade de uma transao garantida por meio de um
mecanismo de recuperao em dois nveis.
No primeiro nvel, h uma coordenao das tarefas para que possa ocorrer a
efetivao da transao. Nessa coordenao, todos os bancos participantes se preparam
para concluir a efetivao.
No segundo momento, ou o coordenador de tarefas recebe um OK de todos os
participantes como sinal de sucesso na tarefa de efetivao da transao, indicando que
ela foi bem sucedida, ou significa que houve falha na transao.
Veja que as informaes para a recuperao dos dados ficam registradas nos
logs dos bancos de dados de cada participante. O protocolo para esse tipo de recuperao
estabelece que todos os participantes efetivem a transao, ou que ningum o faa. E,
ainda, caso haja falha, possvel recuperar o estado anterior dos dados do banco de
dados para o qual ela tenha acontecido.

RECUPERAO DE FALHAS POR MOTIVOS DE CATSTROFE

As tcnicas de recuperao de dados anteriormente estudadas nesta unidade


tratam da recuperao de falhas por problemas na efetivao das transaes e so
baseadas em informaes geradas nos arquivos de log dos sistemas envolvidos. Dessa
forma, possvel retornar o estado do banco de dados ao que ele se encontrava antes da
atualizao acontecer, mantendo a consistncia dos dados.
Contudo, problemas classificados como falhas catastrficas podem ocorrer
e a tcnica de recuperao utilizada a de backup dos dados. Esse um procedimento
bastante comum e constantemente aplicado aos bancos de dados como forma de manter
a atualizao e a segurana das informaes contidas no banco de dados.

112

CRC Banco de Dados


Claretiano Batatais

UNIDADE 7
Cursos de Graduao

O backup consiste em se manter os dados gravados no disco magntico, assim


como o arquivo de log, copiados em uma mdia mais barata e removvel, ou mesmo em
um disco de outro computador.

SEGURANA DE DADOS

PARA VOC REFLETIR:


Nesta unidade, foram
apresentadas as tcnicas mais
importantes de recuperao
de dados. Reflita sobre os
problemas que podem acontecer
no dia-a-dia de uma empresa
e que possam afetar os dados
de seu banco. Aproveite e faa
uso da bibliografia indicada para
aprofundar seus conhecimentos.

O conceito de segurana est diretamente relacionado proteo de valores. No


caso de bancos de dados, proteo das informaes contidas no banco.
Trs atributos so considerados quando se trata de segurana: integridade,
disponibilidade e confidencialidade. Quando os dados de um banco de dados esto sob
ameaa, so esses atributos que refletem o quanto a segurana pode estar sendo afetada.
Vamos ver qual a importncia desses atributos.
Integridade refere-se proteo das informaes quanto a modificaes
imprprias. Ela perdida quando essas modificaes so realizadas de forma
indevida.
Disponibilidade refere-se capacidade dos dados estarem disponveis e
ntegros para que pessoas ou programas os possam utilizar.
Confidencialidade refere-se proteo dos dados contra a divulgao no
autorizada.
Vale ressaltar que violar qualquer um desses atributos pode levar ao uso
de dados corrompidos, o que causaria impreciso e tomadas de deciso com base em
dados que no so reais, perda da confiana, constrangimentos, entre outros problemas
relacionados.
Veremos, a partir de agora, as medidas que devem ser seguidas para proteger
os dados. So elas: o controle de acesso, o controle de inferncia, o controle de fluxo e a
criptografia.
H dois mecanismos de segurana de banco de dados que devem ser destacados:
os mecanismos de acesso discricionrio e os mecanismos de acesso obrigatrio,
explicados a seguir.
Mecanismos de acesso discricionrio
Mecanismos de acesso discricionrio so aqueles utilizados na concesso de
privilgios a usurios. Este controle em um sistema de banco de dados baseia-se na
concesso e na revogao de privilgios.
Para exemplificar, imagine um banco de dados de uma empresa. Nele, todas as
pessoas com acesso aos dados podem acessar todos os dados disponveis no banco. H
pessoas trabalhando na empresa com diferentes interesses nos dados e informaes que
eles contm.
por isso que o DBA precisa, no momento da criao da conta de cada usurio,
definir o nvel de permisso de acesso aos dados. Funcionrios de determinado setor tero
interesses diferentes de funcionrios que trabalham em outro setor, por exemplo.
Alm disso, pode haver casos em que os dados armazenados no banco so
extremamente confidenciais, devendo ser acessados apenas por pessoas rigorosamente
escolhidas para isso. Ou, ainda, h dados que podem ser alterados, e essa operao
somente ser realizada por pessoas autorizadas e que podero responder por esse tipo de
ao, caso seja necessrio.

Banco de Dados CRC


Batatais Claretiano

113

UNIDADE 7
Cursos de Graduao

Dessa forma, ao criar uma conta, o DBA pode estabelecer dois nveis de privilgios.
O primeiro o nvel de conta, em que so estabelecidos os privilgios para cada conta,
tais como a capacidade para criar, excluir e alterar esquemas, relaes, atributos, fazer
consultas, entre outros. O segundo o nvel de relao, no qual controlado, pelo DBA,
o privilgio para o acesso das relaes. Nesse nvel, para cada relao em um banco de
dados, atribuda uma conta de proprietrio, o qual recebe todos os privilgios sobre
aquela relao. Os privilgios, nesse caso, so:
Privilgio SELECT (recuperao ou leitura): refere-se ao privilgio de recuperar
tuplas da relao em questo.
Privilgio MODIFY: refere-se aos privilgios que permitem a modificao das
tuplas da relao por meio de comandos como UPDATE, DELETE e INSERT.
Privilgio REFERENCES: refere-se ao privilgio de se referenciar uma relao
quando ela especificar restries de integridade.
A revogao de privilgios refere-se ao cancelamento deles prprios.
Mecanismos de acesso obrigatrio
Mecanismos de acesso obrigatrio so aqueles utilizados para impor segurana
por meio de uma poltica de segurana. Os usurios e os dados so classificados em
classes ou em nveis de segurana.
Em se tratando de bancos de dados relacionais, os mecanismos de acesso
discricionrio so mais utilizados. H, porm, determinados tipos de aplicaes que
necessitam de segurana em nvel e, nesses casos, so utilizados os mecanismos de
acesso obrigatrio.
Os nveis ou classes de segurana so divididos em:
altamente secretas;
secretas;
INFORMAO!
Os mecanismos de acesso
discricionrio e o mecanismo de
acesso obrigatrio no so muito
utilizados e, por essa razo, no
vamos nos aprofundar muito
nesse assunto.

confidenciais;
no confidenciais.
Observe, no quadro a seguir, uma comparao entre os dois tipos de
mecanismos.
Quadro 1 Mecanismos de acesso discricionrio X mecanismos de acesso obrigatrio.
ACESSO DISCRICIONRIO

ACESSO OBRIGATRIO

Vantagens

Polticas de alto grau de


flexibilidade.

Polticas de alto grau de


proteo.

Desvantagens

Vulnerabilidade a ataques
maliciosos.

Polticas muito rgidas.

Analisando o Quadro 1, podemos perceber que as polticas de acesso discricionrio


tm como desvantagem a vulnerabilidade a ataques porque, embora os acessos sejam
realizados por pessoas autorizadas, no h controle sobre como os dados so usados
ou propagados. Ao contrrio, as polticas de acesso obrigatrio oferecem alto grau de
proteo, pois, uma vez impostas, elas evitam o fluxo ilegal dos dados e, por essa razo,
so adequadas ao uso de rgos governamentais e militares, que exigem alto grau de
proteo aos dados acessados.

114

CRC Banco de Dados


Claretiano Batatais

UNIDADE 7
Cursos de Graduao

10 MEDIDAS DE PROTEO AOS BANCOS DE DADOS


Controle de acesso
Conhecido por DBA, o administrador do banco de dados, o responsvel por
gerenciar o sistema de banco de dados, o que inclui a responsabilidade pela segurana das
informaes contidas no banco.
O administrador do banco de dados pode criar contas para os usurios, conceder
e revogar privilgios e atribuir o nvel de segurana adequado a cada tipo de usurio do
banco de dados. Para cada novo usurio, o DBA cria uma conta e uma senha. Ao entrar no
sistema (login), o SGBD valida a conta e a senha para disponibilizar os dados aos quais o
usurio tem direito de acesso.
Depois que o usurio j est devidamente autorizado a trabalhar com os dados,
todos os procedimentos executados por ele durante sua sesso de login so mantidos. A
partir do momento da conexo, sua conta fica registrada pelo SGBD, assim como o terminal
ao qual se conectou. Dessa forma, todas as operaes executadas por um determinado
usurio ficam registradas. Caso haja qualquer problema com o banco de dados, possvel
descobrir qual foi o usurio responsvel por caus-lo.
O registro das operaes realizadas pelo usurio fica nos mesmos arquivos
de log. Assim, se houver necessidade, pode ser realizada uma auditoria de banco de
dados, ou seja, uma verificao nos arquivos de log para a identificao dos usurios e as
operaes realizadas por eles.
Controle de inferncia
O controle de inferncia refere-se segurana de bancos de dados estatsticos.
Ele utilizado para produzir estatsticas sobre populaes e, assim, podem conter dados
confidenciais que no devem ficar expostos a consultas por todos os usurios do banco.
Portanto, os bancos de dados estatsticos devem fornecer aos usurios dados sobre
os indivduos que compem a populao analisada, porm, assegurar a confidencialidade
deles.
Um problema que pode ocorrer o da inferncia a partir de consultas. Isso significa
que uma determinada informao pode no estar explcita no banco, mas pode ser
deduzida a partir da realizao de vrias consultas que levem o usurio a ter uma
compreenso sobre as informaes obtidas, inferindo em um resultado. Entretanto, os
resultados das consultas podem ter valores que levem a uma inferncia com alguma
margem de erro. Por isso, uma medida de segurana a de no permitir consultas
estatsticas quando o nmero de tuplas da populao ficar abaixo de um limiar.
Controle de fluxo
O controle de fluxo o responsvel pela distribuio das informaes entre os
usurios que tm permisso de acesso a elas. Alm disso, ele tambm o responsvel por
verificar se os usurios que recebem as informaes tm permisso para receb-las.
Voc se lembra das classes de segurana apresentadas no tpico anterior? Pois
bem, os controles de fluxo empregam o conceito de classes de segurana, o que significa
que quando uma informao enviada de um emissor a um receptor, a classe de segurana
do receptor deve ter, no mnimo, o mesmo privilgio que o da classe do emissor.

Banco de Dados CRC


Batatais Claretiano

115

UNIDADE 7
Cursos de Graduao

Assim, quem determina por onde a informao devem caminhar a poltica


de fluxo. Por exemplo, se as informaes pertencerem s classes Confidencial e
No Confidencial, somente no ser permitido o fluxo de uma informao da classe
Confidencial para a classe No Confidencial.
Criptografia

INFORMAO
COMPLEMENTAR:
O governo dos Estados Unidos
desenvolveu um sistema
Padro de Criptografia
de Dados que tem sido
bastante aceito como padro
de criptografia. Trata-se de
um algoritmo que combina
substituio e permutao,
duas tcnicas utilizadas na
construo de criptografia.
Mensagens do tipo texto so
cifradas em blocos de 64 bits
(tamanho da chave), embora
j haja outros padres mais
avanados, que trabalham com
blocos de 128 bits.

A criptografia um mtodo que consiste em cifrar dados, de forma que eles


fiquem disfarados e no possam ser compreendidos, caso sejam acessados por algum tipo
de usurio sem permisso, alm de manter os dados seguros em um ambiente inseguro.
O processo consiste na aplicao de um algoritmo de criptografia, com o uso
de uma chave de criptografia. Depois, para voltar os dados ao estado original, os dados
so decifrados, por meio de uma chave de decriptografia. Quando uma mensagem
criptografada enviada a um destinatrio, somente ele possui a chamada chave secreta,
com a qual poder ler a mensagem.
As assinaturas digitais utilizam tcnicas de criptografia. Uma assinatura digital
uma cadeia de smbolos. Ela deve associar um smbolo a uma pessoa, em um texto, de
forma que esse smbolo permita que outras pessoas identifiquem o dono da assinatura.
Entretanto, a assinatura digital no pode ser sempre a mesma para cada texto
em que ela aparece, pois seria alvo fcil de falsificao. Para que uma assinatura digital
seja prova de falsificao, ela depende da mensagem e de um nmero secreto, que
nico para o assinante. Isso significa que a assinatura digital ser criada com base em
cada nova mensagem, alm de um registro da data e da hora, que reforam a segurana
da assinatura digital.

11 CONSIDERAES
Esta unidade apresentou algumas tcnicas para a recuperao de dados em
banco de dados, em casos de ocorrncia de falhas, e, tambm, conceitos relacionados
segurana dos dados.
Os dois assuntos so de extrema importncia quando se trata de sistemas de
bancos de dados.
A recuperao refere-se a retornar os dados ao seu estado original no banco de
dados, caso uma transao falhe. Pode, tambm, estar relacionada a problemas fsicos
com o meio de armazenamento, como, por exemplo, um problema no disco em que os
dados estiverem gravados.
PARA VOC REFLETIR:
Voc consegue pensar nas
conseqncias que as falhas
na segurana dos dados de
uma empresa podem trazer?
Tente relacion-las s formas de
manter a segurana dos dados,
evitando, assim, prejuzos. Reflita
a respeito e compartilhe suas
reflexes com seus colegas de
turma.

116

A questo da segurana trata-se de manter a integridade e a confidencialidade


de informaes. H diferentes tcnicas que so aplicadas de acordo com a necessidade de
segurana para as informaes a serem acessadas.

CRC Banco de Dados


Claretiano Batatais

UNIDADE 7
Cursos de Graduao

12 REFERNCIAS BIBLIOGRFICAS
ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. 4. ed. So Paulo: Pearson
Addison Wesley, 2005.
SILBERSCHATZ, A. et al. Sistema de Banco de Dados. 3. ed. So Paulo: Makron Books,
1999.

Banco de Dados CRC


Batatais Claretiano

117

Anotaes