quarta-feira, 23 de julho de 2008

Backups Inteligentes

Realizar cópias de segurança é fácil. Difícil é restaurar e recuperar rapidamente os dados contidos em fitas backup. Principalmente quando o conteúdo das cópias de segurança são transformados pelo utilitário de backup no momento em que as cópias são geradas.

Processos de backup mudaram muito pouco nos últimos trinta anos. Esses basicamente copiam e restauram arquivos, sem envolver-se com regras de negócio ou preocupar-se com as questões relacionadas a disponibilidade.

Está muito na moda oferecer serviços 24×7 disponíveis. Manter serviços de banco de dados disponíveis o tempo todo nos dias de hoje é fácil. Difícil é acordos de nível de serviço desta natureza, quando ocorre algum incidente o qual a resolução dependa de recuperação de dados.

Atualmente já existem empresas optando por replicação dinâmica de bases de dados, utilizando técnicas de espelhamento remoto. A principal vantagem é o rápido restabelecimento de serviços, mesmo para bases de dados gigantescas. Cabe ressaltar que com espelhamento de bases de dados, o tempo de recuperação de bancos de dados não está relacionado ao tamanho do banco, mas uma infraestrutura com processo de recuperação de serviços bem-definida.

terça-feira, 15 de julho de 2008

Visão Geral do Oracle ASM

Automatic Storage Manager (ASM) é um gerenciador de volumes e ao mesmo tempo um sistema de arquivos para banco de dados Oracle o qual suporta configurações do tipo single-instance e RAC. O ASM é uma solução alternativa de gerenciamento de volume de discos, sistemas de arquivos e raw devices.

O ASM utiliza agrupamento de discos para armazenar arquivos de dados; um ASM disk group nada mais é do que uma coleção de discos os quais o ASM gerencia como se fosse apenas uma unidade de disco. Dentro de um disk group, os arquivos de banco de dados Oracle são apresentados em uma interface semelhante ao sistema de arquivos unix e linux. O conteúdo dos arquivos são eventualmente redistribuidos para evitar gargalos e garantir estabilidade de desempenho. Seu desempenho é semelhante ao desempenho de raw devices.

Voce pode adicionar ou remover discos de um disk group sem interromper o serviço de banco de dados. Quando você remove ou adiciona discos de um disk group, o ASM automaticamente redistribui os arquivos e, conseqüentemente elimina a necessidade de parada de serviços para redistribuição de conteúdos.

O gerenciador ASM possui flexíveis opções de espelhamento. ASM normal e alta redundância de disk groups, espelhamentos tipo two-way e three-way respectivamente. Permite o uso de redundância externa do tipo RAID.

O ASM também utiliza o Oracle Managed Files (OMF) para simplificar o gerenciamento de arquivos banco de dados. O OMF automaticamente cria os arquivos em sua respectivas pastas. Além disso, atribui nomes aos arquivos e remove-os, defragmentando áreas de disco, quando as tablespaces ou arquivos são excluídos.

O ASM simplifica as tarefas de administração de storage consolidando os dados de storage em um reduzido grupo de discos. Isso possibilita a unificação do storage para diversos bancos de dados e oferece melhorias de desempenhos dos processos de leitura e gravação em discos.

Os arquivos ASM podem ser configurados com outros gerenciadores de storage , como raw devices e sistemas de arquivos de terceiros. Isto simplifica a integração do ASM com os demais sistemas de armazenamento já existentes.

segunda-feira, 14 de julho de 2008

Atribuições de um DBA

O uso de aplicativos via Internet aumenta a cada dia e, consequentemente, cresce significativamente o surgimento de empresas de TI disponibilizando serviços de bancos de dados. Isto implica em contratação de serviços de administração de bancos de dados. Quais são as principais atividades de um DBA. Abaixo temos uma lista de atribuiçoes, a quais considero fundamentais para o dia-a-dia desse especialista.

