Em um servidor com o Oracle instalado existe duas entidades: a instância e o banco de dados.
Em ambientes normais a relação é de um pra um. Mas em ambientes corporativos um pouco mais robustos isso muda. A relação pode ser de muitos para um. Ou seja: existe diversas instâncias em vários servidores usando o mesmo banco de dados em um sistema com disco compartilhado. Isso se chama Real Application Clusters ou apenas RAC. O RAC melhora o desempenho, tolerância a erros e maior escalabilidade. Também é possível que uma instância conectar-se a diversos bancos.
Primeiro vamos falar um pouco da instância. Ela consiste de estruturas de memória e processos. Ela existe na memória RAM e na CPU do servidor, ela pode ser inicializada e finalizada. Já o banco de dados consiste de arquivos físicos no disco e existe indefinidamente até ele seja apagado de propósito. A relação entre as estruturas físicas e lógicas é gerencia pelo dicionário de dados.
A instância consiste do System Global Area, ou apenas SGA e também de alguns processos. O SGA conterá no mínimo três estruturas, que são: o pool compartilhado, o cache de buffer do banco de dados e o buffer de log. Poderá também ter opcionalmente: pool extenso, pool Java e o pool de streams. Algumas dessas estruturas tem um tamanho fixado assim que você inicia elas. Outras você poderá modificar quando necessário.
Vamos falar agora um pouco sobre as estruturas que compõem a SGA.
Pool compartilhado
Existe duas estruturas principais; o cache da biblioteca e o cache do dicionário de dados. O cache da biblioteca armazena os códigos que são recentemente executados, isso por que o código é algo lento que o Oracle realiza. Ao armazenar então esse código já interpretado o desempenho é aprimorado. O cache do dicionário de dados armazena descrições de tabelas, índices, usuários e etc, ao se armazenar isso também o desempenho é aprimorado.
Cache de buffer do banco de dados
É o onde o Oracle executa SQL. Uma vez que os usuários nunca escrevem diretamente no disco e sim no cache de buffer do banco de dados. Diminuindo assim a necessidade de I/O no disco.
Buffer de log
Armazena todas as modificações no cache de buffer do banco de dados.
O tamanho das estruturas do SGA deve ser grande o suficiente mas, não grande demais para não haver desperdício de memória e nem degradar o desempenho.
Além das estruturas que compõem o SGA a instância do banco terá no mínimo cinco processos que irei falar no próximo post.
Gostar disso:
Seja o primeiro a gostar disso post.