Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 70 - Oracle RAC – Performance Tuning
Da configuração para Performance Tuning de um banco de dados em Cluster simulado, baseado na arquitetura Oracle RAC. Este artigo é o quarto de uma série sobre RAC.
[fechar]
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
SQL Magazine 70
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da SQL Magazine 70
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da SQL Magazine 70
Oracle
Oracle RAC – Performance Tuning
LEAD
De que trata o artigo?
Da configuração para Performance Tuning de um banco de dados em Cluster simulado, baseado na arquitetura Oracle RAC. Este artigo é o quarto de uma série sobre RAC.
Para que serve?
Para disponibilizar o acesso a um único banco de dados a partir de várias instâncias acomodadas em computadores diferentes, com boa performance e alta disponibilidade.
Em que situação o tema é útil?
Em casos onde a disponibilidade e o poder de processamento são características fundamentais do ambiente.
Nas edições anteriores, instalamos um Cluster (Nota DevMan 1) simulado em Oracle RAC 10gR2 utilizando Linux CentOS e ASM, rodando sobre VMware Server, e aprendemos como administrá-lo.
Nesta quarta parte da série de artigos sobre Oracle RAC, iremos demonstrar como deve ser feito o Performance Tuning (“Ajuste de Desempenho”) do Oracle RAC, e como a configuração de um banco de dados em Cluster difere de uma instalação Single Instance.
Nota DevMan 1. Cluster
Um Cluster, ou aglomerado de computadores, é formado por um conjunto de computadores que utiliza um tipo especial de sistema operacional classificado como sistema distribuído.
Muitas vezes é construído a partir de computadores convencionais, os quais são ligados em rede e comunicam-se através do sistema, trabalhando como se fossem uma única máquina de grande porte.
Oracle RAC x Oracle Single Instance
Ao contrário do que se pensa, e do que a Oracle costuma dizer, uma aplicação que funciona bem em Single Instance (“Instância Única”) não necessariamente funcionará bem em Oracle RAC. Alguns detalhes podem fazer com que a aplicação tenha um desempenho muito inferior, ou até que não funcione corretamente.
Na verdade, é muito mais fácil fazer com que uma aplicação que utilize o Oracle RAC não tenha uma boa escalabilidade, do que o contrário. Isto vem do fato de que um Cluster é como um "amplificador de som": ele pode amplificar tanto boa música quanto ruídos horríveis. Da mesma forma, uma aplicação que "roda" bem em Single Instance terá um ótimo desempenho em Oracle RAC, enquanto uma outra aplicação que já tem um desempenho ruim em Single instance, ficará inutilizável em Oracle RAC. O Oracle RAC não é mais rápido, ele é mais poderoso, e você tem que saber utilizar este poder.
A seguir irei explicar os principais itens que devem ser considerados em Oracle RAC que podem fazer toda a diferença no desempenho da aplicação:
- Full Table Scans: os Full Table Scans (“Escaneamento Completo da Tabela”) são muito mais danosos ao desempenho do banco de dados em Oracle RAC do que em Oracle Single Instance. Isto ocorre porque cada nó, ao acessar um bloco de dados, precisa ter certeza que é o “dono” deste bloco, e para isso, precisa “perguntar” aos outros nós sobre a propriedade deste bloco, pois é possível que ele esteja sendo alterado por outro nó do Cluster. Desta forma, quanto mais nós o Cluster tiver, mais lentamente a aplicação se comportará caso execute muitos Full Table Scans. Ou seja, adicionar nós ao Cluster, neste caso, só iria piorar o desempenho!
- Sequences: pelo mesmo motivo dos Full Table Scans, as Sequences (Sequências) devem ser criadas com especial cuidado em ambiente Oracle RAC. O ideal é que sejam apenas utilizadas Sequences naturais (as Sequences próprias do Oracle, e não uma implementação feita pela aplicação), e sempre com os parâmetros CACHE e NOORDER."
Este é um post disponível para assinantes MVP
Oracle RAC – Performance Tuning
LEAD
De que trata o artigo?
Da configuração para Performance Tuning de um banco de dados em Cluster simulado, baseado na arquitetura Oracle RAC. Este artigo é o quarto de uma série sobre RAC.
Para que serve?
Para disponibilizar o acesso a um único banco de dados a partir de várias instâncias acomodadas em computadores diferentes, com boa performance e alta disponibilidade.
Em que situação o tema é útil?
Em casos onde a disponibilidade e o poder de processamento são características fundamentais do ambiente.
Nas edições anteriores, instalamos um Cluster (Nota DevMan 1) simulado em Oracle RAC 10gR2 utilizando Linux CentOS e ASM, rodando sobre VMware Server, e aprendemos como administrá-lo.
Nesta quarta parte da série de artigos sobre Oracle RAC, iremos demonstrar como deve ser feito o Performance Tuning (“Ajuste de Desempenho”) do Oracle RAC, e como a configuração de um banco de dados em Cluster difere de uma instalação Single Instance.
Nota DevMan 1. Cluster
Um Cluster, ou aglomerado de computadores, é formado por um conjunto de computadores que utiliza um tipo especial de sistema operacional classificado como sistema distribuído.
Muitas vezes é construído a partir de computadores convencionais, os quais são ligados em rede e comunicam-se através do sistema, trabalhando como se fossem uma única máquina de grande porte.
Oracle RAC x Oracle Single Instance
Ao contrário do que se pensa, e do que a Oracle costuma dizer, uma aplicação que funciona bem em Single Instance (“Instância Única”) não necessariamente funcionará bem em Oracle RAC. Alguns detalhes podem fazer com que a aplicação tenha um desempenho muito inferior, ou até que não funcione corretamente.
Na verdade, é muito mais fácil fazer com que uma aplicação que utilize o Oracle RAC não tenha uma boa escalabilidade, do que o contrário. Isto vem do fato de que um Cluster é como um "amplificador de som": ele pode amplificar tanto boa música quanto ruídos horríveis. Da mesma forma, uma aplicação que "roda" bem em Single Instance terá um ótimo desempenho em Oracle RAC, enquanto uma outra aplicação que já tem um desempenho ruim em Single instance, ficará inutilizável em Oracle RAC. O Oracle RAC não é mais rápido, ele é mais poderoso, e você tem que saber utilizar este poder.
A seguir irei explicar os principais itens que devem ser considerados em Oracle RAC que podem fazer toda a diferença no desempenho da aplicação:
- Full Table Scans: os Full Table Scans (“Escaneamento Completo da Tabela”) são muito mais danosos ao desempenho do banco de dados em Oracle RAC do que em Oracle Single Instance. Isto ocorre porque cada nó, ao acessar um bloco de dados, precisa ter certeza que é o “dono” deste bloco, e para isso, precisa “perguntar” aos outros nós sobre a propriedade deste bloco, pois é possível que ele esteja sendo alterado por outro nó do Cluster. Desta forma, quanto mais nós o Cluster tiver, mais lentamente a aplicação se comportará caso execute muitos Full Table Scans. Ou seja, adicionar nós ao Cluster, neste caso, só iria piorar o desempenho!
- Sequences: pelo mesmo motivo dos Full Table Scans, as Sequences (Sequências) devem ser criadas com especial cuidado em ambiente Oracle RAC. O ideal é que sejam apenas utilizadas Sequences naturais (as Sequences próprias do Oracle, e não uma implementação feita pela aplicação), e sempre com os parâmetros CACHE e NOORDER."
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Com 20 anos de experiência profissional, Ricardo Portilho Proni é Oracle ACE e já trabalhou em grande parte dos maiores bancos de dados Oracle e MySQL do Brasil. É certificado em Oracle, MySQL, SQL Server, DB2, Sybase e WebSphere. Arquiteto na UOLDIVEO e Instrutor da Nerv Informática Ltda, também é ...
O que você achou deste post?
Cursos relacionados
Publicidade