Avaliação de Recursos de Hardware
Esta diretamente ligada a aquisições de hardware para suprir eventuais faltas de recursos ou atualização tecnológica. O papel do DBA é avaliar o impacto da mudança sobre os serviços de bancos de dados.

Instalação de Produtos
Embora os principais servidores de bancos de dados possuam excelentes programas instaladores, ainda é necessário que o DBA participe ativamente da instalação e configuração desses produtos.

Planejamento de Recursos de Banco
É importante entender como a estrutura lógica de um banco afeta o desempenho do sistema e de diversas operações de gerenciamento de banco de dados.

Por exemplo, antes de criar as tablespaces é necessário definir quais e como os discos serão utilizados.

Criação e Disponibilização de Serviços
A criação de um banco ocorre quando há implementações de novos projetos, migrações e atualização de versões.

A disponibilização de serviços de banco é realizada pela gestão de ambientes TI, baseada em roteiros de comandos de inicialização de servicos.

Cópias de Segurança (Backup)
Embora a tecnologia de armazenamento em discos tenham evoluído bastante, antes de vender serviços de TI, certifique-se de que esses podem ser salvos em fitas backup.

Há diversos métodos de execução de backup. É importante que o método escolhido esteja de acordo com a política de backup definida no acordo de nível de serviços.

Controle de Acesso
Para administrar e ter controle de acesso aos serviços de banco de dados é necessário que o DBA tenha privilégios de superusuário, e, conseqüentemente ter condições de controlar os acesso dos demais usuários.

Ter privilégios de superusuário não significa ter acesso às informações de negócio, mas condições de realizar todas as tarefas de administração de de bancos de dados.

Implementação de Projetos de Banco
Implementar projetos de banco significa preparar o banco para uso a partir de aplicativos, criando ou atualizando os objetos desse aplicativo, tais como: tabelas, índices, procedimentos catalogados.

Desempenho de Serviços de Banco
Produzir e analisar relatórios sobre a saúde do banco de dados é uma das tarefas mais importantes, realizadas pelo DBA.

O principal objetivo dessa atividade é verificar se indicadores de desempenho estão de acordo com os níveis de serviços contratados pelo cliente.

Instalação de Patches
Não existem programas de computadores cem por cento corretos. Portanto, eventualmente é necessário corrigir esses programas instalando correções distribuídas pelos fabricantes.

Essa atividade pode ser realizada por demanda ou automaticamente, mas depende da análise do DBA sobre o impacto da mudança.

Clonagem e Migração de Serviços
A clonagem de serviços de banco muito utilizada em ambientes de TI que possuem vários servidores utilizando a mesma versão de produtos de banco.

Nas grandes empresas de prestação de serviços de TI, ocorre pelo menos uma migração de serviços de banco por semana. Portanto se você é um DBA, então já migrou ou vai migrar pelo banco de dados.


As atribuições listadas acima podem sofrer modificações, tudo depende da evolução tecnológica. Todavia, as grandes empresas são avessas à mudanças que possam comprometer seus negócios.

Processo de Instalação do Oracle Clusterware

O Oracle Clusterware é distribuído como parte integrante do produto Oracle Database. O Oracle Universal Installer (OUI) o instala em uma estrutura específica a qual pode referenciada como CRS_home. Devido ao fato do Oracle Clusterware realizar tarefas específicas do sistema operacional, há necessidade de conceder privilégios de superusuário para alguns de seus componentes

Antes de instalar o Oracle Clusterware, recomenda-se executar o Cluster Verification Utility (CVU) para certificar-se de que o ambiente possui todos os requisitos de instalação do Oracle Clusterware. O OUI também roda automaticamente o CVU ao final da instalação para verificar seus requisitos. Ele simplifica a instalação, configuração e demais tarefas pertinentes ao processo de instalação através de identificação de problemas relacionados ao ambiente clusterware.

