#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 memória é alocado um espaço de memória compartilhada conhecida como SGA (System Global Area), a SGA pode ser usada tanto para processos de primeiro plano, quanto para processos de segundo plano, esse espaço de memória pode ser redimensionado automaticamente ou de acordo com solicitação do DBA e esse redimensionamento pode ocorrer enquanto a instância estiver em execução.
A comunicação entre o usuário e o banco de dados é realizado atravez de sessões, a sessão é composta por processos do usuário que se conecta a processos do servidor. Para cada processo do servidor é alocado uma área de memória não compartilhavel chamada de PGA (Program Global Area), a PGA é uma área de memória privada para a sessão do usuário, processos que rodam em segundo plano também recebem uma área PGA, a tamanho desta área pode variar de acordo com necessidade de cada sessão, o DBA pode definir um limite superior para o total de todas as PGAs, mas o Oracle gerencia automaticamente a alocação dessas áreas para cada sessão.
Os arquivos físicos são compostos obrigatoriamente por três tipos de aquivos, que são os Arquivos de Dados (Data Files), Arquivos de Redo Log (Redo Log Files) e arquivo de Controle (Control Files). Programadores e desenvolvedores não conseguem saber em qual arquivo uma determinada tabela esta localizado, eles conseguem enxergar somente a estrutura Lógica, somente os DBAs podem e precisam ver os dois lados do banco de dados, o físico e o lógico. O relacionamento entre a estrutura física e lógica é documentada e mantida no dicionário de dados, o dicionário de dados possui metadados com informações que descrevem todo o banco de dados, e através de consultas sobre determinadas views o DBA consegue localizar a estrutura física de cada tabela do banco de dados. O dicionário de dados é um conjunto de tabelas armazenados no banco de dados, com isso gera um problema de recursividade, pois, a instância precisa ter conhecimento das estruturas físicas e lógicas do banco de dados e essas informações estão localizadas dentro do banco de dados, então é ai que entra a necessidade do Arquivo de Controle (Control Files), o Control Files é o primeiro arquivo a ser lido quando o banco de dados é inicializado, dentro do Control Files existem as primeiras instruções de inicialização e informações que a instância pode usar para se conectar ao banco de dados e ao dicionário de dados dentro dele, em um banco Oracle é recomendado que exista mais de um Control Files para segurança em casos de problema existe uma cópia.
O terceiro arquivo é o Redo Log, o Redo Log é um registro sequencial de todos os vetores de alteração (Change Vectors), pois, sempre que uma sessão de usuário executa uma instrução DML (INSERT, UPDATE, DELETE) e os dados no bloco de dados são alterados, o vetor de alteração é escrito em paralelo no Redo Log, de forma que o torna repetível. Desta forma se ocorrer um dano no Arquivo de Dados, um backup do arquivo pode ser restaurado e o Oracle extrairá os vetores de alteração relevantes do Redo Log e os aplicará aos blocos de dados dentro do arquivo, garantindo assim a integridade das informações.
Esse é um resumo das principais partes da arquitetura do Banco de Dados Oracle, agora vamos conhecer cada uma destas partes de forma separada.
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
Postar um comentário