quinta-feira, 21 de agosto de 2008

Comportamento De Tabelas Oracle

Tabelas oracle são segmentos, um segmento pode conter um ou mais extents e um extent pode conter um ou mais blocos. A quantidade de extents é definida em tempo de criação do segmento e pode aumentar na medida em mais blocos são alocados.

O SQL abaixo mosttra quantos extents e blocos há em um tabela.

SELECT segment_name,
extent_id ,
block_id
FROM dba_extents
WHERE dba_extents.segment_name = ‘PAGAMENTOS’
AND segment_type = ‘TABLE’;

Essas informações são importantes para a definição do comportamento de segmentos. Para tabelas muito grandes é recomendável definir extents maiores, se possível apenas 1. Recomenda-se colocar esses segments em tablespaces com blocos maiores.

O controle do crescimento e do encolhimento de tabelas e índices, resulta em melhor desempenho do banco em processamento de grande volume de dados, pois ao alocar ou desalocar um bloco ou um extent o banco de dados oracle necessita realizar updates de diversos registros em seu dicionário de dados. O tempo de execução desses updates está diretamente relacionado a quantidade de extents e blocos de um segmento de banco de dados.

domingo, 17 de agosto de 2008

Recuperação Pós-Desastres

Quando pensamos em sites backup, visualizamos um prédio em uma cidade à quilometros de prédio onde está localizado o site primário. Quando pensamos em backup, visualizamos cópias de arquivos de bancos de dados ou de servidores de aplicação gravados em fitas magnéticas guardadas no site local.

Ambos são métodos de backups e podem ser executados em ambientes locais ou remotos. A vantagem do método de gravação em sites backup está no tempo de recuperação de serviços. Backups convencionais são orientados a recuperação preventiva. Sites backup são destinados a recuperação pós-desastres (disaster recover), mas também podem substituir backups convencionais.

Na empresa em que trabalho existe um banco de dados Oracle, cujo tamanho é de aproximadamente 400 terabytes. Restaurar arquivos backups e recuperar bancos muito grandes pode demorar uma quantidade de tempo não compatível com os níveis de serviço e contratos firmados com o cliente.

Para garantir alta-disponibilidade em base de dados muito grandes é necessário certificar-se de que os métodos de recuperação de serviços de bancos de dados sejam compatíveis com os níveis de serviço exigidos pela aplicação.