Você está na página 1de 10

IV Congresso Brasileiro de Computação CBComp 2004 Brasil

Tecnologia de Grid Computing utilizando Banco de Dados Oracle


C. H. P. de Oliveira
FIAP - Faculdade de Informática
e Administração Paulista,
Brasil,
cpoderoso@fiap.com.br

RESUMO

C. H. P. de Oliveira. 2004. Tecnologia de Grid Computing utilizando Banco de Dados Oracle. Congresso Brasileiro
de Ciência da Computação, Itajaí, 2004, 903 – 912. Itajaí, SC – Brasil, ISSN 1677-2822

A velocidade com que a tecnologia avança muitas vezes assusta mesmo os mais entusiastas profissionais de
informática. Mesmo com equipamentos cada vez mais potentes, sempre estamos precisando de mais velocidade e
agilidade para nossas aplicações. Compra-se cada vez mais equipamentos e cada vez mais rápido eles deixam de
atender nossas necessidades. Os negócios (e naturalmente a necessidade de informações) adquirem uma dinâmica
jamais imaginada e nós, profissionais de TI, temos que responder a estas requisições. Por outro lado, as empresas
adotaram modelos compartilhados, fugindo do padrão centralizado exatamente para melhorar e dinamizar o fluxo da
informação na empresa. Porém, como melhorar a qualidade da informação disponibilizada em um ambiente tão
heterogênio e complexo? Como garantir o controle das operações se os recursos estão esparsos pela empresa? A estas
questões a tecnologia de Grid procura achar respostas.
A Oracle, líder mundial em vendas de bancos de dados relacionais e uma das maiores empresas de informática do
mundo, procura com a versão Oracle Database 10g busca prover recursos para que empresas de qualquer porte
possam ter acesso a esta tecnologia. Neste caso, a grande questão é saber se o produto está maduro e em condições de
atender este objetivo.

PALAVRAS DE INDEXAÇÃO ADITIONAIS: centralização, descentralização, compartilhamento, Oracle


Database 10g,cliente-servidor, internet, colaboração, infraestrutura, enterprise grids, service grids, autocorreção,
autodiagnóstico

GRID COMPUTING possível atender melhor as necessidades de informação dos


A evolução dos equipamentos de informática tem sido fantástica usuários?
nos últimos tempos. Passamos de grandes para pequenos Estas questões podem parecer muito recentes e para muitos bem
computadores sem perder a qualidade e velocidade de pouco importantes, mas o conceito de grid computing, que pode
processamento. As empresas descentralizaram seus departamentos ser entendido como uma computação por demanda, é
de informática, fazendo com que o usuário seja o responsável pela relativamente antigo. Consta que em 1965, no MIT, foi idealizada
sua própria informação. uma infraestrutura computacional que seria como uma companhia
Com isso a tecnologia deixou de ser uma "ilha" para fazer parte elétrica, telefônica ou de abastecimento. É exatamente esta a
do dia-a-dia das pessoas. As pessoas passaram a exigir mais dos forma que se espera que seja a informática daqui a algum tempo:
sistemas. O usuário comum passou a conhecer ferramentas e os altos investimentos em infra-estrutura e servidores ficariam por
técnicas que antes apenas profissionais conheciam. conta de algumas empresas que forneceriam e cobrariam pelo
Esta mudança no perfil do usuário o deixou muito mais exigente serviço prestado. O usuário simplesmente requisita o serviço
do que antes. Informações importantes começaram a transitar quando necessita dele. Claro que isso será uma evolução e não
pelos departamentos das empresas com mais rapidez, porém com uma revolução. Ninguém em sã consciência seria capaz de
menos segurança. Os sistemas cliente-servidor mostraram-se permitir compartilhar seus recursos ou utilizar recursos alheios
eficazes, porém com alto custo de manutenção devido a sem ter a certeza de que a informação será preservada e mantida
configuração de equipamentos, atualização de sistemas em completo sigilo.
operacionais, treinamento de usuários, entre outros. Diariamente nas empresas nos deparamos com situações em que
Com o surgimento da internet, os sistemas começaram a estamos utilizando pouco ou muito de um determinado
retornar aos grandes servidores e estão disponibilizados equipamento, seja ele o computador local de um usuário ou o
mundialmente com uma velocidade aceitável. A visão de um servidor da empresa. O grande problema é que hoje em dia o
sistema em três ou mais camadas parecia atender plenamente parque de servidores (e computadores de um modo geral) nas
todos os requisitos da informação nas empresas, em especial as de empresas são dimensionados para o pico de utilização. Desta
grande porte. forma, ainda que precisemos de um servidor trabalhando a plena
Hoje em dia, diversos computadores, muitos com alta capacidade apenas algumas horas ou dias por mês, temos que tê-lo
capacidade de armazenamento e processamento, são mal durante todo o mês sendo subutilizado na maior parte do tempo.
utilizados. Em boa parte do tempo eles permanecem ociosos. Seria Isso faz com que a subutilização seja um fato aceito na maior parte
possível extrair destes equipamentos o máximo de desempenho das empresas.
sem prejudicar suas atividades normais? Fazendo isso, seria Imagine aqueles períodos do mês em que há maior necessidade
de informação e processamento na sua empresa. Seja pelo
Tecnologia de Grid Computing utilizando Banco de Dados Oracle