Durante a instalação do Oracle Clusterware, deve-se identificar três endereços IP para cada node da arquitetura cluster. Um endereço IP para a interconexão privada e outro para a interconexão pública. O terceiro é um endereço IP virtual ao qual o cliente usará para conectar-se em cada instance.

O processo de instalaçao do Oracle Clusterware cria no storage os arquivos voting disk e OCR. Se selecionada a opção para redundância normal, então automaticamente o Oracle Clusterware manterá uma cópia desses arquivos para evitar o incidente Único Ponto de Falha. A redundância normal evita também a necessidade de soluções de redundância normalmente oferecidas pelo fornecedor do ambiente storage. Quando usamos redundância normal, o Oracle Clusterware automaticamente mantém duas cópias do arquivo OCR e três cópias do arquivo voting disk.

Se você escolher redundância externa para gravação dos arquivos OCR e voting disk, então para que se tenha redundância é necessário configurar espelhamento RAID em seu subsistema de discos para o incidente evitar Único Ponto de Falha.

Visao Geral Sobre o Oracle Data Guard

Data Guard é um recurso de banco de dados Oracle, cujo objetivo é garantir alta disponibilidade, proteção e recuperação de dados corporativos. O Data Guard é composto de um pacote de serviços de criação, manutenção, gerenciamento e monitoração de um ou mais bancos de dados em modo de espera (standby), o que garante que bancos de dados de produção sobrevivam a desastres e corrupção de dados. O Data Guard mantém esses standby databases como cópias do banco de produção. Então, se um serviço de banco de dados de produção torna-se indisponível devido a uma interrupção, planejada ou não, o Data Guard pode redirecionar o serviço para o standby database, minimizando o downtime e os transtornos causados pela indisponibilidade do serviço.

Uma configuração Data Guard é composta de um banco de produção e de um ou mais bancos no modo espera. Os banco em uma configuração Data Guard são interligados via Oracle Net e dispersos geograficamente. Não há restrições sobre onde os bancos estão instalados, desde que haja comunicação entre eles.Uma configuração Data Guard contém um banco de produção, também conhecido como banco de dados primário. Esse banco é acessado por todas ou a maioria de suas aplicações e pode ter uma ou mais instâncias de banco.

Um banco de dados modo espera é uma cópia consistente de transações do banco de dados primário. Através de cópias do banco primário é possível criar até nove bancos modo espera e incorporá-los a uma configuração Data Guard. Uma vez criados, o Data Guard automaticamente mantém esses bancos atualizados aplicando todas a modificações ocorridas no banco primário. Assim como no banco banco primário, você pode ter uma ou mais instâncias de banco.

Os tipos de standby database são:

Standby database físico

É uma cópia idêntica do banco primário com estrutura de discos e de blocos idênticas. Os esquemas de banco, incluindo índices são idênticos. A estrutura do standby database é mantida através de aplicação arquivos de log de banco gerado pelo primary database. No Oracle11, essa aplicação de redo log files pode ser feita com o banco standby aberto no modo read-only.

Standby database lógico

Contém as mesmas informações do banco primário, embora a estrutura física e organização dos dados possa ser diferente. O sincronismo no standby database lógico é mantido através de aplicação comandos SQL. Isto é feito transformando o conteúdo dos redo log files recebidos do banco primário em comando SQL e então executados no banco standby.

Um standby database lógico pode ser usado para outros propósitos além de prevenção contra desastres. É possível realizar consultas e gerar relatórios a qualquer momento. Um standby database lógico, pode ser utilizado para proteção dos dados, geração de relatórios e upgrade de banco de dados.

Snapshot Standby Database

É uma cópia de um standby database físico. Este também recebe redo log files, mas não os aplica imediatamente. Isto é feito somente no momento em que se deseja criar um novo standby database físico.

Um snapshot standby database é útil quando se deseja realizar temporariamente alterações em standby database físico ou lógico. O tempo de transformação de snapshot standby database em standby database físico ou lógico depende da quantidade de archived log files a serem aplicados.

