Estruturas físicas de um banco de dados Oracle
Estruturas físicas
Estas estruturas podem ser vistas dentro do HD por meio de consultas. Um datafile (arquivo .dbf) é uma estrutura física de armazenamento. Os datafiles compõem as tablespaces e a soma dos seus tamanhos é o total de tamanho da tablespace. As unidades físicas são transparentes principalmente para os usuários, ou seja, o usuário geralmente não sabe em qual arquivo físico (.dbf) os dados estão alocados. Geralmente os datafiles armazenam os dados inseridos pelos usuários.
Outra estrutura física é o controlfile que é responsável pelo controle de funcionamento da base dados Oracle. Toda base de dados Oracle deve possuir pelo menos um controlfile, podendo chegar ao máximo de oito. Caso exista mais de um, servirão para redundância, pois as informações serão as mesmas. Os controlfiles fornecem informações para startup ou para shutdown, informando se os dois processos foram executados de maneira correta e síncrona. Os controlfiles também informam a localização dos datafiles para que o banco de dados possa ser aberto, além de armazenar informações como o nome do banco, data e hora de criação e o último checkpoint ocorrido com os datafiles.
Existem também os Redo Log Files (redologs) que armazenam as transações executadas e confirmadas com commit. O objetivo é permitir a maior recuperação de dados comitados. São o log de transações do banco de dados. Quando executamos um commit, os dados permanecem em memória, pois o acesso a ela é mais rápido do que o acesso a disco. Sendo assim, os dados comitados são gravados também nos Redo Logs para serem usados na recuperação em caso de perdas antes da sincronização com os datafiles.
Como os arquivos redolog funcionam de maneira circular alternando entre 3 arquivos, sendo que os dados são sobrescritos em determinado momento. Para evitar perda de dados, podemos colocar o banco de dados em modo Archive, onde um arquivo é gerado com a cópia dos redo a cada mudança de arquivo. O arquivo de Archive não é obrigatório no Oracle, porém é amplamente utilizado em ambientes de produção.
Unidades físicas
Os arquivos físicos podem ser armazenados de duas
formas diferentes:
- FILE SYSTEM (Sistema Operacional): é a opção padrão. O Oracle faz uma requisição para a gravação de arquivos ao SO, que gerencia através do seu Gerenciador de Volumes e grava em seu sistema de arquivos, que por sua vez, avisa ao Oracle que a gravação foi realizada.
- ASM
(Automatic Storage Management: Nesta configuração o Oracle controla o
acesso aos seus arquivos, sem passar pelo sistema operacional. O SO não
conhece os volumes que o Oracle gerencia, e nem sabe que existem arquivos
no espaço em disco destinado ao Oracle. Essa configuração evita que as
informações passem pelo SO, aumentando a performance do banco de dados.
Arquivos de parâmetros
São os arquivos lidos no momento
que um banco de dados sobe, ou seja, no momento em que ele fica operacional. São
exemplos de parâmetro a quantidade de memória, parâmetros de sessão, etc. Estes
parâmetros estão divididos em dois tipos de arquivo:
- SPFILE:
A instância do banco de dados lê esse arquivo no momento da inicialização.
Esse arquivo é binário e deixa os parâmetros persistentes.
- PFILE:
É um arquivo idêntico ao SPFILE, porém é um arquivo texto e pode ser
editado manualmente pelo usuário.
Um exemplo prático para facilitar
o entendimento é imaginar que necessite realizar um teste de performance no
banco de dados e ao invés de subir o banco com os 40% de memória padrão que o
Oracle utiliza, você queira utilizar 60% da memória disponível na máquina. Ao
invés de tornar o parâmetro permanente no SPFILE, posso apenas editar o PFILE e
mandar o banco iniciar lendo o PFILE. Desta forma, na próxima vez que o banco
iniciar, o banco lerá o SPFILE que não terá armazenado o parâmetro.
Há dois tipos de parâmetros:
- Estáticos
- necessita reinicialização
- Dinâmicos
- maioria dos parâmetros
Escopos:
- Na
memória - é alterado automaticamente, para isso necessita ser dinâmico
(Scope = Memory)
- Na
reinicialização - Alteração válida somente após reinicialização e não vai
estar em memória. Por mais que seja dinâmico, não desejo fazer no mesmo
momento (Scope = SPFILE)
- No
mesmo momento e persistente - devo trabalhar com um parâmetro dinâmico e
deixar sem escopo, pois ele tratará como padrão (Scope = Both)
Outros arquivos
- Passwordfile: Arquivo de
senhas criptografadas para autenticação no banco de dados. Muito útil para
conexões lentas ou situações em que se deseja acessar remotamente o banco
de dados.
- Arquivos de Backup:
Geralmente compostos de DBFs, controlfiles, archivelogs e os arquivos de
inicialização.
- Arquivos de Log: São os
arquivos TRACE, ou .trc, que servem para monitorar
o banco de dados. São arquivos de sistema.
- Arquivos de Alerta: Alert
Logs, são arquivos de alerta automáticos de todas as situações que ocorrem
nos bancos de dados. Devem ser verificados com frequência.
Referências
Mafra, Felipe. O curso completo de banco de dados e SQL, sem mistérios! Disponível em: <https://www.udemy.com/course/bancos-de-dados-relacionais-basico-avancado/>

Comentários
Postar um comentário