Olá pessoal, hoje abordaremos as estruturas de armazenamento no ambiente Oracle. Espero q apreciem…
INTRODUÇÂO
Em um Servidor Oracle, o banco de dados em sí é composto por vários arquivos no disco e consiste em estruturas de armazenamento físicas e lógicas.
Os arquivos que compõe o banco de dados são categorizados em dois grupos: Arquivos de Banco de Dados por armazenarem Dados e Metadados e os Arquivos Não Banco de Dados por armazenarem Parâmetros de Inicialização, informações de Logs, etc..
O modelo relacional das estruturas de armazenamento utilizado pelo Oracle Database é mostrado na figura. Esta é um diagrama de entidade-relacionamento que utiliza-se da notação Engenharia de Informações para demonstrar o relacionamento “um–para–muitos” entre as entidades, nas respectivas estruturas.
Com esta divisão (ou separação) do armazenamento no servidor, o armazenamento físico dos dados pode ser gerenciado sem afetar o acesso às estruturas lógicas.
A Estrutura Lógica é formada pelas entidades Tablespace, Segment, Extent e Oracle data block, enquanto que a Estrutura Física pelas entidades Data Files e OS Block (blocos do Sistema Operacional).
ESTRUTURAS FÍSICAS DE ARMAZENAMENTO
Na estrutura física, o banco de dados é composto de por vários tipos arquivos; três são obrigatórios: Arquivo de Dado, Arquivo de controle e Arquivo de redo log. Os arquivos externos que normalmente estarão presentes são: Arquivo de Parâmetros, Arquivo de Senhas e Arquivo de Redo Log Arquivado.
Arquivo de Dados – Data File:
Os arquivos de dados são os maiores arquivos em um banco de dados Oracle. Eles armazenam todos os dados inseridos no banco de dados, bem como os de dados necessário para que o SGDBR Oracle possa gerenciá-lo. Tais arquivos de dados, existem mesmo se o banco de dados está em uso ou não, ou seja, aberto ou fechado. Conforme vimos na primeira figura deste post – Storage Structures – cada arquivo de dados está contido em uma única tablespace, porém uma única tablespace pode conter mai
s de um arquivo de dados.
Em versões anteriores ao Oracle database 10g, pelo menos um arquivo de dados deveria ser criado. A partir desta versão, quando um banco de dados é criado, pelo menos dois arquivos de dados são criados: um para o tablespace SYSTEM (armazena o dicionário de dados) e um outro para o tablespace SYSAUX (armazena os dados que auxiliam o dicionário de dados).
A figura, mostra, através da consulta da VIEW V$DATAFILE, os dois arquivos de dados criados em uma instalação 11g: SYSTEM01 E SYSAUX01.
A figura, mostra, através da consulta da VIEW V$DATAFILE, os dois arquivos de dados criados em uma instalação 11g: SYSTEM01 E SYSAUX01.
Arquivo de controle – Control File:
O arquivo de controle é de extrema importância por manter os metadados do banco de dados. Ele é validado na inicialização do banco conten
do informações, tais como: Nome do banco de dados e o seu identificador (SID), Timestamp de criação do BD, Nomes das tablespaces.
Nomes e as localizações dos arquivos de dados e de redo log online, Informações sobre checkpoints, de recuperação, de backup, dentre outras. Por ele ser muito crítico para a operação do banco de dados, a recomendação é de manter cópias multiplexadas (cópias em diferentes discos) do mesmo.
Nomes e as localizações dos arquivos de dados e de redo log online, Informações sobre checkpoints, de recuperação, de backup, dentre outras. Por ele ser muito crítico para a operação do banco de dados, a recomendação é de manter cópias multiplexadas (cópias em diferentes discos) do mesmo.
Os arquivo de controle é um arquivo binário com extensão “CTL”. A figura mostra uma consulta da VIEW V$CONTROLFILE, listando o nome e o status de todos os arquivos de controle associados à instância.
Arquivos de redo log – Redo Log Files:
Os arquivos de redo log armazenam todas as alterações realizadas nos ban
cos de dados como resultado das transações e das atividades internas do Oracle.
Com isto, os arquivos de redo log contêm todas as informações necessárias para recuperar dados perdidos em seu banco de dados.
Cada instrução SQL que você emitir a alteração de dados pode ser reconstruído pela informação guardada nesses arquivos.
Com isto, os arquivos de redo log contêm todas as informações necessárias para recuperar dados perdidos em seu banco de dados.
Cada instrução SQL que você emitir a alteração de dados pode ser reconstruído pela informação guardada nesses arquivos.
Os arquivos de redo log são arquivos binários nomeados com a extensão “LOG” e são organizados em grupos e membros. Cada banco de dados deve ter pelo menos dois grupos de redo log. Também, para o arquivo de redo log, a recomendação é de manter cópias multiplexadas do mesmo.
Arquivos de Parâmetros – Parameter Files:
São arquivos que contêm valores de parâmentros de inicialização, utilizados para definirem recursos do banco de dados, os limites quanto aos tamanhos das várias estruturas na System Global Area (SGA) e também quanto à quantidade de usuários que podem se conectar ao banco de dados simultaneamente.
Arquivo de Senhas - Password File: Arquivo dentro da estrutura adminstrativa ou de diretório do software Oracle, que armazena informações de autenticação de usuários que possuem permissão para inicializar ou efetuar shutdown no banco de dados.
Arquivos de Redo Log Arquivados - Archived Redo Log Files:
Estes arquivos são cópias off-line dos arquivos de redo log. Em processo (s) de recuperação de falhas são extremante necessários.
ESTRUTURAS LÓGICAS DE ARMAZENAMENTO
Um banco de dados Oracle é composto por unidade lógicas, tornando possível e eficiente a administração do armazenamento físico dos dados. Abaixo, uma breve descrição dos compoentes de forma resumida:
Tablespace - Espaço de Tabela:
No Oracle, todos os dados no banco de dados são armazenados, de forma lógica, em Tablespace (ou espaço de tabela), que consiste de um ou mais arquivos de dados (estruturas físicas). Na tablespace, contêm os segmentos que são as estruturas lógicas do banco de dados, como tabelas e índices. Esta divisão lógica ajuda a administrar uma parte do banco de dados sem afetar as outras. Cada banco de dados pode ter uma ou mais tablespaces.
Segment – Segmento:
Agrupamento de extensões no banco de dados abran-gendo um objeto, tratado pelo Oracle, como uma unidade, por exemplo, uma tabela ou índice.
Esta, normalmente, é a menor unidade de armazenamento com a qual um usuário final do banco de dados lidará.
Há quatro tipos de segmentos encontrados em um banco de dados Oracle: segmentos de dados, segmentos de índices, segmentos temporários e segmentos de rollback.
Esta, normalmente, é a menor unidade de armazenamento com a qual um usuário final do banco de dados lidará.
Há quatro tipos de segmentos encontrados em um banco de dados Oracle: segmentos de dados, segmentos de índices, segmentos temporários e segmentos de rollback.
Extents – Extensões:
É o próximo nível da estrutura lógica; são formados por um agrupamento de blocos contíguos.
Oracle data blocks - bloco de dados do Oracle:
Menor estrutura de armazenamento, porém o seu tamanho é normalmente um múltiplo do tamanho de um bloco do sistema operacional; isto ajuda no desempenho da I/O.
O bloco corresponde a um número específico de bytes, baseado no parâmetro DB_BLOCK_SIZE determinado quando o banco de dados é criado.
O bloco corresponde a um número específico de bytes, baseado no parâmetro DB_BLOCK_SIZE determinado quando o banco de dados é criado.
Finalizo aqui e espero que este humilde resumo tenha sido proveitoso e útil a todos. Comentários são sempre bem vindos.
[]’s e obrigado.
Juliano Ramalho.
Referências: - Oracle Essentials - Oracle Database 11g – 4ª Ed. Rick Greenwald,
- Oracle Database 11g The Complete Reference – Kevin Loney
- Oracle Database 11g DBA Handbook - Bob Bryla and Kevin Loney
- Introduction to Oracle Database - Oracle® Database Concepts 11g Release 2 (11.2)
Muito bom!!!! Conteúdo excelente, figuras, exemplos, referências impecáveis. Muito obrigada!
ResponderExcluirOlá Fabiana,
ResponderExcluirObrigado pela visita e bons estudos.
[]'s
Juliano Ramalho