Em algumas situações, um negócio pode não aceitar perda de dados devido às circunstâncias do momento. Em outras situações, a disponibilidade do serviço de banco de dados pode ser mais importante do que qualquer potencial perda de dados. Algumas aplicações necessitam o máximo de desempenho o tempo todo e podem tolerar pequenas perdas de dados.
O modo Disponibilidade Máxima fornece o mais alto nível de proteção possível sem comprometer a disponibilidade do database primário. Transações não são efetivadas até que todos os dados do redo log buffer tenham sido gravadas no standby database. Se o database primário não puder gravar seus redo logs em pelo menos um standby database, ele automaticamente muda para desempenho máximo e opera nesta modalidade até que consiga gravar no standby database.Essa modalidade previne a perda de dados, exceto em caso de dupla falha, ou seja, bancos primário e standby database falharem em seqüência.

A modalidade Máximo Desempenho, garante o mais alto nível de proteção possível dos dados sem afetar o desempenho do banco de dados primário. Isto é conseguido permitindo que transações sejam efetivadas tão logo os redo logs gerados por aquelas transações sejam escritas no banco standby. Isto é feito no modo assíncrono e, portanto, evita que atrasos na gravação de redo log files no standby database afete o desempenho do primary database.

O modo Proteção Máxima garante que nenhum dado será perdido se o banco de dados primário falhar. Para fornecer este nível de proteção, os dados de redo necessários a recuperação tem que ser gravados no redo log file e em pelo menos um standby database antes da transação ser efetivada. Para garantir que a perda não ocorra, o banco de dados primário opta por encerrar seus serviços realizando automaticamente um shutdown no banco primário.

Arquitetura e Processamento em Oracle Clusterware

O Oracle Clusterware é um software que quando instalado servidores de mesmo sistemaopracional, permitem que esses servidores trabalhem como se fossem apenas um servidor. O Oracle Clusterware necessita de dois componentes: Um voting disk para gravar informações sobre o node membership e o Oracle Cluster Registry (OCR) para gravar informações sobre a configuração do cluster. Voting disk e OCR tem que residir um mesmo storage compartilhado. O Oracle Clusterware necessita que cada node seja conectado a uma rede privada através de interconexão privada.

A interconexão privada é uma rede separada a qual deve ser configurada entre os nodes participantes do cluster. Esta interconexão, a qual é requisitada pelo Oracle RAC, pode ser a mesma rede utilizada pelo clusterware, mas a interconexão não devem ser acessadas por nodes que não fazem parte do cluster.

A Oracle recomenda a redundância de interconexão para evitar que esta se transforme em único ponto de falha. Ela recomenda também o uso do User Datagram Protocol (UDP) sobre Gigabit Ethernet na configuração de interconexão do cluster. Cabos crossover não são suportados pelo Oracle Clusterware e nem pelo Oracle RAC.

O Oracle Clusterware gerencia os nodes do cluster e evita que uma ou instances tente controlar o acesso ao banco RAC. Isto pode ocorrer em falha na comunicação entre nodes via interconexão.

A arquitetura Oracle Clusterware suporta alta-disponibilidade através de reinicialização automática de componentes do cluster. O Oracle clusterware pode reiniciar automaticamente um node com objetivo de evitar que a indisponibilidade daquele node comprometa disponibilidade ambiente como um todo. Em um ambiente Oracle RAC, todos os componentes estão sobre o controle do Oracle Clusterware. O Oracle Clusterware também fornece uma API que permite o controle de outros processos Oracle.

DBA: Oracle RAC e Oracle Clusterware

Um cluster é composto de múltiplos computadores ou servidores interligados, mas que aos olhos dos usuários e aplicação aparentam ser apenas um servidor ou computador. O Oracle Database Real Cluster Application (Oracle RAC) possibilita a clusterização de bancos de dados Oracle. O Oracle RAC utiliza o Oracle Clusterware na criação da infraestrutura de interligação de multiplos servidores para estes trabalhem de forma sincronizada, como se fosse um único sistema.