fechamento contábil, folha de pagamento ou programação de pudesse confiar em uma única usina para fornecer energia. Caso
produção, sempre há um momento na organização em que é aquela usina falhasse, todo o sistema estaria comprometido.
necessário utilizar e priorizar os recursos para determinada tarefa. Ao criar diversas fontes de processamento com um
Agora imagine que, neste exato momento, seu servidor está gerenciamento adequado de replicação e tolerância a falhas, caso
ocupado com as rotinas usuais da empresa. Você tem que uma das fontes tenha qualquer problema, outra automaticamente
compartilhar a sua necessidade extrema com procedimentos que assume a posição e o processamento continua com pouquíssima
poderiam ser adiados, sem prejuízo para companhia. Pior que isso: repercussão na rede.
sua empresa possui diversos computadores espalhados em rede e a Do ponto de vista dos usuários, o acesso aos dados e aos
maior parte deles sequer percebe que você está precisando recursos em geral deve ser realizado sem que alguém seja
urgentemente daquela informação que é extremamente importante notificado e nem mesmo o usuário que requisitou deve saber (ou
naquele momento. Você tem recursos, só que eles não podem ser se preocupar) onde está ou quem processa a informação. Na
utilizados de maneira inteligente quando uma situação especial realidade, o usuário apenas solicita um processamento. Quem,
está acontecendo. onde, quando são respostas que o grid resolve sozinho, sem
Conforme cresce a necessidade de informação e processamento interferência e mesmo sem prestar contas ao usuário final. Mais
da empresa, o custo de aumentar a capacidade de processamento e uma vez comparando com a distribuidora de energia elétrica, não
armazenamento torna-se muito grande. Mesmo tomando cuidado nos importa de qual usina veio a eletricidade que estamos
para não aumentar desnecessariamente o parque operacional da utilizando. Importa-nos utilizar a energia e que ela esteja
empresa, é natural que em determinados momentos haja falta de disponível quando precisamos dela.
recursos e isso acabe por gerar atrasos na entrega da informação Do ponto de vista da informática, para atingirmos este patamar
necessária. Mais cedo ou mais tarde as empresas acabam por é necessário a utilização de padrões abertos para implantação de
render-se à necessidade de atualização dos servidores, aumentando grids. Como imaginar um grupo de usuários tendo que utilizar
ainda mais os recursos ociosos da organização. sistemas específicos para se beneficiar do grid? Claro que para
No conceito de computação por demanda, ou grid computing, a tirarmos vantagens de algumas tecnologias podemos ter algumas
idéia é que os recursos sejam dinamicamente realocados para diretrizes que são melhores aproveitadas em determinado sistema
atender as necessidades do sistema na hora em que eles realmente operacional, por exemplo. Determinados tipos de redes podem
precisam. Em outras palavras, seria possível compartilhar seus atender melhor algumas solicitações. Porém, a maior vantagem é
recursos e necessidades através dos diversos equipamentos da exatamente poder utilizar qualquer recurso em qualquer tempo e
empresa. Parece um mundo perfeito para informática, mas não é através de qualquer meio. Isso só é possível quando pensamos em
nenhuma novidade para outras áreas do conhecimento. Afinal, uma indústria que seja capaz de adotar e seguir padrões, pois
quando precisamos utilizar a energia elétrica não nos importamos muitos servidores do meu grid podem não utilizar meu sistema
como nem quem está nos fornecendo. Apenas acionamos o operacional, banco de dados ou mecanismo de storage.
interruptor e a luz estará disponível. O mesmo se dá com água, A forma de unir coisas tão heterogêneas é exatamente o padrão
telefone, etc. que a indústria venha a seguir. A não adoção de padrões, no
Mais do que isso, estendendo este conceito para diversas mínimo para determinados segmentos, seria o mesmo que permitir
empresas ou mesmo empresas globais, podemos utilizar recursos às pessoas que utilizam os serviços de telefonia a utilização de
ociosos em diferentes países em horários de pouca ou nenhuma apenas um tipo de telefone. Algo que além de representar o perigo
utilização. É o caso de uma empresa que tenha escritórios em de um oligopólio, poderia inviabilizar determinados recursos.
diferentes países, Brasil e China, por exemplo. Os computadores Um grid deve ser capaz de gerir diferentes tipos de requisições
brasileiros poderão ser utilizados para processamento durante a e direcionar a solução para a melhor alternativa de recursos
noite, exatamente quando na China é dia. Resultado: menos disponível.
necessidade de investimento em hardware e melhor utilização dos
recursos. Imaginando grandes fornecedores de infraestrutura de Vantagens do Grid
hardware e software, pode-se concluir que os investimentos nestas
grandes ilhas de processamento poderiam ser melhores
Montar uma rede com porte para atender a estas diversas
aproveitadas.
demandas só foi possível no final da década de 90. Projetos de
comunidades científicas e voltadas à engenharia têm sido
O que é Grid Computing? desenvolvidos desde então.
Comunidades específicas, como universidades e laboratórios de
Inicialmente foi um termo utilizado para indicar uma pesquisa têm maior chance de notarem, em um primeiro momento,
infraestrutura de computação distribuída visando auxiliar as vantagens de um grid. As bases de dados dessas comunidades
cientistas e engenheiros na solução de problemas mais complexos. acabam por serem utilizadas em conjunto, gerando e recebendo
Ampliando este conceito, podemos entender grid computing informações com maior agilidade.
como sendo um grupo de usuários compartilhando diversos As empresas podem reduzir custos de TI, pois manterão a
recursos utilizando redes de altíssima velocidade. Esta rede seria mesma infraestrutura de hardware com a máxima utilização. Com
capaz de atender a demanda pelas requisições e os recursos isso a qualidade e velocidade da informação disponibilizada são
deveriam estar sob o controle de algo que pudesse, muito maiores.
dinamicamente, distribuir o serviço de maneira a equilibrar esta A utilização de equipamentos desktop para realizar operações
equação. Contudo este centralizador de operações não poderia ser em conjunto com os servidores, dividindo o processamento
um controlador central único. Conceitualmente deve haver centralizado, fará com que os recursos da empresa sejam
diversos centralizadores de operações no grid para que todo o grid racionalizados.
não venha a falhar quando um centralizador de operações falhar. Uma outra grande vantagem é a possibilidade de prevenir-se de
Esta malha que se forma é que garante a segurança de todo desastres, uma vez que o grid deve manter mais de um centro de
sistema. Seria como se uma distribuidora de energia elétrica processamento e armazenamento.

904
Oliveira

