Sei sulla pagina 1di 3

Trabalhando com Shadows no Firebird

Autor: Alexandre Magno

O que so Shadows Shadows no Firebird um recurso de sombreamento de arquivos de banco de dados para preveno de "crash" em disco rgido, falha de rede ou deleo do banco. Fala-se muito sobre vantagens e desvantagens no uso de shadows, nesse artigo pretendo esclarecer algumas dvidas quanto a vantagens, desvantages, performances, entre outros.

Vantagens do uso Sem dvida a maior vantagem de se trabalhar com shadows est ligada segurana. Problemas de falha em disco rgido ou remoo indevida de arquivos GDB so facilmente contornados, quando voc tem uma "shadow" ela uma cpia idntica do seu arquivo de banco de dados que pode rapidamente ser ativada e tomar o papel do banco. No momento da criao das shadows voc pode estar com usurios conectados, ou seja, neste momento no necessrio o uso exclusivo do banco. Shadows no requerem nenhuma manuteno ou administrao.

Limitaes No confudam o processo de shadows com replicao. Shadows s escrevem em uma via, duplicando sempre no banco mestre a operao escrita. Aplicaes client no podem acessar a shadow diretamente. Shadow so usadas somente para segurana de erros que envolvam hardware ou acidental remoo do banco de dados. Erros de usurios ou corrupo no banco sero duplicadas na shadow. Ou seja, shadow no substitui um backup regular. Voc s pode utilizar shadows em discos locais. Shadows em arquivos de sistema NFS ou em drive mapeado no so suportadas. Tambm no so suportadas shadows em fitas ou em qualquer outro tipo de mdia.

Desvantagens Alm das limitaes, a maior desvantagem de shadows a perda de performance. Testes feitos em um banco com cerca de 700.000 a 1.000.000 de registros mostraram uma queda de 18 a 30% na performance, mdia esta que variou dependendo da operao realizada e do tamanho das transaes envolvidas.

Quando us-las Shadows devem ser utilizadas somente se o banco estiver envolvido em operaes onde seja impressindvel a disponibilizao de informaes em "real time", em outras palavras, se sua empresa faz um backup dirio e no tem uma forte necessidade de aplicaes em "real time" provavelmente voc no usar shadows. Tambm necessrio o uso de shadows se voc tem uma disco de servidor um tanto "no-confivel", lembre-se que shadows so bastante eficientes para solucionar problemas de perda do arquivo GDB por problemas de disco rdido ou por remoo do arquivo. tambm uma boa prtica a utilizao de shadows em parques com rede ponto-a-ponto, pois nesta arquitetura voc no poder dar a segurana necessria para seu arquivo GDB.

Quando no us-las Antes de decidir por uma utilizao de shadows, voc deve estar certo das suas limitaes. No utilize shadows quando velocidade for primordial para seu banco. Tambm no as utilize se voc no tenha um servidor bastante rpido, como sabemos ao utilizar shadows voc compromete a velocidade das operaes de banco, isso se torna cada vez mais real dependendo das configuraes de sua mquina servidora.

Criando uma Shadow Se for uma shadow baseada em arquivo nico: CREATE SHADOW 1 'D:\Shadows\MyBase.SDW' Se for uma shadow baseada em mltiplos arquivos: CREATE SHADOW 1 'D:\Shadows\MyBase.SDW' LENGTH 1000 FILE 'D:\Shadows\MyBase1.SDW'; Onde 1 representa um ID para a shadow, isto til quando voc tem mais de uma shadow distribudas em HD's.

Modo AUTO x Modo MANUAL Na criao de uma shadow voc pode ainda especificar um modo de funcionamento que ser adotado por esta shadow quando ela assumir o papel do banco. O default AUTO, veja abaixo como cada uma se comporta:
AUTO: A partir do momento em que a shadow for ativada o banco volta a funcionar perfeitamente.

Nota-se que neste modo o banco voltar a funcionar sem uma nova shadow.
MANUAL: As operaes do banco ficam aguardando a criao de uma nova shadow. tarefa do DBA

criar uma nova shadow assim que a shadow que assumiu o papel do banco for ativada.
CONDITIONAL: Utilizando Conditional, no momento em que a shadow assumir o papel do banco de

dados uma nova shadow automaticamente criada. Um exemplo de uma shadow criada nos modos MANUAL e CONDITIONAL: CREATE SHADOW 1 MANUAL CONDITIONAL 'D:\Shadows\MyBase.SDW'

Ativando uma shadow Em algumas situaes, quando seu banco se tornar danificado sua shadow pode no ser ativada automaticamente. Para contornar este problema o DBA dever utilizar o utilitrio GFIX para ativar a shadow como mostro a seguir: gfix -a 'C:\Dados\Shadows\MyBase.SDW'

Removendo uma shadow O ID da shadow novamente necessrio aqui, voc precisar dele para remover a shadow. Veja a

sintaxe: DROP SHADOW 1

Alterando uma shadow No h modo de alterar uma shadow, voc precisar remover a shadow e ento recri-la

Artigo Original Alexandre Magno


(Colaborador da CFLP)

amagno@argostecnologia.com

Comunidade Firebird de Lngua Portuguesa Visite a Comunidade em: http://www.comunidade-firebird.org

A Comunidade Firebird de Lngua Portuguesa foi autorizada pelo Autor do Original para divulgar este trabalho

Potrebbero piacerti anche