O Oracle Clusterware é uma solução portável de gerenciamento de cluster e é um componente indispensável ao uso do Oracle RAC. Além disso, o Oracle Clusterware pode ser usado em single instance e RAC para ambientes que necessitem alta-disponibilidade. O Oracle clusterware possibilita a criação de um pool de storage para uso de sngle-instance e RAC databases.

Para utilizar o Oracle Clusterware é necessário que o sistema operacional esteja certificada para Oracle RAC. Todavia você pode utilizar clusterware de terceiros, caso estejam certificados para Oracle RAC.

O relacionamento entre banco e single-instance é de 1 para 1. Em ambientes Oracle RAC, esse relacionamento é de 1 para vários. Combinar capacidade de processamento de múltiplos servidores pode resultar em aumento significativo de taxa de transferência, de escalabilidade e de disponibilidade. Em ambientes Oracle RAC, cada instance normalmente roda em servidores separados.

A tecnologia Oracle RAC permite alta-disponibilidade e escalabilidade para todos os tipos de aplicação. A infraestrutura Oracle RAC é fundamental para implementação de arquitetura grid. Com o Oracle RAC é possivel agrupar pequenos servidores transformando-os em cluster. Isto resulta na criação de ambientes escaláveis e que podem suportar aplicativos de missão crítica, sem alteração de códigos.

domingo, 13 de julho de 2008

Internet e Disponibilidade de Serviços

Serviços de bancos de dados e a Internet tem possibilitado o compartilhamento de informações extendendo o acesso à aplicações de banco de dados a organizações e comunidades em todo o mundo. Esta extensão ressalta a importância da alta-disponibilidade em soluções de gestão de dados. Tanto os pequenos negócios quanto empresas multinacionais possuem usuários espalhados pelo mundo e, conseqüentemente necessitam acessar bases de dados 24 horas por dia. Sem acesso às bases de dados, operações param, vendas são perdidas. Os usuários tornaram-se mais dependentes dessas soluções, conseqüentemente agora demandam acordos de nível de serviço que diretamente relacionados a departamentos de tecnologia da informação.

Empresas tem usado a infraestrutura de TI para oferecer vantagem competitiva, aumentam a produtividade, encorajam usuários tomar decisões mais rápidas e baseadas em informações precisas. Todavia, com esses benefícios aumenta a dependência da infraestrutura. Se uma aplicação crítica torna-se indisponível, então todo o negócio pode transformar-se num jogo da sorte. Vendas e clientes podem ser perdidos, penalizações e multas podem ser aplicadas, a imagem da empresa pode ser afetada e conseqüentemente causar perdas no mercado de ações.

Indicadores de disponibilidade mede a disponibilidade de uma aplicaçao, serviço ou funcionalidade. Esses indicadores são mensurServiços de bancos de dados e a Internet tem possibilitado o compartilhamento de informações extendendo o acesso à aplicações de banco de dados a organizações e comunidades em todo o mundo. Esta extensão ressalta a importância da alta-disponibilidade em soluções de gestão de dados. Tanto os pequenos negócios quanto empresas multinacionais possuem usuários espalhados pelo mundo e, conseqüentemente necessitam acessar bases de dados 24 horas por dia. Sem acesso às bases de dados, operações param, vendas são perdidas. Os usuários tornaram-se mais dependentes dessas soluções, conseqüentemente agora demandam acordos de nível de serviço que diretamente relacionados a departamentos de tecnologia da informação.

Empresas tem usado a infraestrutura de TI para oferecer vantagem competitiva, aumentam a produtividade, encorajam usuários tomar decisões mais rápidas e baseadas em informações precisas. Todavia, com esses benefícios aumenta a dependência da infraestrutura. Se uma aplicação crítica torna-se indisponível, então todo o negócio pode transformar-se num jogo da sorte. Vendas e clientes podem ser perdidos, penalizações e multas podem ser aplicadas, a imagem da empresa pode ser afetada e conseqüentemente causar perdas no mercado de ações.