Naturalmente nem todas as aplicações podem se beneficiar c.) Implantação global: este é o objetivo final,
desta tecnologia. As que tiram maior proveito são aquelas em que onde o grid será visto como um serviço disponibilizado
o processamento pode ser realizado em paralelo. Queries de banco por empresas especializadas. Mais uma vez, o padrão
de dados são exemplos típicos deste tipo de operação. Os bancos aberto e o controle descentralizado das operações serão
de dados comerciais já prevêm a possibilidade de paralelizar as fundamentais. O mecanismo de proteção deve atender
consultas. Em um grid, isso seria feito em diversos servidores aos requisitos mínimos de segurança e acesso às
simultaneamente. informações. Os grids devem ser interligados e serão
Com o avanço da internet e as novas tecnologias de geridos por grandes empresas de informática. Esta fase é
telecomunicação isto está se tornando cada vez mais próximo de conhecida como Service Grid.
ser utilizado em larga escala. Desta forma, pouco importa qual
equipamento resolveu sua requisição. O que realmente importa é Cluster x Grid
que a sua requisição foi atendida no menor prazo possível e
utilizando todos os recursos do grid.
Os sistemas baseados em cluster atendem, em parte, a este
Este conceito é exatamente o mesmo que utilizamos com a
conceito. Devido à semelhança de um de outro, é necessário
telefonia, por exemplo. Sempre que precisamos utilizar o telefone
diferenciar um cluster de um grid.
basta que o utilizemos. Assim também deverá ser, um dia, com as
Quando existe um compartilhamento de recursos gerenciado por
nossas informações e procedimentos. Do ponto de vista do
um único sistema, temos um cluster. O grid, por definição, não
usuário, tudo seria realizado desta forma: simples, pois elimina a
deve ter um controle único centralizado.
complexidade de se ter que administrar pesados recursos de
Como é possível notar, na fase de implantação local, um grid
informática e rápido, pois sua requisição será processada em
poderá ser confundido com um cluster. Mas nas fases seguintes,
diversos equipamentos dentro do grid.
isso não haverá margens às dúvidas.
Equipamentos, sistemas operacionais e bancos de dados já
Fases de Implantação utilizam clusters para agilizar o desempenho das aplicações,
tolerância às falhas e armazenamento de dados.
Conforme descrito anteriormente, a implantação de grids se Recentemente a IBM anunciou esforços para realizar em setores
dará em fases distintas, não necessariamente seguindo uma ordem específicos (petróleo, indústria química e educação entre outros)
determinada. Podemos classificá-las em três: uma super rede de computadores visando diminuir a necessidade
a.) Implantação local: grids locais podem atingir de novas aquisições de equipamentos. Utilizando PCs e sistemas
empresas de qualquer porte e otimizar a utilização de em clusters aliados a aplicativos específicos será possível
recursos ociosos. Distribuir o processamento entre os compartilhar estes recursos. Naturalmente nada seria realizado
computadores da empresa, armazenar informações e sem o auxílio de outros fornecedores, como os de rede, por
banco de dados serão os primeiros passos. As redes exemplo. Atualmente, toda linha de produtos da IBM tem
locais são suficientemente rápidas para se conseguir as funcionalidades para implementação de grid, com especial atenção
vantagens do grid. Nesta fase podemos imaginar para banco de dados DB2 e o sistema operacional Linux.
empresas com sedes em diferentes países utilizando A Sun coloca em seu Sistema Operacional diversos mecanismos
recursos espalhados pelo mundo. Naturalmente os para utilização de grids. O Linux também possui recursos
investimentos em infraestrutura de rede serão semelhantes. Diversos fornecedores de storage estão
necessários para garantir a agilidade do processamento e implementando soluções baseadas no conceito de grid, mas elas
distribuição. Neste grid não temos necessariamente estão restritas aos meios de armazenamento.
problemas de padronização de sistemas operacionais, A Oracle está lançando o Oracle Database 10g como uma
bancos de dados ou storage. O controle aqui pode ser solução para montar um grid envolvendo meios de
centralizado. Em termos de segurança, as informações armazenamento, bancos de dados, servidores de aplicação e
devem estar protegidas por mecanismos adequados de aplicações.
rede (como firewalls). Este tipo de grid é conhecido O marketing do grid é muito mais interessante hoje em dia do
como Enterprise Grid. que o cluster. Por este motivo diferenciar neste momento o que é
b.) Implantação regional: grids regionais serão grid do que ainda é cluster não é trabalho fácil. Ainda temos que
aqueles onde será possível compartilhar informação de nos manter no nível conceitual para diferenciá-los.
interesse de um grupo de pessoas, empresas, Para facilitar a análise, é possível citar alguns termos que
universidades. Pessoas com interesses comuns poderão permite diferenciar grid de cluster. Um grid pressupõe:
se beneficiar da troca de experiências e a.) Heterogeneidade: o ambiente em que está o
compartilhamento de recursos de computação. Aqui os grid deve ser o mais amplo e heterogêneo possível.
padrões farão a diferença. Não se pode limitar uma b.) Colaboração: todos os agentes de um grid
comunidade a utilização de determinados sistemas. Aqui devem permitir a colaboração entre seus recursos.
será necessário que as entidades possam utilizar c.) Coordenação: cada recurso deve manter uma
diferentes sistemas operacionais, controle de rede, banco estrutura independente de coordenação, mas integrados
de dados e armazenamento. O controle não pode ser aos demais membros do grid e coodenados por um
centralizado. Em termos de segurança, será necessário centralizador de operações. O ideal é que haja um
manter mecanismos de acesso restrito entre os membros pequeno número de grandes servidores. Desta forma,
da rede. Devido a complexidade e importância das realocar os recursos dinamicamente é um trabalho mais
informações, este é um capítulo a ser tratado com muito fácil de se realizar do que manter diversos e pequenos
cuidado. Por definição os dados estarão disponíveis servidores dispersos pela rede.
remotamente e o acesso deve ser controlado para evitar d.) Compartilhamento de Recursos: os recursos
ataques externos. do grid devem ser conhecidos e compartilhados na rede.
Este compartilhamento deve seguir regras e padrões

905
Tecnologia de Grid Computing utilizando Banco de Dados Oracle

