Pular para o conteúdo principal

Estruturas de Processos - Estruturas de Memória no Oracle


#27
Assim que o banco de dados é instânciado, são iniciados vários processos em segundo plano, mas cinco deles são muito importantes e esses cinco processos já tem uma longa história com o Oracle.

- SMON > System Monitor
-- Monta e Abri o banco de dados e organiza o espaço livre no arquivo de dados.

- PMON > Process Monitor
-- Monitora as sessões de usuários e detecta essas sessões com problema e destroi o processo.

- DBWn > Database Writer (o n significa que pode existir várias DBW, permitido no máximo 20, começando do 0)
-- O DBW é o responsável por registrar nos arquivos de dados os buffer sujos.

- LGWR > Log Writer
-- Grava os dados do Buffer de Log nos arquivos de Redo Log no disco

- CKPT > Checkpoint Process
-- É um processo de ponto de verificação interno do Oracle, usado para recuperação de dados em uma falha.

Vários outros foram adicionados com os releases mais recentes, e 2 se destacam entre eles:

- MMON > Manageability Monitor
-- Ativa grande parte dos recursos de automonitoramento e autoajuste, além de armazenar e gerência estatísticas do banco de dados.

- MMAN > Memory Manager
-- Realiza o gerenciamento automático de alocações de memória.

Existem outros que não são essenciais mas existe na maioria das instâncias, os 2 que se destacam são:

- ARCn > Archiver (o n significa que pode existir várias ARC, o limite é de 0 à 30)
--  A função do ARC é criar cópias dos arquivos de Redo Log Online.

- RECO > Recoverer
-- O RECO assume o controle para cancelar o COMMIT e fazer um ROLLBACK em uma transação distribuída.

Observação: Vamos tentar decorar esses principais processos.
São no total 9 processos, e podemos chama-los de 522, que é 5-2-2, com isso sabemos a quantidade de processos, e como são divididos, então se a quantidade que lembrarmos não bater com a quantidade que existe, algo esta faltando.

As siglas são mais chatas, pois, são parecidas, contém muitas letras e podem confundir, minha dica é ligar o tipo de processo somente a primeira letra de cada sigla, desta forma diminui a quantidade de informação a lembrar. Pois se você reparar a primeira letra se repete apenas uma vez e os processos se encontram no mesmo nível, então não atrapalha tanto.

Em servidores com Linux e Unix, todos os processos do Oracle são processos de sistema operacional separados, cada um deles com um número de processo único. No Windows, existe apenas um processo de sistema operacional com o nome de Oracle.EXE para instância inteira, os processos do Oracle são executados como threads separadas dentro desse processo.

Será explicado cada um desses processos mencionados em posts separados.

Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo.

Abraço e bons estudos.

Comentários

Postagens mais visitadas deste blog

Conhecendo a arquitetura do Banco de Dados Oracle

#15 Vamos focar mais no ambiente de banco de dados mais comum, que é uma instância em um computador, abrindo um banco de dados armazenado em discos locais. Sempre que for mensionado instância, esta se referindo ao banco de dados em funcionamento. Um banco Oracle é composto por duas estruturas, uma lógica e uma física. A estrutura lógica é chamada de instância e composta por estruturas de memória e processos, a sua existência é temporária na memória RAM e CPU e fica ativa enquanto o banco Oracle estiver ligado, se desligar o banco Oracle toda a informação ou vestígios de sua existência será apagado da memória, ao ligar o banco Oracle a instância é carregada novamente na memória. Os processos que compõem a instância trabalham em segundo plano e fica ativo o tempo todo enquanto a instância estiver ativa. A estrutura física é onde fica armazenado as informações, e uma vez criado, ele existe até que o DBA deliberadamente decida exclui-lo. Quando um banco Oracle é iniciado, na me...

O Cache de Buffer do Banco de dados - Estruturas de Memória no Oracle

#21 Vamos conhecer um pouco mais sobre o Cache de Buffer de Dados. O Cache de Buffer de Dados é o local de trabalho do Oracle, é nessa área que ele executa as SQLs. A função dessa área é otimizar e melhorar o desempenho das instruções DML. O maior gargalo de um banco de dados é o I/O dos arquivos em disco. Mas antes de explicar como funciona o Cache de Buffer de Banco de dados, vamos entender rápidamente o que é bloco, desta forma você não fica perdido, os arquivos de dados que contém os registros que são as linhas da tabela, indices e outros objetos de dados são formatados em blocos de tamanho fixo, o DBA pode definir um tamanho para esses blocos ou deixar de forma automática. A quantidade de linhas por bloco é indefinida, pois, as linhas possuem comprimento variável, o comprimento desta linha dependerá do número de colunas e os tipos de informações definidos para a tabela. De acordo com tamanho das linhas, pode haver várias linhas por bloco ou uma linha pode se estender por vár...

Shared Pool - Estruturas de Memória no Oracle

#23 O Shared Pool é considerada umas das estruturas de memórias mais complexas da SGA, ela é dividida em dezenas de subestruturas e todas são gerenciadas internamente pelo Oracle. Mas nesse momento vamos citar apenas os 4 principais componentes desta estrutura, as demais serão analizadas posteriormente. Quando uma aplicação executa uma DML, vários processos internos no Oracle são realizados até o retorno do resultado para o usuário. E esses 4 componentes tem participação direta na execução da DML e com isso gerando um bom desempenho do banco de dados. Os 4 principais componentes são: - O Cache de Biblioteca - O Cache de Dicionário de Dados - A Área PL/SQL - O Cache de Resultados de Funções PL/SQL e Consultas SQL Agora, vamos conhecer um pouco mais de cada um. - O Cache de Biblioteca (library cache) Todas instruções DML enviadas pela aplicação devem ser analizadas pelo Oracle. Quem realiza essa análise é o parse, o parse converte o código escrito pelos progra...