Indicadores de disponibilidade mede a disponibilidade de uma aplicaçao, serviço ou funcionalidade. Esses indicadores são mensurados pela percepção do usuário final. Usuário detestam indisponibilidade de dados e, em geral, não entendem ou se preocupam em diferenciar complexidades entre componentes.

Confiabilidade, recuperabilidade, tempo de detecção de erro e monitoração contínua dos serviços são características primárias de soluções de alta-disponbilidade. Um ambiente de alta-disponibilidade deve ser transparente a maioria da falhas, prover rotinas, pre-definidas, de medição preventiva, prover monitoração proativa e rápida identificação de falhas, recuperação rápida e automatizada, proteção de dados para evitar perdas indesejáveis, implementar melhores práticas de gestão de TI, prover alta-disponibilidade para cumprir acordo de níveis de serviço.

A importância da alta-disponibilidade varia de uma aplicação para outra. Todavia, a necessidade de oferecer melhoria nos níveis de disponibilidade aumenta a cada dia, com o objetivo de prover vantagens competitivas. Na maoria dos casos, novas solução são baseadas em acesso a dados de negócio. Quando o dado não é acessado, há possibilidade de interrupções em fucionalidades da aplicação. Incidentes desta natureza podem causar queda de produtividade, afetar o relacionamento com clientes, publicidade negativa, ações judiciais.

Quando uma aplicação do tipo missão-crítica torna indisponível, empresas são colocadas na berlinda. Nem sempre é fácil calcular da queda de níveis de serviços. Consumidores insatisfeitos, empregados parados e publicidade negativa casam prejuízos não mensuráveis em moeda.

As empresas sabem da importância da alta-disponibilidade de serviços de TI. Conseqüentemente, cada dia investem mais em soluções de segurança em infraestrutura, embora saibam que investir somente em TI não é tudo. Por exemplo, uma eventual greve dos Correios pode afetar profundamente os negócios de empresas que utilizam esse serviço para vender seus produtos via Internet, mas isto já é um outro assunto.ados pela percepção do usuário final. Usuário detestam indisponibilidade de dados e, em geral, não entendem ou se preocupam em diferenciar complexidades entre componentes.

Confiabilidade, recuperabilidade, tempo de detecção de erro e monitoração contínua dos serviços são características primárias de soluções de alta-disponbilidade. Um ambiente de alta-disponibilidade deve ser transparente a maioria da falhas, prover rotinas, pre-definidas, de medição preventiva, prover monitoração proativa e rápida identificação de falhas, recuperação rápida e automatizada, proteção de dados para evitar perdas indesejáveis, implementar melhores práticas de gestão de TI, prover alta-disponibilidade para cumprir acordo de níveis de serviço.

A importância da alta-disponibilidade varia de uma aplicação para outra. Todavia, a necessidade de oferecer melhoria nos níveis de disponibilidade aumenta a cada dia, com o objetivo de prover vantagens competitivas. Na maoria dos casos, novas solução são baseadas em acesso a dados de negócio. Quando o dado não é acessado, há possibilidade de interrupções em fucionalidades da aplicação. Incidentes desta natureza podem causar queda de produtividade, afetar o relacionamento com clientes, publicidade negativa, ações judiciais.

Quando uma aplicação do tipo missão-crítica torna indisponível, empresas são colocadas na berlinda. Nem sempre é fácil calcular da queda de níveis de serviços. Consumidores insatisfeitos, empregados parados e publicidade negativa casam prejuízos não mensuráveis em moeda.

As empresas sabem da importância da alta-disponibilidade de serviços de TI. Conseqüentemente, cada dia investem mais em soluções de segurança em infraestrutura, embora saibam que investir somente em TI não é tudo. Por exemplo, uma eventual greve dos Correios pode afetar profundamente os negócios de empresas que utilizam esse serviço para vender seus produtos via Internet, mas isto já é um outro assunto.