adotados no grid. Os recursos devem ser dinamicamente contudo, é uma realidade nos dias atuais. Para isso diversas
realocados atendendo às solicitações das aplicações. Isso normas são garantidas pelos fornecedores.
quer dizer que, em caso de pico de utilização, os Ao ampliar isso para locais que sequer é possível saber onde
recursos devem ser dirigidos para atender as solicitações está o processamento e a informação é natural que o compromisso
e, assim que esta necessidade for atendida e o entre as partes seja muito maior.
processamento for concluído, estes mesmos recursos Note que, na implantação global, empresas concorrentes
devem estar disponíveis para outras requisições. poderão compartilhar o mesmo pool na demanda de informática.
e.) Organizações Virtuais: são grupos de Muitos analistas consideram que isso não é problema já que existe
recursos e/ou pessoas que possuem um objetivo comum uma tendência para que a concorrência não se dê individualmente
e podem se reunir em torno do grid para troca e entre as empresas, mas sim entre cadeias e redes de valor
complemento de informações. Isso faz com que haja integradas. Aqui se pode notar que a implantação deste modelo
uma quebra entre os recursos e suas aplicações. não se trata apenas de uma questão tecnológica, mas sim de
Ainda que um cluster possa possuir algumas dessas mercado.
características, somente um grid possuirá todas.
É possível implantar já um Grid?
O que é necessário para um Grid?
Neste momento fica claro que um grid será utilizado em um
Está claro que um grid é uma infraestrutura de sistemas que visa conjunto de computadores, discos e redes e que tudo isso será
garantir melhor uso dos recursos de informática. Com este gerenciado por algum software. Se pensarmos apenas em uma
conceito, as regras que antes mantinham conexões físicas entre os empresa, vamos concluir que podemos, desde que tenhamos o
clientes e os diversos servidores, seja de arquivos, banco de dados software adequado, obter ganhos ao compartilhar os recursos que
ou armazenamento, podem ser gerenciadas pelo grid. Com isso é já estão disponíveis - computadores, discos rígidos, etc.
natural que um melhor uso dos recursos seja alcançado. Uma boa infraestrutura para um grid, atualmente, poderia ser
No entanto, a implementação deste modelo é extremamente imaginado em um grupo de servidores clusterizados, cada um com
complexa para os gestores desta tecnologia. Os principais desafios até 4 processadores, com mecanismo de armazenamento
são: compartilhado (storage). Conexões de rede de alta velocidade
a.) Desenvolver sistemas que permitam (gigabit ethernet ou InfiniBand) entre os nós e a mesma tecnologia
alocação dinâmica de recursos: deve-se garantir que ou fibra ótica entre os meios de armazenamento.
não haverá recursos ociosos caso alguma tarefa esteja Esta configuração está disponível em boa parte das médias e
aguardando para ser executada. grandes empresas. Logo, a implementação dessa tecnologia pode
b.) Provisionamento flexível das informações: é se tornar uma realidade muito próxima. Com o barateamento dos
garantir que usuários e aplicações saibam onde e quando equipamentos e o amadurecimento da tecnologia, inclusive com a
podem utilizar determinado recurso. entrada de outros fornecedores de software, em breve será possível
c.) Alta disponibilidade: significa que a aumentar o leque de empresas beneficiadas.
informação e os processos estarão disponíveis sempre A infraestrutura necessária para instalar um grid não representa
que necessário. impedimento para o seu uso. Mesmo em empresas que não
d.) Alta confiabilidade: restrições de acesso, possuam redes de altíssima velocidade ou modernos mecanismos
segurança na disponibilização dos dados e política para de storage é possível obter ganhos simplesmente clusterizando o
compartilhamento dos recursos. banco de dados para distribuir o processamento entre os
e.) Capacidade de autocorreção: em função das computadores da empresa. Isso pode se dar em empresas de
requisições e dos recursos disponíveis. pequeno porte, que tenham alguns poucos computadores em rede
f.) Gerenciamento centralizado: deve ser local.
realizado em um único local. Note que o gerenciamento A tendência de preço desses produtos deve contemplar a
é centralizado, não o grid. utilização por pequenas empresas. Para atingir este mercado,
g.) Utilização de padrões abertos: um grid contudo, é necessário que o grid seja facilmente gerenciável. Do
pressupõe a utilização de protocolos de interface de contrário, pequenas empresas não terão como agregar recursos
propósito geral, com mecanismos de autenticação, humanos compatíveis com a tecnologia.
autorização e identificação de recursos.
h.) Qualidade dos serviços: o recurso utilizado Tendências do Grid Computing
pelo grid deve indicar a qualidade do serviço prestado
em termos de tempo de resposta, disponibilidade,
As empresas necessitam estar mais ágeis para responder às
segurança e troca de informações.
constantes mudanças no mercado. Não há como ser competitivo
Talvez o maior desafio nesta fase inicial seja a confiabilidade,
sem possuir uma rede de informações segura dentro da empresa.
pois o mundo está invadido pelos hackers e mesmo as empresas
Desta forma, sistemas ERP foram implantados e sistemas de
fornecedoras de software tendo investido milhares de dólares,
business intelligence estão sendo desenvolvidos. Porém isso tem
sempre há novas invasões e vulnerabilidades são descobertas nos
feito com que o investimento no parque de computadores da
sistemas.
empresa tenha sido aumentado consideravelmente. Por outro lado,
Se analisarmos a implantação comercial de um grid entre
cada vez mais computadores são subutilizados na empresa.
empresas de um mesmo segmento ou não, veremos que é natural a
Juntemos um grupo de empresas e veremos que há recursos que
desconfiança por parte dos empresários em disponibilizar seu
estão sendo muito mal utilizados.
maior partrimônio, a informação, para que terceiros controlem e
Alie-se a isso a necessidade de haver na empresa profissionais
garantam o processamento. Este processo de terceirizar o
dedicados à segurança e integridade das informações.
processamento e armazenamento de informações em data centers,
Profissionais que vão desde DBAs até especialistas em rede e

906
Oliveira

segurança. Conforme cresce a complexidade do ambiente, maior é arquivos e não apenas dos dispositivos de disco além de permitir
a responsabilidade que a empresa tem que administrar e maiores um melhor balanceamento do I/O entre os dispositivos.
os riscos a que está sujeita. Provisionamento de Informação: dependendo do volume da
Portanto, se não houver meios de permitir ao grid um informação e do nível de requisição dela, o Oracle é capaz de
autogerenciamento e autocorreção a falhas, não há como imaginar realocá-la em qualquer ponto do grid para agilizar o acesso aos
a implantação maciça desta tecnologia. dados. Este recurso permite migrar dados de um banco de dados
Inicialmente os primeiros clusters tinham recursos para outro de maneira transparente, mesmo que os bancos de
compartilhados na rede e eram disponibilizados através de dados estejam em diferentes sistemas operacionais.
plataformas heterogêneas. A tendência, contudo, é que haja um Banco de dados autogerenciável: as estatísticas do banco de
padrão da indústria, como há para banco de dados, dados são extraídas automaticamente e são dinamicamente
telecomunicações, etc., onde os recursos estejam compartilhados alteradas, fazendo com que o banco de dados possa ter seu
em "servidores clusterizados", responsáveis pela operação de desempenho ajustado sem necessidade de interferência humana.
todos. A questão é saber se este padrão será um padrão de fato ou Quando necessário, o próprio banco de dados informa ao DBA
o padrão de cada fornecedor, como temos visto nos bancos de onde foi detectado um problema para que ele possa realizar
dados. Exemplo: a Oracle 9i utiliza o LDAP como padrão, mas os análises e propor modificações no banco. O objetivo da Oracle
usuários de banco de dados não podem se autenticar utilizando não é eliminar o DBA, mas sim otimizar sua tarefa e reduzir o
outros servidores LDAP. Só podem fazê-lo com o servidor LDAP custo de administração do banco de dados. Instâncias isoladas ou
da Oracle. com pequeno volume de transações poderão ser gerenciadas sem a
presença de um DBA, mas grandes instalações continuarão a ter
BANCO DE DADOS ORACLE DATABASE 10G esta necessidade.

A idéia da Oracle ao criar uma infraestrutura de grid está Application Server


