Tradutor

segunda-feira, 10 de junho de 2013

Banco de Dados Oracle






O servidor de banco de dados Oracle, consiste em uma ou mais instancias + databases, podemos dizer que a instância são vários processos em background e na memória e os databases são formados pelo data files, control files, redo file, archive log, etc. A famosa SGA (System Global Area) – área responsável por compartilhar todos os processos do servidor e de background, compartilhando dados e informações de controle para a instância. Dentro da SGA, encontramos database buffer cache, Redo Log buffer, Java pool, Streams Pool, Large Pool e Shared Pool. Ao lado vemos o PGA (Program Global Area), uma área privada de cada processo do servidor e de background, existe uma PGA para cada processo – O volume de memória PGA usada e de seu conteúdo varia se a instancia estiver configurado em modo de servidor compartilhado.
E na parte de baixo o famoso DATABASE (data files, Control files, Archive log, Online redo Log files), é onde fica fisicamente os arquivos no sistema operacional.
Toda vez que uma instancia é iniciada uma área de SGA é alocada, os processos em background são iniciados e é montado o database. O próximo passo é o usuário se conectar na base, nesse momento ocorre a connection que é o processo do usuário se conectar na instancia, após este processo o usuário estabelece a session e neste momento ele interage com a instancia. A connection é feita com o User Process (do lado do usuário) e com o Server process (do lado do servidor).
Database Buffer Cache: esta parte do SGA contém blocos de dados que são lidos dos data files. Como a área é compartilhada qualquer usuário conectado simultaneamente, poderá utilizar estes blocos. A principal funcionalidade do database Buffer Cache é não deixar fazer O/I de disco.
Redo Log Buffer: Utilizada para registrar alterações feitas no banco de dados. A PRINCIPAL funcionalidade é de tornar possível refazermos uma determinada transação que possa ter sofrido algum tipo de problema.
Shared Pool: utilizada para armazenar o dicionário de dados, comandos executados recentemente de SQL e PL/SQL, cache de resultado da função, buffer de mensagens de execução paralela e estruturas de controle.

O banco de dados Oracle possui um ou mais data files, mais o que é isso ? Esse carinha é o que guardar os dados do banco de dados, os dados das estruturas das tablespaces (estrutura lógica) são fisicamente armazenados nos data files.
Control file (arquivo de controle): É um pequeno binário que faz parte de um banco de dados Oracle. O control file é usado para rastrear o status do banco de dados e a estrutura física. Cada banco Oracle deve ter pelo menos um arquivo de controle. É recomendado criar mais de um control file, e utilizar a multiplexação (separar os arquivos em diferentes discos/partição), outra recomendação também é deixar o redo online também em diferentes discos. Desta maneira, você minimiza o risco em caso de falha de disco.
Online Redo Log files: Permite uma recuperação de instância do banco de dados. Se o banco de dados travar e não perder arquivo de dados algum, a instância poderá recuperá-lo com as informações desses arquivos. A estrutura do redo online é física no banco de dados Oracle, é o responsável por tornar possível refazer (redo) uma transação que possa ter dado alguma indisponibilidade. Ele armazena informações de transações tanto as antigas e as novas.
Database Write Process (DBWn): O processo Database Write Process, escreve o buffer sujo (dirty) no cache do Database Buffer Cache para o data file. É gravado de forma assíncrona, periodicamente até o ponto de verificação.
LogWriter Process (LGWR): Este processo é o responsável pela gestão do redo log buffer, escrevendo as entradas do redo Log Buffer no Online redo log files. É executado quando uma transação recebe o commit (confirmação), quando o buffer do redo log esta em usando 1/3 do total de espaço, a cada 3 segundo e antes do DBW escrever no buffer do data file.
Checkpoint Process (CKPT): É um processo em background do Oracle que utiliza timestamps, que marca todos os datafiles e control files (usando o DBWn e LOGWR) para indicar um ponto de recuperação, em caso de falhas será possível a recuperação. A estrutura de dados define um número de modificações no sistema (SCN).
System Monitor Process (SMON): Processo que executa a recuperação, se necessário na inicialização da instância. Também é responsável pela limpeza dos segmentos temporários, que não estão em uso e que estão aglutinando nas extensões próximas que estão livres dentro do dicionário.
Process Monitor Process (PMON): O monitor de processo realiza o processo de recuperação, quando um processo do usuário falhar. É responsável pela limpeza do cache no buffer no banco de dados e libera recursos que o processo do usuário estava utilizando.
Archiver Processes (ARCn): Este processo copia os dados do redo log files e armazena dentro do Archived Log file, após o registro do switch. Só irá funcionar este processo de ARC se o banco de dados estiver no modo ARCHIVELOG mode e se o arquivamento estiver ativado automaticamente. Uma instancia oracle pode ter até 10 processos Arc. O processo LGWR inicia um processo Arc novo sempre que o número atual de processos Arc for insuficiente para lidar com a carga de trabalho.



Nenhum comentário:

Postar um comentário