baseada em quatro pilares:
a.) Aplicações Cluster do Servidor de Aplicação: os serviços do servidor de
b.) Servidores de Aplicações aplicação (HTTP, Web Services, J2EE, etc.) podem ser alocados
c.) Servidores de Banco de Dados em diferentes computadores no grid. Diversos mecanismos de
d.) Armazenamento gerenciamento dos recursos, políticas de acesso e conexões estão
Esta arquitetura baseia-se em servidores de custo relativamente disponíveis no Oracle Application Server 10g. Como a aplicação
baixo, mas constantemente atualizados. Os servidores devem estar está em um grid, a disponbilidade é muito maior, visto que
interconectados em uma estrutura de cluster. O Oracle Application eventuais quedas de um computador são automaticamente
Server 10g e o Oracle Database 10g foram concebidos para serem compensadas em outro.
executados em clusters e poderem alocar dinamicamente os Gerenciamento de Identidade: administração dos usuários se
recursos de acordo com a necessidade do grid. dá em um único local. Isso é particularmente importante em um
É possível, dentro desta estrutura, acrescentar novos recursos ao ambiente onde há diversos computadores compartilhando recursos
grid sem que seja necessário parar e reiniciar os aplicativos. e distribuindo informação. Ao criar, excluir e atribuir direitos aos
Assim, acrescentar novos discos no grid ou novos processadores é usuários em um único local, vulnerabilidades no sistema ficam
um trabalho a ser realizado independente da utilização dos demais reduzidas e o gerenciamento facilitado, pois não será necessário
recursos de rede. Isso pode ser feito ao contrário. Retirar estes criar um usuário em cada banco de dados e servidor de aplicação.
mesmos recursos é um trabalho que não envolve interromper os A Oracle utiliza o Lightweight Directory Access Protocol (LDAP)
serviços atuais do grid. em conjunto com o Oracle Internet Directory (OID) para criar e
A grande vantagem deste mecanismo é a possibilidade de gerenciar os privilégios dos usuários.
acrescentar os recursos apenas quando estes forem necessários, ou
seja, no pico de utilização. O balanceamento dos recursos é
aumentado ou diminuído com base na necessidade de
Enterprise Manager Control
processamento e armazenamento do grid.
A seguir vamos verificar o resumo da tecnologia utilizada pela É um ambiente centralizado para realizar as tarefas de
Oracle para computação baseada em grid. gerenciamento administrativo do grid. Este é o ambiente
integrador da tecnologia. Não depende de instalação separada e
Banco de Dados está totalmente disponível para administração e acompanhamento
logo após a criação do banco de dados.
Real Application Cluster: é a base do grid. É um banco de As tarefas de gerenciamento são:
dados clusterizado que é executado em vários computadores e a.) Oracle Collaboration Suite 10g
com diversos meios de armazenamento. As ferramentas de b.) Oracle eBusiness Suite 11i
manutenção do banco de dados são válidas para todo o grid. Desta c.) Oracle Application Server 10g
forma, rotinas de backup e recovery e monitoramento de d.) Oracle Database 10g
desempenho podem ser realizadas em um único local. Novos nós e.) Aplicações legadas ou de terceiros
podem ser acrescentados ao grid baseados na carga de trabalho. Ao gerenciar toda a estrutura que faz parte do grid, é possível
Gerenciamento Automático de Armazenamento (ASM): aqui dimensionar e realocar os recursos disponíveis. Completamente
a administração dos meios de armazenamento são realizadas em baseado em ambiente web, fornece informações de todos os
grupos de discos (unidade lógica) e não mais em arquivos do serviços que estão sendo executados e permite modificar
banco de dados. Para o DBA isso significa que deverá ser dinamicamente os recursos visando a melhoria do desempenho das
administrado apenas um pequeno grupo de discos. Isso faz com aplicações.
que haja benefícios semelhantes ao uso de RAID. A diferença é
que no ASM é possível implementar segurança ao nível dos

907
Tecnologia de Grid Computing utilizando Banco de Dados Oracle

A TECNOLOGIA EMBUTIDA NO ORACLE DATABASE Isso ocorre porque em versões anteriores do banco de dados era
10G necessário utilizar uma boa parcela do tempo do administrador
com rotinas repetitivas. Estas rotinas visavam verificar índices de
desempenho e estatísticas de acesso ao banco de dados. Como boa
O Banco de Dados Oracle 10g, componente da solução de
parte dos parâmetros do banco de dados agora são dinâmicos, uma
infraestrutura de grid da Oracle, colocou o foco de ação nos
tendência que a Oracle já demonstrava na versão 9i, a solução de
seguintes itens:
boa parte desses problemas pode ser realizada automaticamente
a.) Gerenciamento
pelo próprio banco de dados.
b.) Disponibilidade
Claro que em instalações com mais de uma instância, vários
c.) Desempenho
servidores e alta complexidade de transações, a figura do DBA
d.) Business Intelligence e Data Warehousing
continuará existindo. Apenas as rotinas repetitivas foram
e.) Plataforma de Desenvolvimento
automatizadas pelo banco de dados.
Muitas destas funções já existiam nas versões anteriores do
banco de dados e agora foram melhoradas para atender as
necessidades da computação baseada em grid. Automatic Workload Repository (AWR)
O que será visto daqui para frente, mostra exatamente com o
Banco de Dados Oracle utiliza estes recursos para atingir este Esta infraestrutura consiste em duas partes principais:
objetivo. a.) Coleta de estatíticas mantidas em memória que
No Oracle Database 10g, foi criada uma nova tablespace continuam sendo acessadas através das visões de
chamda SYSAUX. Esta tablespace é utilizada para armazenar desempenho (V$).
uma série de informações relevantes para o funcionamento do b.) Manutenção destas mesmas estatísticas em
banco de dados. Como o próprio nome sugere, ela é um auxiliar snapshots que são periodicamente alimentados pelo banco
para a tablespace SYS e manterá uma série de informações de de dados. Estes dados podem ser acessados através de
schemas específicos para o banco de dados. visões do dicionário de dados.
Naturalmente o objetivo deste artigo não é explorar todas as A grande mudança ocorrida diz respeito a manutenção dos
novas funcionalidades do Oracle Database 10g e sim as dados históricos para consulta, mesmo em caso de
modificações importantes para que ele possa ser utilizado em um queda/reinicilização do banco de dados. Isso permite que, em
grid. Também não será demonstrado como as demais ferramentas determinadas situações, dados históricos possam ser
da Oracle (Oracle Application Server e Oracle Entreprise requisitados para efeito de comparação. Note que isso é
Manager) se integram ao Banco de Dados. particularmente útil para determinar o uso histórico do grid.
Sem isso não há como medir o quanto deve ser alocado para
Arquitetura de Gerenciamento determinado recurso (armazenamento ou processador, por
exemplo) quando uma determinada aplicação for requisitada.
Está baseada nos seguintes componentes: Com dados históricos armazenados isso se torna possível.
a.) Automatic Workload Repository (AWR): A principal função do AWR é permitir ao Oracle manter o
principal elemento da nova infraestrutura. Permite ao histórico de utilização para que ele mesmo consiga realizar o
banco de dados realizar a coleta, processamento, autoajuste de seus parâmetros. Desta forma, problemas de
manutenção e acesso às estatísticas internas visando desempenho podem ser resolvidos com base no que aconteceu
resolver problemas de desempenho. (e está armazenado) no servidor. Nem sempre quando
b.) Aconselhamento: utiliza uma infraestrutura analisamos o servidor, o problema está acontecendo e, por isso,
específica para identificar gargalos no banco de dados e nem sempre tomamos a melhor decisão. Ao manter o dado
propor soluções para resolver os problemas. Está histórico, o próprio servidor realizará o ajuste necessário.
baseada no Automatic Database Diganostic Monitor Estas estatísticas são coletadas a cada 30 minutos, padrão que
(ADDM). pode ser modificado pelo DBA através do parâmetro
c.) Administração automática: as tarefas INTERVAL, e são muito semelhantes ao nível 5 do
repetitivas que eram realizadas pelo DBA agora podem STATSPACK.
ser direcionadas para que o próprio banco de dados As principais estatísticas coletadas pelo AWR são:
realize. Desta forma, as estatísticas que antes eram a.) Time-model (V$SYS_TIME_MODEL): indica
extraídas pelo DBA poderão ser realizadas quanto tempo as atividades demoraram. Avalia: conexão,
automaticamente pelo banco de dados. Isso pode parecer parse, execução de comandos SQL, execução de PL/SQL e
igual ao que se fazia em versões anteriores, mas com compilação de PL/SQL.
esta nova versão é possível manter uma estrutura b.) Sistema Operacional (V$OSSTAT): consumo
histórica de valores estatísticos dentro do banco de de CPU e memória.
dados e não dependente de outras ferramentas. c.) Wait Classes (V$EVENT_NAME): aplicação,
d.) Alertas do Servidor: pode-se determinar o concorrência, gravação, I/O, administração, confuguração,
nível de situações onde o servidor envie mensagens de rede, cluster, jobs, etc.
alerta ao DBA. Desta forma, dependendo da situação d.) SQL: comandos e variáveis bind baseados no
encontrada no servidor, ele mesmo será capaz, de acordo consumo de CPU, tempo e parse.
com métricas estabelecidas pelo DBA, de enviar O schema WR armazena as informações estatísticas de
mensagens solicitando uma ação para corrigir o desempenho do banco de dados. Este usuário utiliza a
problema. tablespace SYSAUX para armazenar os dados.
Esta estrutura se interrelaciona fornecendo e requisitando Há três níveis de estatísticas que podem ser ajustadas ao
informações entre elas para que o gerenciamento do banco de banco de dados: BASIC (onde o AWR estará desligado),
dados se dê mais facilmente. TYPICAL (AWR ligado e as estatísticas fundamentais serão
coletadas - padrão) e ALL (AWR ligado com todas as

908
Oliveira

estatísticas habilitadas). O parâmetro que modifica a forma de Tarefas


coleta de estatística é STATISTICS_LEVEL.
O processo do servidor que controla o AWR é o MMON e as
Através do Scheduler é possível delegar ao Oracle Database
métricas relacionadas às estatísticas são mantidas em memória
10g que algumas tarefas repetitivas sejam realizadas diretamente
por uma hora aproximadamente.
pelo servidor, como manutenções baseadas em procedimentos e
Como as estatísticas da sessão são gravadas a cada 30
coleta de estatísticas.
minutos, existe um mecanismo chamado Active Session History
O pacote DBMS_SCHEDULER veio acrescentar algumas
(ASH) que mantém as atividades mais recentes da sessão. A
funções ao DBMS_JOB. Como ele é possível controlar onde,
cada segundo o ASH verifica a V$SESSION e grava os eventos
quando e qual tarefa deve ser realizada.
que estão sendo aguardados. As informações mais antigas serão
Quando o banco de dados é criado, o GATHER_STATS_JOB
sobrepostas pelas mais novas, quando não forem gravadas. Este
também será criado. Ele executa o
processo se dá em memória, o que permite ser realizado com
DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC
relativa rapidez. A visão V$ACTIVE_SESSION_HISTORY
que utiliza o scheduler para realizar a coleta de dados estatísticos
mantém as informações históricas da sessão.
do banco de dados. Através da união destes dois mecanismos é
As visões que permitem identificar estas métricas são:
possível definir dois padrões de coleta, um para o período do dia e
V$SYSMETRIC e V$SYSMETRIC_HISTORY.
outro da noite, por exemplo.
Através do DBMS_SCHEDULER, é possível utilizar um plano
AWR Snapshots Baselines de utilização de recursos diferenciado para esta atividade, não
comprometendo a utilização do banco de dados durante o período
Entende-se por baseline o mecanismo que extrai dados de coleta.
relevantes periodicamente. Um baseline é composto por um par de
snapshots. Para criar um baseline executa-se o procedimento Aconselhamento
CREATE_BASELINE do pacote
DBMS_WORKLOAD_REPOSITORY, especificando os dois
São componentes que fornecem informações a respeito da
snapshots que fazem parte dele. Entende-se que devemos criar os
utilização de recursos e desempenho do banco de dados.
baselines sempre que precisarmos medir o desempenho do banco
A base deste recurso é o Automatic Database Diagnostic
de dados em dois momentos distintos, um no passado e outro mais
Monitor (ADDM). Com ele é possível identificar problemas e
atual.
deterctar as possíveis causas, recebendo recomendações de como
Freqüentemente os snapshots antigos precisam ser apagados
solucionar o problema. Baseado nas estatísticas coletadas e nos
para ceder lugar a outras estatísticas. Isso se deve ao motivo dos
alertas enviados pelo servidor, é possível estabelecer um
dados serem armazenados na tablespace SYSAUX. É possível
mecanismo automatizado de controle do desempenho do banco de
modificar o padrão através do
dados (autoajuste).
MODIFY_SNAPSHOT_SETTINGS do mesmo pacote citado
Há diversos mecanismos de controle para esta função:
anteriormente. Snapshots que façam parte de baselines não serão
a.) SQL Tuning: indicações de desempenho baseado no
apagados até que o baseline seja removido.
histórico de comandos SQL. Gera recomendações de
novos índices e visões materializadas visando reduzir o
Alertas do Servidor I/O do sistema.
b.) SQL Access: baseado em informações do schema
Vimos que o banco de dados gera dois tipos de alertas do determina a melhor forma de acesso aos dados.
servidor. O processo que controla estes alertas é o MMON. c.) PGA: fornece estatísticas da área de trabalho e fornece
Baseado em métricas do desempenho do banco de dados, o recomendações sobre a utilização da memória da PGA.
MMON consultará o dicionário de dados para verificar se alguma Recurso existente na versão 9i.
solução pode ser dada diretamente por ele. Em qualquer situação, d.) SGA: fornece recomendações com base na utilização e
alertas serão enviados ao DBA, mesmo que ele possa resolver a distribuição da memória do sistema. Pode realizar a
questão. Os alertas sempre são enviados com sugestão para alteração automaticamente dependendo da configuração
solução do problema. do sistema.
Há dois tipos de alertas básicos do banco de dados: atenção e e.) Buffer cache: automaticamente verifica como está o
crítico. Eles são baseados em 161 métricas do tipo: leituras físicas desempenho do buffer do sistema.
por segundo, gravações por segundo, tempo de resposta de f.) Library cache: gerencia o cache para as bibliotecas do
comandos SQL por segundo e assim sucessivamente. Ao atingir sistema.
limites de 85% são enviados alertas de atenção. Se este limite g.) Segment: verifica questões de espaço e crescimento dos
atingir 97% será enviado um alerta crítico. objetos.
A seqüência para utilização desse tipo de alerta é: h.) Undo: sugere mudança de parâmetro para otimizar a
a.) Habilitar alertas utilização dos recursos de flashback (será visto
b.) Configurar regras de notificação posteriormente).
c.) Receber a notificação Para se criar uma sessão de ajuste que invoca o ADDM através
d.) Rever detalhes de alertas e indicações para solução do PL/SQL, deve-se (todos baseados no pacote
e.) Corrigir o problema DBMS_ADVISOR):
f.) Verificar se o problema foi resolvido a.) Criar uma tarefa de aconselhamento (CREATE_TASK)
Dois procedimentos PL/SQL permitem controlar os alertas do b.) Ajustar os parâmetros (SET_TASK_PARAMETER)
servidor: SET_THRESHOLD e GET_THRESHOLD. Ambos c.) Realizar a análise (EXECUTE_TASK)
estão no pacote DBMS_SERVER_ALERT. d.) Verificar o resultado (CREATE_TASK_REPORT)

909
Tecnologia de Grid Computing utilizando Banco de Dados Oracle

Ao utilizar o ADDM em conjunto com o Oracle Enterprise com os processos de retaguarda da instância ASM. Sempre que for
Manager, pode-se gerenciar o desempenho de diversas fontes de necessária a execução de uma operação no ASM, os processos de
dados e verificar ou propor soluções para diversos servidores. retaguarda do banco de dados conectam-se com a instância ASM
Sempre que uma instância apresentar problemas de desempenho o para realizar a operação.
ADDM será executado e o DBA terá condições de verificar o que Quando se cria um ASM, criam-se grupos de discos. Este grupo
estava acontecendo no momento em que surgiu o problema. é formado por um ou mais discos que são gerenciados como uma
O ADDM fará uma verificação entre os dois últimos snapshots unidade lógica de armazenamento. Um banco de dados utilizando
disponíveis, possibilitando detectar o que causou o problema. A ASM não precisa ser reinicializado para que um novo disco seja
estrutura do ADDM permite concentrar-se apenas nos principais reconhecido por ele. O trabalho do ASM é exatamente permitir o
problemas, aqueles que efetivamente causaram algum impacto no rebalanceamento das informações através dos recursos
banco de dados. disponíveis.
Internamente o ADDM trabalha com uma estrutura de árvore de Estes grupos podem ser separados com base em critérios de
problema, onde cada ramo (problema) leva a um galho (causa) e segurança e redundância de dados. Os arquivos do ASM são
este ao tronco e à raiz, se for o caso. criados no grupo de discos do ASM. Eles não são visíveis ao
Para reconfigurar automaticamente o sistema, o ADDM solicita sistema operacional, mas são visíveis para o RMAN e outras
o Automatic Storage Management (ASM) e o Automatic Memory ferramentas Oracle. Sempre que for necessário criar um novo
Management (AMM). arquivo, como tablespaces, log files, redo logs, deve-se especificar
apenas o grupo e o ASM se responsabilizará pelo nome e
Gerenciamento de Armazenamento localização do mesmo. Lembre-se que em um grid não importa
onde, fisicamente, o arquivo de dados estará e sim que ele esteja
Para compor o grid é necessário que haja mecanismos disponível assim que solicitado.
adequados de armazenamento das informações. Para este fim, o Um grupo de discos pode conter mais de uma instância de
Oracle Database 10g implementou uma série de recursos: banco de dados e uma instância pode conter arquivos de dados em
a.) Automatic Storage Management (ASM) diferentes instâncias ASM.
b.) Melhor gerenciamento de tablespaces (temporárias, Os grupos de discos podem ser criados para atender algumas
permanentes, específicas para arquivos grandes, facilidade características específicas, como:
para transportar entre diferentes plataformas). a.) Diferentes fabricantes, tamanhos e velocidade.
b.) Redundância.
Automatic Storage Management (ASM) c.) Área de trabalho e/ou recuperação de dados.

Gerenciamento da Instância ASM


É um serviço que permite balancear o trabalho entre discos,
previnir a fragmentação dos dados, reorganizar automaticamente o
espaço disponível e prover tolerância a falhas (via redundância da Será iniciado exatamente como uma instância de banco de
informação). dados a não ser pelo parâmetro INSTANCE_TYPE que terá seu
O principal objetivo é manter o banco de dados valor como OSM. Naturalmente o que será montado são os grupos
permanentemente disponível (24 x 7). de discos e não um banco de dados propriamente dito. O
A gestão dos dados se dá pelas características de desempenho parâmetro que identifica os grupos de discos é
necessárias por classes de dados e não mais por tipo de arquivo. OSM_DISKGROUPS.
Esta estrutura pode conviver com a forma atual de gerenciar A conexão ao ASM se dá apenas como SYSDBA e SYSOPER.
arquivos, sem causar problemas na administração. As vantagens, Normalmente esta instância necessita apenas de 64Mb de SGA
contudo, estão exatamente na retirada da complexidade do para funcionar.
operador (DBA) que não precisa mais preocupar-se com Há novas visões que permitem gerenciar o ASM. São elas:
extensões, fragmentação e localização física dos arquivos de a.) v$osm_diskgroup (contém informações do grupo de
dados. Esta preocupação ficará a cargo do próprio banco de dados. discos)
Isso inclui o controle de redundância, em especial mecanismos de b.) v$osm_client (identifica o banco de dados que utiliza o
réplica dos dados, como no RAID. grupo de discos)
Ao criar um ASM, o DBA deixa de preocupar-se com o ajuste c.) v$osm_disk (contém uma linha para cada disco
de I/O e terá simplificada sua tarefa de modificação ou inclusão de pertencente a instância ASM, mesmo aqueles que não
novos discos para o banco de dados. Isso leva a uma redução no fazem parte de qualquer grupo)
tempo de indisponibilidade do banco de dados e reduz o custo de d.) v$osm_file (contém uma linha para cada arquivo em cada
manutenção dos mecanismos de armazenamento. Haverá menos grupo de disco)
objetos para gerenciar, pois o gerenciamento se dá via grupo de e.) v$osm_template (contém uma linha para cada template do
discos e não mais arquivos de dados. grupo de disco)
O ASM é uma instância do banco de dados responsável pelo f.) v$osm_alias (contém uma linha para cada apelido em cada
gerenciamento dos recursos de armazenamento. O banco de dados grupo de disco)
acessa o conteúdo dos arquivos do ASM diretamente através do g.) v$osm_operation (contém uma linha para cada operação
layout desses arquivos. O ASM é uma extensão lógica do Oracle longa executada no ASM)
Managed Files (OMF)
Na instância ASM há dois processos do servidor responsáveis Gerenciamento de Memória
pelo balanceamento das atividades entre os dispositivos
disponíveis (RBAL) e outro para extensões de dados (ORB0, O gerenciamento adequado da memória do servidor permite
ORB1, etc.). Na instância que utiliza o ASM há, também, dois liberar o DBA de tarefas repetitivas relacionadas ao desempenho
novos processos do servidor: RBAL para realizar as chamadas do banco de dados. Com isso, em caso de maior necessidade de
para abrir os discos no ASM e OSMB que realiza a comunicação utilização por força de maior utilização de recursos no grid, não

910
Oliveira

será necessário aguardar para que o DBA venha modificar a b.) v$sgainfo: indica o tamanho da SGA, incluindo seus
configuração do servidor. O Oracle Database 10g é capaz de componentes e memória livre
realizar este trabalho automaticamente através do Automatic c.) v$sgastat: informações detalhadas da SGA
Memory Management (AMM). d.) v$sga_dynamic_components: totaliza as informações
baseadas no redimensionamento desde a última
Automatic Memory Management (AMM) reinicialização
e.) v$sga_dynamic_free_memory: indica a memória
Um único parâmetro é responsável pelo gerenciamento disponível para a próxima operação de
automático de memória por parte do banco de dados Oracle. Caso redimensionamento
seja informado conteúdo para o parâmetro SGA_TARGET outros f.) v$sga_resize_ops: mostra as informações relacionadas às
parâmetros serão substituídos e a alocação de memória RAM será últimas 100 operações de redimensionamento
realizada automaticamente pelo Oracle. g.) v$sga_current_resize_ops: mostra as informações
Normalmente um DBA faz alocação de memória para Data relacionadas a atual operação de redimensionamento.
Buffers, Shared Pool e Log Buffers. Ao ativar o parâmetro
SGA_TARGET, toda divisão de memória ficará a cargo do CONCLUSÃO
próprio banco de dados.
Duas visões fornecem as informações necessárias ao banco de Os benefícios do grid computing são reais: sistemas mais
dados para realizar modificações que garantam o máximo de flexíveis que podem ser compartilhados em diversos servidores,
desempenho: v$db_cache_advice e v$shared_pool_advice. servidores que podem se autoajustar em função da demanda de
Quando se utiliza o AMM, apenas três parâmetros tornam-se processamento, maior disponibilidade para aplicações e uso mais
responsáveis pelo gerenciamento de memória do banco de dados: racional dos recursos. Com grids podemos obter melhor
a.) SGA_MAX_SIZE: indica o limite máximo que o desempenho das aplicações, maior escalabilidade e nem por isso
SGA_TARGET pode assumir. Normalmente ambos teremos custos maiores. Nós, profissionais de TI, poderemos
terão o mesmo valor, mas, se de antemão o DBA souber utilizar serviços e equipamentos que, de outra forma, não teríamos
que pode haver picos de utilização, deve-se atribuir um acesso devido, principalmente, aos custos envolvidos. As
valor superior a este parâmetro. Assim o SGA_TARGET aplicações serão executadas muito mais rapidamente e a um custo
será dinamicamente alterado para atender a demanda. sensivelmente menor. Melhor: poderemos contar com os recursos
b.) SGA_TARGET: indica o total de memória que a SGA de informática apenas no momento em que dele necessitarmos.
pode consumir. Inclui outras alocações, como SHARED Para as empresas haverá o ganho de utilizar efetivamente todo
POOL, JAVA POOL e LARGE POOL. seu parque de computadores. Isso fará com que os investimentos
c.) PGA_AGGREGATE_TARGET: define o total de RAM em TI possam ser melhor aproveitados.
utilizado para indexações do sistema. Algumas questões, porém, ainda precisam ser mais bem
Os demais parâmetros não são mais necessários (mas continuam analisadas: segurança é a principal delas. Velocidade é outra. Há
existindo), a partir da utilização do SGA_TARGET. Caso eles poucos sistemas que realizam o gerenciamento completo do grid.
sejam definidos, devem possuir valores muito baixos, permitindo Isso faz com que tenhamos pouco espaço para comparações. A
ao AMM modificá-los livremente. tecnologia está sendo aplicada há pouco tempo o que fará com
que, em futuro próximo, novos padrões possam surgir e
Funcionamento do AMM efetivamente integrar todos os equipamentos necessários para
viabilizar sua aplicação.
Ao utilizar o AMM, o banco de dados terá a possibilidade de Do ponto de vista do banco de dados Oracle, este dá um passo
aumentar ou diminuir áreas de RAM do Oracle. Esta decisão se importante para fornecer subsídios para um grid. Permite um
dará com base nas estatísticas de demanda de processamento. autogerenciamento de sua base de dados, possibilita o aumento e
Mesmo que a instância seja reiniciada, as informações relativas ao diminuição dinâmica de diversos recursos, como processadores e
AMM estarão disponíveis quando o banco de dados retornar. meios de armazenamento. Tudo isso sem aumentar
Sempre que houver ganho significativo (ganho marginal) no significativamente a complexidade na manutenção da estrutura.
aumento da memória disponível em relação às leituras e gravações A integração do banco de dados ao Servidor de Aplicação e
(I/O) de disco, o AMM aumenta o Data Buffer Block. O AMM deste com o gerenciamento único e centralizado completa uma
decidirá quando isso vale a pena, visto que nem sempre há um alternativa tecnológica que viabiliza a implantação do grid. Existe
ganho significativo quando se aumenta a memória RAM a facilidade no gerenciamento no banco de dados o que
disponível para este processo. possibilitará empresas de diversos portes participarem desta nova
Um novo processo do servidor chamado MMAN (memory tecnologia.
manager) é responsável por coletar as informações e realizar as
alterações necessárias. REFERÊNCIAS
Para utilizar o AMM é necessário que o parâmetro
STATISTICS_LEVEL esteja em TYPICAL ou ALL, além de
estar especificado um valor diferente de zero para AULT, M.; LIU, D.; TUMMA, M. Oracle Database New
SGA_TARGET. Features. 1ª ed. USA: Rampant, 2003.

ORACLE. Oracle Database 10g New Manageability Features.


Visões relacionadas ao AMM 1ª ed. USA: Oracle, 2003.

As visões a seguir fornecem informações importantes a respeito BOMBONATO, F Computação em Grid Uma Introdução.
da SGA e do seu redimensionamento dinâmico. Disponível em
a.) v$sga: indica os totais de utilização da SGA

911
Tecnologia de Grid Computing utilizando Banco de Dados Oracle

http://www.geleira.org/artigos/?redes+grid_computing. Acessado
em fevereiro de 2004.

BAIRD, I Understanding Grid Computing. Dispónível em:


http://www.platform.com/pdfs/whitepapers/understanding_grid.pd
f

FOSTER, I What is the Grid? A Three Point Checklist.


Disponível em: http://www-
fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf

GRIDCOMP Grid Computing Info Centre (GRID Infoware).


Disponível em: http://www.gridcomputing.com/

GRIPHYN Education & Outreach Center. Disponível em:


http://www.phys.utb.edu/griphyn/

LASZEWSKI, G. V. Gregor von Laszewski – Grid Course.


Disponível em: http://www-fp.mcs.anl.gov/~gregor/grid-
iit/talks/Introduction%20to%20Grid%20Computing.htm

912

Você também pode gostar